Visual C++ 8.0 Makefile 예제

커맨드 라인을 자주 이용하는 나는..
Visual Studio 6.0 이후부터는 “Export Makefile” 메뉴를 지원하지 않는다는 별로 반갑지 않은 글을 보고야 말았다. 젠장!!
고로 Makefile 샘플하나씩 가지고 있으면 좋을것이다.
아래는 직접 작성한 “Xtreme Tool Kit”을 이용한 예제의 Makefile이다.

XTP 	= C:\Program Files\Codejock Software\MFC\Xtreme ToolkitPro v12.1.1
OUTDIR	= .\Release
TARGET 	= test.exe

# -------------------------------
ALL: $(OUTDIR)\$(TARGET)

# -------------------------------
"$(OUTDIR)":
	if not exist "$(OUTDIR)" mkdir "$(OUTDIR)"

# -------------------------------
MT		= 	mt.exe

RSC		= 	rc.exe
RSC_PROJ=	/d "_DEBUG" /d "_AFXDLL" /l 0x409\
		 	/i "$(XTP)\Source"\
			/i "$(XTP)\Samples\AboutDlg"\
			/fo".\test.res"

CPP		= 	cl.exe
CFLAGS 	= 	/D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
			/D "_AFXDLL" /D "_MBCS" /nologo /MD /W3 /O2\
			/I"$(XTP)\Source"\
			/Fp"test.pch"\
			/Yc"stdafx.h" /FD /Zm200 /c

LINK32	= 	link.exe
LDFLAGS	= 	/nologo /subsystem:windows /incremental:no \
			/machine:I386\
			/out:"$(OUTDIR)\test.exe"\
			/libpath:"$(XTP)\lib\vc80"

SRC = 	StdAfx.cpp ChildFrm.cpp\
		CntrItem.cpp ControlSelector.cpp\
		MainFrm.cpp SmartLayout.cpp SmartLayoutDoc.cpp\
		SmartLayoutView.cpp StdAfx.cpp\
		test.res
OBJS = $(SRC:.cpp=.obj)

# -------------------------------
CLEAN:
	-@DEL /q *.idb *.pch
	-@DEL /q $(OBJS)
	-@RMDIR /s /q $(OUTDIR)

# -------------------------------
# Compile
.SUFFIXES:
.SUFFIXES: .cpp .obj
.cpp.obj:
	$(CPP) $(CFLAGS) /Fo$*.obj $<

# -------------------------------
# Link
$(OUTDIR)\$(TARGET): $(OUTDIR) $(OBJS)
	$(LINK32) $(LDFLAGS) $(OBJS)
	$(MT) -nologo -manifest test.exe.manifest -outputresource:$(OUTDIR)\test.exe
	-@DEL $(OUTDIR)\test.exe.manifest

# -------------------------------
# Resource
test.res: test.rc
	$(RSC) $(RSC_PROJ) test.rc

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다


This site uses Akismet to reduce spam. Learn how your comment data is processed.