Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
# This is a part of the Microsoft Foundation Classes C++ library.
# Copyright (C) 1992-1997 Microsoft Corporation
# All rights reserved.
#
# This source code is only intended as a supplement to the
# Microsoft Foundation Classes Reference and related
# electronic documentation provided with the library.
# See these sources for detailed information regarding the
# Microsoft Foundation Classes product.
# Common include for building MFC Sample programs
#
# typical usage
# PROJ=foo
# OBJS=foo.obj bar.obj ...
# !INCLUDE ..\..\SAMPLE_.MAK
#
# ROOT specifies the location of the msdev\samples\mfc directory,
# relative to the project directory. Because the MFC tutorial samples
# have an intermediate STEP<n> subdirectory, they use
# ROOT=..\..\..
# instead of the default
# ROOT=..\..
#
# NOTE: do not include 'stdafx.obj' in the OBJS list - the correctly
# built version will be included for you
#
# Options to NMAKE:
# "PLATFORM=?"
# This option chooses the appropriate tools and sources for the
# different platforms support by Windows/NT. Currently INTEL,
# MIPS, ALPHA, PPC, M68K, and MPPC are supported; more will be
# added as they become available. The default is chosen based on
# the host environment. This option must be set for MAC_ builds.
# "DEBUG=0" use release (default debug)
# "CODEVIEW=1" include codeview info (even for release builds)
# "AFXDLL=1" to use shared DLL version of MFC
# "USRDLL=1" to build a DLL that uses static MFC
# "UNICODE=1" to build UNICODE enabled applications
# (not all samples support UNICODE)
# "NO_PCH=1" do not use precompiled headers (defaults to use pch)
# "COFF=1" include COFF symbols
!ifndef PROJ !ERROR You forgot to define 'PROJ' symbol!! !endif
ROOT=. !ifndef ROOT !endif
!ifndef OBJS !ERROR You forgot to define 'OBJS' symbol!! !endif
!ifndef DEBUG DEBUG=1 !endif
!ifndef AFXDLL AFXDLL=0 !endif
!ifndef UNICODE UNICODE=0 !endif
!ifndef USRDLL USRDLL=0 !endif
!if "$(USRDLL)" != "0" AFXDLL=0 !endif
!ifndef PLATFORM !ifndef PROCESSOR_ARCHITECTURE PROCESSOR_ARCHITECTURE=x86 !endif !if "$(PROCESSOR_ARCHITECTURE)" == "x86" PLATFORM=INTEL !endif !if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA" PLATFORM=ALPHA !endif !if "$(PROCESSOR_ARCHITECTURE)" == "MIPS" PLATFORM=MIPS !endif !if "$(PROCESSOR_ARCHITECTURE)" == "PPC" PLATFORM=PPC !endif !endif
!ifndef USES_OLE USES_OLE=0 !endif
!ifndef USES_DB USES_DB=0 !endif
!ifndef CONSOLE CONSOLE=0 !endif
!ifndef NO_PCH NO_PCH=0 !endif
#
# Set BASE=W, M, or P depending on platform
#
BASE=W !if "$(PLATFORM)" == "M68K" || "$(PLATFORM)" == "MPPC" MACOS=1 !undef BASE !if "$(PLATFORM)" == "M68K" BASE=M !else BASE=P !endif !endif
!if "$(UNICODE)" == "0" !if "$(AFXDLL)" == "0" !if "$(USRDLL)" != "1" STDAFX=stdafx !else STDAFX=stdusr !endif !else STDAFX=stddll !endif !endif
!if "$(UNICODE)" == "1" !if "$(AFXDLL)" == "0" !if "$(USRDLL)" != "1" STDAFX=uniafx !else STDAFX=uniusr !endif !else STDAFX=unidll !endif !endif
!if "$(DEBUG)" == "1" STDAFX=$(STDAFX)d !if "$(COFF)" != "1" !ifndef CODEVIEW CODEVIEW=1 !endif !endif !endif
!if "$(CODEVIEW)" == "1" STDAFX=$(STDAFX)v !endif
!if "$(DEBUG)" == "1" DEBUG_SUFFIX=d !endif
!if "$(DEBUG)" != "0" DEBUGFLAGS=/Od MFCDEFS=$(MFCDEFS) /D_DEBUG
!if "$(PLATFORM)" == "M68K" DEBUGFLAGS=/Q68m !endif
!endif
!if "$(DEBUG)" == "0" !if "$(PLATFORM)" == "INTEL" DEBUGFLAGS=/O1 /Gy !endif !if "$(PLATFORM)" == "MIPS" DEBUGFLAGS=/O1 /Gy !endif !if "$(PLATFORM)" == "ALPHA" DEBUGFLAGS=/O1 /Gy !endif !if "$(PLATFORM)" == "PPC" DEBUGFLAGS=/O1 /Gy !endif !if "$(PLATFORM)" == "M68K" DEBUGFLAGS=/O1 /Gy !endif !if "$(PLATFORM)" == "MPPC" DEBUGFLAGS=/O1 /Gy !endif !endif # DEBUG == 0
!if "$(CODEVIEW)" == "1" || "$(COFF)" == "1" DEBUGFLAGS=$(DEBUGFLAGS) /Z7 !endif
!if "$(UNICODE)" == "1" DLL_SUFFIX=u !endif
!if "$(AFXDLL)" == "1" MFCFLAGS=$(MFCFLAGS) /MD$(DEBUG_SUFFIX) MFCDEFS=$(MFCDEFS) /D_AFXDLL !endif # AFXDLL == 1
!if "$(USRDLL)" == "1" MFCDEFS=$(MFCDEFS) /D_USRDLL /D_WINDLL !endif
!if "$(AFXDLL)" == "0" !if "$(MACOS)" != "1" MFCFLAGS=$(MFCFLAGS) /MT$(DEBUG_SUFFIX) !elseif "$(PLATFORM)" != "M68K" MFCFLAGS=$(MFCFLAGS) /ML$(DEBUG_SUFFIX) !endif !endif
!if "$(UNICODE)" == "1" MFCDEFS=$(MFCDEFS) /D_UNICODE !else MFCDEFS=$(MFCDEFS) /D_MBCS !endif
!if "$(MACOS)" == "1" MFCDEFS=$(MFCDEFS) /D_MAC !if "$(PLATFORM)" == "M68K" ARCHITECTURE='m68k' !else ARCHITECTURE='pwpc' !endif !endif
!if "$(PLATFORM)" == "INTEL" MFCDEFS=$(MFCDEFS) /D_X86_ CPP=cl CFLAGS=/GX /c /W3 $(DEBUGFLAGS) $(MFCFLAGS) $(MFCDEFS) !endif
!if "$(PLATFORM)" == "MIPS" MFCDEFS=$(MFCDEFS) /D_MIPS_ CPP=cl CFLAGS=/GX /c /W3 $(DEBUGFLAGS) $(MFCFLAGS) $(MFCDEFS) !endif
!if "$(PLATFORM)" == "ALPHA" MFCDEFS=$(MFCDEFS) /D_ALPHA_ CPP=cl CFLAGS=/GX /c /W3 $(DEBUGFLAGS) $(MFCFLAGS) $(MFCDEFS) !endif
!if "$(PLATFORM)" == "PPC" MFCDEFS=$(MFCDEFS) /D_PPC_ !if "$(PROCESSOR_ARCHITECTURE)" == "x86" CPP=mcl !else CPP=cl !endif CFLAGS=/GX /c /W3 $(DEBUGFLAGS) $(MFCFLAGS) $(MFCDEFS) !endif
!if "$(PLATFORM)" == "M68K" MFCDEFS=$(MFCDEFS) /D_WINDOWS /DWIN32 /D_68K_ CPP=cl CFLAGS=/GX /c /W3 /AL /Gt1 /Q68s $(DEBUGFLAGS) $(MFCFLAGS) $(MFCDEFS) !endif
!if "$(PLATFORM)" == "MPPC" MFCDEFS=$(MFCDEFS) /D_WINDOWS /DWIN32 /D_MPPC_ CPP=cl CFLAGS=/GX /c /W3 $(DEBUGFLAGS) $(MFCFLAGS) $(MFCDEFS) !endif
CPPMAIN_FLAGS=$(CFLAGS)
!if "$(NO_PCH)" == "1" CPPFLAGS=$(CPPMAIN_FLAGS) !else PCHDIR=. CPPFLAGS=$(CPPMAIN_FLAGS) /Yustdafx.h /Fp$(PCHDIR)\$(STDAFX).pch !endif
!if "$(COFF)" == "1" NO_PDB=1 !if "$(CODEVIEW)" != "1" LINKDEBUG=/incremental:no /debug:full /debugtype:coff !else LINKDEBUG=/incremental:no /debug:full /debugtype:both !endif !endif
!if "$(COFF)" != "1" !if "$(CODEVIEW)" == "1" LINKDEBUG=/incremental:no /debug:full /debugtype:cv !else LINKDEBUG=/incremental:no /debug:none !endif !endif
!if "$(NO_PDB)" == "1" LINKDEBUG=$(LINKDEBUG) /pdb:none !endif
!if "$(PLATFORM)" == "INTEL" LINKCMD=link $(LINKDEBUG) !endif
!if "$(PLATFORM)" == "MIPS" LINKCMD=link $(LINKDEBUG) !endif
!if "$(PLATFORM)" == "ALPHA" LINKCMD=link $(LINKDEBUG) !endif
!if "$(PLATFORM)" == "PPC" LINKCMD=link $(LINKDEBUG) !endif
!if "$(PLATFORM)" == "M68K" LINKCMD=link $(LINKDEBUG) !endif
!if "$(PLATFORM)" == "MPPC" LINKCMD=link $(LINKDEBUG) !endif
# link flags - must be specified after $(LINKCMD)
#
# conflags : creating a character based console application
# guiflags : creating a GUI based "Windows" application
!if "$(MACOS)" != "1" CONFLAGS=/subsystem:console GUIFLAGS=/subsystem:windows !else !if defined(MACSIG) GUIFLAGS=/mac:type=APPL /mac:creator=$(MACSIG) !endif !endif
!if "$(UNICODE)" == "1" CONFLAGS=$(CONFLAGS) /entry:wmainCRTStartup GUIFLAGS=$(GUIFLAGS) /entry:wWinMainCRTStartup !endif
!if "$(MACOS)" != "1" PROJRESFILE=$(PROJ).res !else PROJRESFILE=$(PROJ).rsc $(MACSIG)mac.rsc !if "$(AFXDLL)" != "1" BASERESFILE= !endif !endif RESFILE=$(PROJRESFILE)
.SUFFIXES: .SUFFIXES: .c .cpp .rcm .rc
.cpp.obj: $(CPP) @<< $(CPPFLAGS) $*.cpp <<
.c.obj: $(CPP) @<< $(CFLAGS) $(CVARS) $*.c <<
!if "$(MACOS)" != "1" .rc.res: rc /r $(MFCDEFS) $< !else .rc.rsc: rc /r /m $(MFCDEFS) $< !endif
#############################################################################
!if "$(NO_PCH)" == "0" LINK_OBJS=$(OBJS) $(PCHDIR)\$(STDAFX).obj !else LINK_OBJS=$(OBJS) !endif
#
# Build CONSOLE Win32 application
#
!if "$(CONSOLE)" == "1"
!if "$(MACOS)" == "1" !error Macintosh targets do not support console applications !endif
$(PROJ).exe: $(LINK_OBJS) $(LINKCMD) @<< $(CONFLAGS) /out:$(PROJ).exe /map:$(PROJ).map $(LINK_OBJS) $(EXTRA_LIBS) <<
!endif # CONSOLE=1
#
# Build Win32 application
#
!if "$(CONSOLE)" == "0"
!if "$(MACOS)" == "1" copy: $(PROJ).exe !if defined(MACNAME) mfile copy $(PROJ).exe ":$(MACNAME):$(PROJ)" !endif !endif
!if "$(MACOS)" == "1" $(MACSIG)mac.rsc: $(MACSIG)mac.r mrc $(MFCDEFS) /DARCHITECTURE=$(ARCHITECTURE) /o $(MACSIG)mac.rsc $(MACSIG)mac.r !endif
!if "$(USRDLL)" == "1" $(PROJ).dll: $(LINK_OBJS) $(PROJRESFILE) $(LINKCMD) @<< $(GUIFLAGS) /out:$(PROJ).dll /map:$(PROJ).map /dll /def:$(PROJ).def $(LINK_OBJS) $(RESFILE) $(EXTRA_LIBS) <<
$(PROJ).res: resource.h $(PROJ).rsc: resource.h !endif
!if "$(SIMPLE_APP)" != "1" $(PROJ).exe: $(LINK_OBJS) $(PROJRESFILE) $(LINKCMD) @<< $(GUIFLAGS) /out:$(PROJ).exe /map:$(PROJ).map $(LINK_OBJS) $(RESFILE) $(EXTRA_LIBS) <<
$(PROJ).res: resource.h $(PROJ).rsc: resource.h !endif
!if "$(SIMPLE_APP)" == "1" !if "$(MACOS)" == "1" $(PROJ).exe: $(LINK_OBJS) $(MACSIG)mac.rsc $(LINKCMD) @<< $(GUIFLAGS) /out:$(PROJ).exe /map:$(PROJ).map $(LINK_OBJS) $(MACSIG)mac.rsc $(EXTRA_LIBS) <<
!else $(PROJ).exe: $(LINK_OBJS) $(LINKCMD) @<< $(GUIFLAGS) /out:$(PROJ).exe /map:$(PROJ).map $(LINK_OBJS) $(EXTRA_LIBS) <<
!endif !endif
!if "$(NO_PCH)" == "0" $(PCHDIR)\$(STDAFX).obj $(PCHDIR)\$(STDAFX).pch: stdafx.h stdafx.cpp echo "BUILDING SHARED PCH and PCT files" $(CPP) @<< $(CPPMAIN_FLAGS) /Ycstdafx.h /Fp$(PCHDIR)\$(STDAFX).pch /Fo$(PCHDIR)\$(STDAFX).obj /c $(ROOT)\stdafx.cpp <<
$(OBJS): $(PCHDIR)\$(STDAFX).pch !endif
!endif # CONSOLE=0
clean:: if exist $(PROJ).exe erase $(PROJ).exe if exist *.aps erase *.aps if exist *.pch erase *.pch if exist *.map erase *.map if exist *.obj erase *.obj if exist *.exp erase *.exp if exist *.pdb erase *.pdb if exist *.map erase *.map if exist *.lib erase *.lib if exist *.res erase *.res if exist *.rsc erase *.rsc if exist *.pef erase *.pef
#############################################################################
|