C 基本Makefile和头依赖项
我对makefile还不熟悉,有点卡住了。我有两个名为trade.c和report.c的c源文件。它们都依赖于一个名为acc.h的文件。acc.h文件由另外两个头文件组成,即users.h和resolders.h。我想知道如何将两个头文件的依赖关系写入acc.h文件。我到目前为止C 基本Makefile和头依赖项,c,header,makefile,C,Header,Makefile,我对makefile还不熟悉,有点卡住了。我有两个名为trade.c和report.c的c源文件。它们都依赖于一个名为acc.h的文件。acc.h文件由另外两个头文件组成,即users.h和resolders.h。我想知道如何将两个头文件的依赖关系写入acc.h文件。我到目前为止 OBJECTS = trade.c report.c CC = gcc trading: $(OBJECTS) $(CC) $(OBJECTS) -o trading trade.o: trade.
OBJECTS = trade.c report.c
CC = gcc
trading: $(OBJECTS)
$(CC) $(OBJECTS) -o trading
trade.o: trade.c accts.h
$(CC) -c trade.c
report.o: report.c accts.h
$(CC) -c report.c
非常感谢您的帮助 除了在对象文件的依赖项列表中添加所有头文件之外,您别无选择,如下所示
trade.o: trade.c accts.h users.h resellers.h
$(CC) -c trade.c
除了在对象文件的依赖项列表中添加所有头文件之外,您别无选择,如下所示
trade.o: trade.c accts.h users.h resellers.h
$(CC) -c trade.c
在我所见过的makefiles的所有专业设置中,依赖项都不是手动添加的——涉及工具的特殊情况除外,如
lex
和yacc
——而是使用编译器的选项(如gcc的-MM)自动创建的,或者在我所见过的所有专业设置中,通过使用各种独立工具,如makedepend
或mkdep
,这些依赖项不是手动添加的,除非是涉及lex
和yacc
等工具的特殊情况,而是自动创建的,可以使用编译器的选项(如gcc的-MM),也可以使用各种独立工具,如makedepend
或mkdep
当然可以,但这不是在专业环境中设置makefile的人;这是一个正在学习如何使用make的人。在你开始使用自动工具之前,要知道如何手动操作,这样你才能更好地理解为什么以及它们是如何工作的,并且可能会失败;这是一个正在学习如何使用make的人。在您开始使用自动工具之前,请先了解如何手动操作,以便更好地了解它们工作的原因和方式,以及它们可能失败的原因。