日期:2014-05-16  浏览次数:20740 次

linux 下的makefile问题
目录DIR
 --------------目录A
                      |____________add.c add.h sub.c sub.h  Makefile
---------------目录B
                      |____________mul.c mul.h dev.c dev.h   Makefile
----------------main.c
----------------Makefile
这是大的Makefile
 m : main.o add.o sub.o mul.o div.o
 gcc $^ -o $@

main.o:main.c ./A/add.h ./A/sub.h ./B/mul.h ./B/div.h
 gcc -c main.c -o main.o
add:
 cd ../A && $(MAKE)
mul:
 cd ../B && $(MAKE)
clean :
 rm -r *.o m 
这是我写的主目录的makefile》。。。提示错误信息

make: *** No rule to make target `add.o', needed by `m'.  Stop.

有什么方法改正
------解决方案--------------------
目标文件add.o,下面应该也对应
add.o:关联文件
  生成语句
我觉得你应该写几个小make,
然后shell脚本一起执行,写个大MAKE 的不懂。。。。