【发布时间】:2014-07-08 02:33:31
【问题描述】:
我正在用 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 发生更改以重新编译 server_UDP 和 client_UDP 时,如何修改编辑 makefile 规则?
**note : wrapHeader.h 是主标题
cliHeader_UDP.h:包括“wrapHeader.h”
servHeader_UDP.h:包括“wrapHeader.h”
【问题讨论】:
-
gcc和 Gnumake都有一个 fantastic 功能集,当设置为彼此协同工作时,将完全按照您的要求进行.gcc -MM编译器开关将几乎 为您生成一个make兼容的目标。有关如何完成此操作的信息以及一些要试用的示例代码,请参阅 gnu make at this website 的在线文档,特别注意 this section。