makefile隐式命令中的目标是什么

时间:2014-05-27 18:11:06

标签: makefile

任何人都可以通过一些隐式规则告诉我下面的make文件中的目标是什么。 我在网上搜索了很多,但没有发现任何有用的信息。如果有人解释makefile中的目标,构造命令,依赖项和宏,那将会很愉快。

COBJECTS = menu.o users.o resellers.o propspects.o
HFILES = menu.h

leads: $(COBJECTS)
    gcc -o leads $(COBJECTS)

menu.o users.o resellers.o prospects.o: $(HFILES)

2 个答案:

答案 0 :(得分:1)

该makefile中定义的唯一真正有意义的目标是leads。这也恰好是默认目标,因此makemake leads会做同样的事情。

作为构建leads目标所必需的规则的一部分,还存在其他目标,但这些目标都是内部默认设置,并且手动运行并不是很有趣。

在其他可能的目标列表中(以及在完全无趣的一群中更有趣的目标之一)是:

  • menu.o
  • users.o
  • resellers.o
  • prospects.o

答案 1 :(得分:1)

在这条规则中:

leads: $(COBJECTS)
    gcc -o leads $(COBJECTS)

目标 leads ,先决条件为 $(COBJECTS) ,命令为 gcc -o leads $(COBJECTS)

在这条规则中:

menu.o users.o resellers.o prospects.o: $(HFILES)

目标是 menu.o users.o resellers.o prospects.o ,先决条件是 $(HFILES) 。它没有命令。