我为一些源代码读了一个makefike,但在理解它时遇到了一些问题

时间:2014-01-06 02:01:28

标签: makefile

C=edgelist.c geometry.c heap.c main.c memory.c output.c voronoi.c 
O=edgelist.o geometry.o heap.o main.o memory.o output.o voronoi.o

tt: voronoi t
    voronoi -t <t >tt
voronoi: $O
    cc -o voronoi $O -lm
$O:vdefs.h

voronoi.tar : $C vdefs.h Makefile Doc t
    tar -cf voronoi.tar $C vdefs.h Makefile Doc t

mailable:   $C vdefs.h Makefile t
    bundle $C vdefs.h Makefile t > mailable

有些机构可以为我解释一下吗?

voronoi.tar是所有源代码的tar存档。这里关于voronoi.tar的行有什么影响?

和可邮寄的相关行会产生什么影响?

1 个答案:

答案 0 :(得分:1)

缩进行是将要执行的行。 $ C将扩展到顶部给出的.c文件列表。首先,它将检查依赖项($ C文件,vdefs.h,Makefile,Doc和t)是否比voronoi.tar更新。如果它们(或者如果voronoi.tar尚不存在),它将(重新)压缩文件到存档中。如果不是,它就什么都不做。