タイトルはちょっと盛った。
C言語のHello WorldのファイルをVisual Studioのコンパイラでmakeする
#include "stdio.h" void main(void) { printf("Hello World\n"); }
参考にしたサイト
makefile と nmake ~ makefile を読み解く - C/C++ による Windows プログラミング入門講座 - C/C++ 入門
TARGETNAME=test_make
OUTDIR=obj
CC=cl.exe
LINK=link.exe
ALL: $(OUTDIR)\$(TARGETNAME).exe
$(OUTDIR) :
@if not exist $(OUTDIR) mkdir $(OUTDIR)
CPPFLAGS=\
/nologo\
/W3\
/Fo"$(OUTDIR)\\"\
/Fd"$(OUTDIR)\\"\
/c\
/Zi\
/D_WIN32_WINNT=0x0600\
/DUNICODE\
/D_UNICODE
LINK32_FLAGS=\
/nologo\
/subsystem:console\
/pdb:"$(OUTDIR)\$(TARGETNAME).pdb"\
/out:"$(OUTDIR)\$(TARGETNAME).exe"\
/DEBUG
LINK32_OBJS=\
$(OUTDIR)\$(TARGETNAME).obj
$(OUTDIR)\$(TARGETNAME).exe : $(OUTDIR) $(LINK32_OBJS)
(LINK) $(LINK32_FLAGS) $(LINK32_OBJS)
.c{$(OUTDIR)}.obj:
$(CC) $(CPPFLAGS) $<
clean:
-@erase /Q $(OUTDIR)\*
上記のファイルで obj フォルダ下に test_make.exe というファイルが作成される。
nmake を実行する場合は以下のバッチをたたく
@echo off call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"