Makefile 如何将target.o文件添加到openssl构建中要链接的对象中?

Makefile 如何将target.o文件添加到openssl构建中要链接的对象中?,makefile,openssl,Makefile,Openssl,我正在添加一个模块apps/trace.c,以便在构建openssl库时编译到openssl程序中。其目的是使用gcc-finstrument functions compile选项保存函数调用的跟踪列表,如下所述 实际上,我已经成功地手动修改了自动生成的“Makefile”,并添加了trace.o,如下所示: apps/openssl: apps/trace.o apps/app_rand.o apps/apps.o ... $(RM) apps/openssl $(MAKE

我正在添加一个模块apps/trace.c,以便在构建openssl库时编译到openssl程序中。其目的是使用gcc-finstrument functions compile选项保存函数调用的跟踪列表,如下所述

实际上,我已经成功地手动修改了自动生成的“Makefile”,并添加了trace.o,如下所示:

apps/openssl: apps/trace.o apps/app_rand.o apps/apps.o ...
    $(RM) apps/openssl
    $(MAKE) -f $(SRCDIR)/Makefile.shared -e \
        PERL="$(PERL)" SRCDIR=$(SRCDIR) \
        APPNAME=apps/openssl OBJECTS="apps/trace.o apps/app_rand.o apps/apps.o ..." \
        LIBDEPS='$(PLIB_LDFLAGS) '" -L. -lssl -L. -lcrypto"' $(EX_LIBS)' \
        CC='$(CC)' CFLAGS='$(CFLAGS) $(BIN_CFLAGS)' \
        LDFLAGS='$(LDFLAGS)' \
        link_app.
但是,下次运行configure时,当再次自动生成Makefile时,手动更改将被覆盖


我不太清楚如何将
跟踪
对象文件配置到更高级别的编译中。这就是我的问题。

openssl有自己的配置系统(请参阅
config
Configure
脚本)。此配置系统生成makefile。试着了解它是如何工作的,它的选项(文件有很好的文档记录)以及如何调整它以集成您自己的附加组件。注意:我想你已经知道了,但是你试图做的可能完全破坏了openssl的安全性。我认为你应该修改
Makefile.orig
文件。在配置过程中,它们被复制到
Makefile
。有多个Makefile,因此您可能希望
查找-iname'Makefile*'
。OpenSSL wiki可能会提供一个页面,介绍如何执行类似操作(例如添加源文件以构建新引擎)。