Linux下C语言编程基础知识[6]

  Makefile有三个非常有用的变量。分别是$@,$^,$<代表的意义分别是:

  $@–目标文件,$^–所有的依赖文件,$<–第一个依赖文件。

  如果我们使用上面三个变量,那么我们可以简化我们的Makefile文件为:

  # 这是简化后的Makefile  main:main.o mytool1.o mytool2.o  gcc -o $@ $^  main.o:main.c mytool1.h mytool2.h  gcc -c $<  mytool1.o:mytool1.c mytool1.h  gcc -c $<  mytool2.o:mytool2.c mytool2.h  gcc -c $<

  经过简化后我们的Makefile是简单了一点,不过人们有时候还想简单一点。这里我们学习一个Makefile的缺省规则

  .c.o:  gcc -c $<

  这个规则表示所有的 .o文件都是依赖与相应的.c文件的。例如mytool.o依赖于mytool.c这样Makefile还可以变为:

  # 这是再一次简化后的Makefile  main:main.o mytool1.o mytool2.o  gcc -o $@ $^  .c.o:  gcc -c $<

  好了,我们的Makefile 也差不多了,如果想知道更多的关于Makefile规则可以查看相应的文档。

[1] [2] [3] [4] [5] [6] [7] [8] [9]

理想的路总是为有信心的人预备着

Linux下C语言编程基础知识[6]

相关文章:

你感兴趣的文章:

标签云: