echo "Hello, World" echo "This line will print if the file hello does not exist."
复制代码
我们有一个名为 hello 的目标
该目标有两个命令
该目标没有先决条件
然后我们将运行 make hello。 只要hello文件不存在,命令就会运行。 如果hello存在,则不会运行任何命令。
让我们创建更典型的Makefile:编译单个C文件。
blah.c
int main() { return 0; }
复制代码
然后创建 Makefile(一如既往地称为 Makefile):
blah:
cc blah.c -o blah
复制代码
运行make,由于没有将目标作为参数提供给make命令,因此将运行第一个目标。 在这种情况下,只有一个目标(blah)。 第一次运行它时,将会创建blah。 第二次,你会看到“make: 'blah' is up to date”。 那是因为blah文件已经存在。 但有一个问题:如果我们修改blah.c 然后运行make,则不会重新编译任何内容。
我们通过添加先决条件来解决这个问题: