makefile:多个目录下makefile 的写法
发布网友
发布时间:2022-05-26 08:35
我来回答
共1个回答
热心网友
时间:2023-10-09 16:27
1、假定.h文件在Header目录里,.c文件在Source目录里,这两个目录文件在Myapp中,Makefile也在Myapp中。
2、Makefile如下。
----------------------------------------------------------------------------------
all: myapp
myapp: main.o b.o c.o
gcc -o myapp main.o b.o c.o
main.o: ./Source/main.c ./Header/a.h
gcc -c ./Source/main.c -I./Header
b.o: ./Source/b.c ./Header/a.h ./Header/b.h
gcc -c ./Source/b.c -I./Header
c.o: ./Source/c.c ./Header/b.h ./Header/c.h
gcc -c ./Source/c.c -I./Header
clean:
rm -f *.o
------------------------------------------------------------
3、话说回来,这样做太麻烦。追问是的这样确实有点麻烦,我的意思是可以设计一个变量,可惜不会弄
追答其实目录文件没必要按头文件和源文件来分,因为这样让Makefile很难写。
最好是将有依赖关系的头文件和源文件放在一个目录文件里,也就是按不同的project来分目录,就不会出现这种问题。