Skip to content

**** ****

for my bad memories..

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

Categorized as: Programming



답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다


이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.