windows下的nmake的makefile编写

来源:互联网 发布:行业数据分析 编辑:程序博客网 时间:2024/05/09 12:57

windows下的nmake的makefile编写




当前所指定的当前目标的全名(路径、基名称、扩展名)。

当前所指定的当前目标的全名(路径、基名称、扩展名)。仅在作为依赖

项中的依赖项时有效。

当前目标的路径和基名称,没有文件扩展名。

当前目标的所有依赖项

$@     当前所指定的当前目标的全名(路径、基名称、扩展名)。

$$@      当前所指定的当前目标的全名(路径、基名称、扩展名)。仅在作为依赖项中的依赖项时有效。

$*        当前目标的路径和基名称,没有文件扩展名。
$**       当前目标的所有依赖项


$?       时间戳比当前目标的时间戳晚的所有依赖项。
$<      时间戳比当前目标的时间戳晚的依赖文件。仅在推理规则的命令中有效。



SRCS = test.cpp add.cppOBJS = test.obj add.objall: a.exe#test.obj: test.cpp#cl /c /EHsc $(SRCS)#add.obj: add.cpp#cl /c /EHsc add.cpp#test.exe: $(OBJS)#link /out:test.exe test.obj add.obja.exe:$(OBJS)link /out:.\a.exe $**.cpp.obj::cl /c $<clean:del *.obj *.exe


推理规则:

.fromext .toext:

command

编译所有.cpp文件可以写成

.cpp.obj:

cl  /c  $<

.cpp.obj::     后边两个冒号代表批量处理, 即只有一个cl  ,    cl  /c  a.cpp  b.cpp c.cpp......

  cl /c $<

若是需要制定目录下面的,可以写成

{$(indir)}.cpp{$(outdir)}.obj      即用{}代表需要制定的目录



/Fo"   " 指定输出的目录

0 0