• 另类风格的makefiles

    另类风格的makefiles

    既然我们的make可以自动推导命令,那么我看到那堆 .o.h 的依赖就有点不爽,那么多的重复的 .h ,能不能把其收拢起来,好吧,没有问题,这个对于make来说很容易,谁叫它提供了自动推导命令和文件的功能呢?来看看最新风格的makefile吧。

    1. objects = main.o kbd.o command.o display.o \
    2. insert.o search.o files.o utils.o
    3.  
    4. edit : $(objects)
    5. cc -o edit $(objects)
    6.  
    7. $(objects) : defs.h
    8. kbd.o command.o files.o : command.h
    9. display.o insert.o search.o files.o : buffer.h
    10.  
    11. .PHONY : clean
    12. clean :
    13. rm edit $(objects)

    这种风格,让我们的makefile变得很简单,但我们的文件依赖关系就显得有点凌乱了。鱼和熊掌不可兼得。还看你的喜好了。我是不喜欢这种风格的,一是文件的依赖关系看不清楚,二是如果文件一多,要加入几个新的 .o 文件,那就理不清楚了。