另类风格的makefiles
既然我们的make可以自动推导命令,那么我看到那堆 .o
和 .h
的依赖就有点不爽,那么多的重复的 .h
,能不能把其收拢起来,好吧,没有问题,这个对于make来说很容易,谁叫它提供了自动推导命令和文件的功能呢?来看看最新风格的makefile吧。
- objects = main.o kbd.o command.o display.o \
- insert.o search.o files.o utils.o
- edit : $(objects)
- cc -o edit $(objects)
- $(objects) : defs.h
- kbd.o command.o files.o : command.h
- display.o insert.o search.o files.o : buffer.h
- .PHONY : clean
- clean :
- rm edit $(objects)
这种风格,让我们的makefile变得很简单,但我们的文件依赖关系就显得有点凌乱了。鱼和熊掌不可兼得。还看你的喜好了。我是不喜欢这种风格的,一是文件的依赖关系看不清楚,二是如果文件一多,要加入几个新的 .o
文件,那就理不清楚了。