nmake的完整命令行参数为:
nmake [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]
或者
nmake @commandfile//commandfile是存储命令行参数的文本文件。
options:选项使用/或-作为其前缀,选项名不区分大小写。
makefile示例:
OUTDIR = debug
all:$(OUTDIR) $(OUTDIR)\start.exe
$(OUTDIR):
if not exist "$(OUTDIR) /$(NULL)" mkdir $(OUTDIR)
$(OUTDIR)\start.obj: start.c
cl -c -DCRTAPI1=_cdecl -DCRTAPI2=_cecl -nologo -GS -D_X86_=1 -DWIN32 -D_WIN32 -W3 -D_WINNT -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500 -DWINVER=0x0500 -D_MT -MTd /Gz /Fo"$(OUTDIR)\\" /Fd"$(OUTDIR)\\" start.c
$(OUTDIR)\start.exe: $(OUTDIR)\start.obj
link /INCREMENTAL:NO /NOLOGO -subsystem:console,5.0 -out:$(OUTDIR)\start.exe $(OUTDIR)\start.obj
上面是一个简单的makefile文件,它只是检查依赖项,并根据需要生成相应的目录及文件。start.c的内容是最基本的hello world 程序。
sdk中一般提供了一个win32.mak文件,该文件包含了一些基本的宏定义和公共设施。
makefile预处理
!include[<]filename[>]:包含makefile文件。nmake首先在指定或当前目录中搜索filename,如有尖括号则在INCLUDE环境变量或宏指定的目录中寻找。