我正在使用C语言编写一个UDP客户端服务器应用程序; 当依赖关系发生变化时,我想自动编译2个源文件和3个头文件,因此我决定使用make工具。
makefile的目标称为"edit":
edit : server_UDP.o client_UDP.o \
gcc -o edit server_UDP.o client_UDP.o \
client_UDP.o : client_UDP.c cliHeader_UDP.h wrapHeader.h
gcc -c client_UDP.c
server_UDP.o : server_UDP.c servHeader_UDP.h wrapHeader.h
gcc -c server_UDP.c
当我在wrapHeader.h中更改几行代码时,它不会触发重新编译。
当wrapHeader.h发生更改时,如何修改编辑makefile规则以重新编译server_UDP和client_UDP?
**注意:wrapHeader.h是主头文件。
cliHeader_UDP.h:包括“wrapHeader.h”
servHeader_UDP.h:包括“wrapHeader.h”
gcc
还是Gnumake
都有一个极好的功能集,当它们一起设置工作时,将会精确地做到您想要的事情。gcc -MM
编译器开关将几乎为您生成一个与make
兼容的目标。有关如何完成此操作以及一些示例代码,请参阅gnu make的在线文档此网站,特别注意此部分。 - WhozCraig