1、windows vc makefile# Makefile : Builds a Microsoft Foundation Class library variant.# This is a part of the Microsoft Foundation Classes C+ library.# Copyright (C) 1992-1998 Microsoft Corporation# All rights reserved.# This source code is only intended as a supplement to the# Microsoft Foundation Cl
2、asses Reference and related# electronic documentation provided with the library.# See these sources for detailed information regarding the# Microsoft Foundation Classes product.# Usage: NMAKE CLEAN (removes all intermediary files)# or: NMAKE options (builds one library variant (see below)# Note that
3、 an NMAKE CLEAN should be performed before building a new variant.# Options are one of each of:# DLL (defaults to 0)# If this item is 0, then a normal library is generated.# DLL=1 is obsolete and not supported by this release.# If this item is 2, objects suitable for the shared DLL version# of MFC a
4、re created. Note: DLL=2 is to be used only from# MFCDLL.MAK, MFCOLE.MAK, or MFCDB.MAK# DEBUG (defaults to 1)# If this item is 1, debugging support is compiled into# the library. If this item is 0, then debugging support# is disabled. Debug support does not include CodeView information.# CODEVIEW (de
5、faults to 1 for DEBUG=1, 0 for DEBUG=0)# If this item is 1 CodeView information is compiled into# the library. You must use the /DEBUG:FULL and /DEBUGTYPE:cv link# options when linking your executable. A value of 0 indicates that# no CodeView information is to be generated.# OBJ=.obj (defaults to $(
6、MODEL)$(BASE)$(DEBUG)# This optional specification specifies where temporary OBJ files# are stored during the build process. The directory is created or# removed as necessary.# OPT= (no default value)# This allows additional compiler options to be added to the build.# If more than one switch is desi
7、red, put double-quotes around the# whole OPT= argument, e.g., OPT=/J /W3.# NO_PCH=1# Set this item to override the default use of precompiled headers.# NO_PDB=1# Set this item to override the default use of PDB files.# BROWSE=1 (defaults to 0)# Set this option to build the browse database for the MF
8、C# library. By setting BROWSE=1, both the .SBRs and the .BSC# files will be built along with the .OBJ and .LIB files that# are part of the normal build process.# BROWSEONLY=1 (defaults to 0)# Set this option to build the browse files without re-building# the MFC library itself. Note: This option is
9、used internally# when BROWSE=1 is selected.# PLATFORM=INTEL (defaults depends on host)# This option chooses the appropriate tools and sources for the# different platforms supporting the Win32 API. Currently INTEL,# MIPS, ALPHA, PPC are supported.# INCREMENTAL=1 (defaults to 0)# This option enables i
10、ncremental/minimal compilation and# incremental linking.# Advanced Options:# MBCS=0 (defaults to 1)# To build an SBCS library instead of the default (MBCS)# you can use MBCS=0. This creates a slightly smaller# library, but the code will not work in far-east markets.# This option has no effect when U
11、NICODE=1.# MT=0 (defaults to 1)# To build a non-multithreaded library instead of the default# (which enables multitheading and uses the multithread# C-runtimes) you can use MT=0.# Define defaults if not defined# Default PLATFORM depending on host environment!ifndef PLATFORM!ifndef PROCESSOR_ARCHITEC
12、TUREPROCESSOR_ARCHITECTURE=x86!endif!if $(PROCESSOR_ARCHITECTURE) = x86PLATFORM=INTEL!endif!if $(PROCESSOR_ARCHITECTURE) = MIPSPLATFORM=MIPS!endif!if $(PROCESSOR_ARCHITECTURE) = ALPHAPLATFORM=ALPHA!endif!if $(PROCESSOR_ARCHITECTURE) = PPCPLATFORM=PPC!endif!endif# Default to DEBUG mode!ifndef DEBUGDE
13、BUG=1!endif# Default to NOT DLL!ifndef DLLDLL=0!endif# Default Codeview Info!ifndef CODEVIEW!if $(DEBUG) = 1CODEVIEW=1!elseCODEVIEW=0!endif!endif# BROWSEONLY is default 0 and implies BROWSE=1 if BROWSEONLY=1!ifndef BROWSEONLYBROWSEONLY=0!endif!if $(BROWSEONLY) != 0!undef BROWSEBROWSE=1!endif# Defaul
14、t to no BROWSE info!ifndef BROWSEBROWSE=0!endif# Default to no INCREMENTAL build!ifndef DEVBUILDDEVBUILD=0!endif!if $(DEBUG) != 0!ifndef INCREMENTALINCREMENTAL=$(DEVBUILD)!endif!endif!ifndef INCREMENTALINCREMENTAL=0!endif# Default to _MBCS build!ifndef MBCSMBCS=1!endif# Default to multithreading sup
15、port!ifndef MTMT=1!endif# normalize cases of parameters, or error check!if $(CPU) = MIPS!if $(PLATFORM) != MIPS!error Must set PLATFORM=MIPS for MIPS builds!endif!endif!if $(CPU) = ALPHA!if $(PLATFORM) != ALPHA!error Must set PLATFORM=ALPHA for ALPHA builds!endif!endifBASE=W# Parse options# DEBUG OP
16、TIONS#!if $(DEBUG) != 0DEBUGSUF=DDEBDEFS=/D_DEBUGDEBOPTS=/Od!endif# NON-DEBUG OPTIONS#!if $(DEBUG) = 0DEBUGSUF=DEBDEFS=!if $(PLATFORM) = INTELDEBOPTS=/O1 /GyF!endif!if $(PLATFORM) = MIPSDEBOPTS=/O1 /GyF!endif!if $(PLATFORM) = ALPHADEBOPTS=/O1 /GyF!endif!if $(PLATFORM) = PPCDEBOPTS=/O1 /GyF!endif!end
17、if# PLATFORM options#!if $(PLATFORM) = INTELCL_MODEL=/D_X86_!endif!if $(PLATFORM) = MIPSCL_MODEL=/D_MIPS_!endif!if $(PLATFORM) = ALPHACL_MODEL=/D_ALPHA_!endif!if $(PLATFORM) = PPCCL_MODEL=/D_PPC_!endif!if $(CL_MODEL) = !error PLATFORM must be one of INTEL, MIPS, ALPHA, or PPC.!endif# TYPE = Library
18、Type Designator# c = normal C library# d = DLL libraryTYPE=cDEXT=# Object File Directory#!if $(OBJ) = D=$(MODEL)$(BASE)$(DEBUGSUF)$(DEXT) # subdirectory specific to variant!elseD=$(OBJ) # User specified directory!endif# _AFXDLL DLL Variant#!if $(DLL) = 2# _AFXDLL libraryTYPE=e!if $(OBJ) = D=DLL$(DEB
19、UGSUF).$(BASE)!if $(UNICODE) = 1D=$(MODEL)$D!endifD=$D!endifTARGOPTS=$(TARGOPTS) /MD /D_DLL /GF!if $(MT) != 0TARGOPTS=$(TARGOPTS) /D_MT!endifTARGDEFS=$(TARGDEFS) /D_WINDLL /D_AFXDLL!else# not _AFXDLL library!if $(MD) = 1TARGOPTS=$(TARGOPTS) /MD!else!if $(MT) != 0TARGOPTS=$(TARGOPTS) /MT!endif!endif!
20、endif!if $(UNICODE) = 1MODEL=UTARGDEFS=$(TARGDEFS) /D_UNICODE!elseMODEL=N!if $(MBCS) != 0TARGDEFS=$(TARGDEFS) /D_MBCS!endif!endif!if $(DLL) = 2 & $(BROWSEONLY) != 1!if $(TARG) = !error DLL=2 is used only from MFCDLL.MAK, MFCOLE.MAK, or MFCDB.MAK!endifGOAL=$(TARG)!elseGOAL=$(MODEL)afx$(TYPE)$(BASE)$(
21、DEBUGSUF)!endif# CODEVIEW options#!if $(CODEVIEW) = 1!if $(NO_PDB) = 1CVOPTS=/Z7!if $(PROFLIB) != !error Cant build for profiling without PDB files.!endif!elseCVOPTS=/Zi!if $(PROFLIB) != CVOPTS=$(CVOPTS) /Gh!endif!if $(DLL) = 2PDBOPTS=/Fd$(GOAL).pdb!elsePDBOPTS=/Fd.lib$(GOAL).pdb!endif!endif!endif#
22、INCREMENTAL options#!if $(INCREMENTAL) = 1INCROPTS=/Gi /Gm!elseINCROPTS=/Gi- /Gm-!endif# COMPILER OPTIONS#!if $(PLATFORM) = INTELCL_OPT=/W4 /WX /Zl /GX /GR $(INCROPTS) $(DEBOPTS) $(CVOPTS) $(TARGOPTS)!endif!if $(PLATFORM) = MIPSCL_OPT=/W4 /WX /Zl /GX /GR $(INCROPTS) $(DEBOPTS) $(CVOPTS) $(TARGOPTS)!
23、endif!if $(PLATFORM) = ALPHACL_OPT=/W4 /WX /Zl /GX /GR $(INCROPTS) $(DEBOPTS) $(CVOPTS) $(TARGOPTS)!endif!if $(PLATFORM) = PPCCL_OPT=/W4 /WX /Zl /GX /GR $(INCROPTS) $(DEBOPTS) $(CVOPTS) $(TARGOPTS)!endif!if $(DEVBUILD) != 0CL_OPT=$(CL_OPT) /D_AFX_DEVBUILD!endif!if $(BROWSE) != 0CL_OPT=/FR$D $(CL_OPT
24、)!endif!if $(BROWSEONLY) != 0CL_OPT=/Zs $(CL_OPT)!elseCL_OPT=/Fo$D $(CL_OPT)!endifDEFS=$(DEFS) $(DEBDEFS) $(TARGDEFS)# Library ComponentsOBJECT=$Dobjcore.obj $Dexcept.obj $Dvalidadd.obj $Ddumpcont.obj $Ddumpflt.obj $Darccore.obj $Darcobj.obj $Darcex.obj $Darcstrm.obj# non-shared diagnosticsOBJDIAG=$
25、Ddumpinit.obj $Ddumpout.obj $Dafxasert.obj $Dafxmem.obj $Dafxabort.objFILES=$Dfilecore.obj $Dfiletxt.obj $Dfilemem.obj $Dfileshrd.obj $Dfilex.obj $Dfilest.objCOLL1=$Darray_b.obj $Darray_d.obj $Darray_p.obj $Darray_o.obj $Darray_s.obj $Darray_u.obj $Darray_w.obj $Dlist_o.obj $Dlist_p.obj $Dlist_s.obj
26、COLL2=$Dmap_pp.obj $Dmap_pw.obj $Dmap_so.obj $Dmap_sp.obj $Dmap_ss.obj $Dmap_wo.obj $Dmap_wp.obj $Dplex.objMISC= $Dstrcore.obj $Dstrex.obj $Dtimecore.obj $Dafxdbcs.obj $Dafxstate.obj $Dafxtls.obj $Dfixalloc.obj $Dmtcore.obj $Dmtex.objWINDOWS= $Dwincore.obj $Dwinfrm.obj $Dwinfrm2.obj $Dwinfrmx.obj $D
27、winmdi.obj $Dtooltip.obj $Dwinmini.obj $Dwinhand.obj $Dwinmain.obj $Dbarcore.obj $Dbartool.obj $Dbardlg.obj $Dbarstat.obj $Dbardock.obj $Ddockcont.obj $Ddockstat.obj $Ddcprev.obj $Ddcmeta.obj $Dtrckrect.obj $Dbarcool.objDIALOG= $Dwinctrl1.obj $Dwinctrl2.obj $Dwinctrl3.obj $Dwinctrl4.obj $Dwinbtn.obj
28、 $Ddlgcore.obj $Ddlgdata.obj $Ddlgfloat.obj $Ddlgprop.obj $Ddlgcomm.obj $Ddlgfile.obj $Ddlgprnt.obj $Ddlgclr.obj $Ddlgfnt.obj $Ddlgfr.obj $Dccdata.obj $Ddlgtempl.obj $Dwinctrl6.obj $Dwinctrl7.objWINMISC= $Dwingdi.obj $Dwingdix.obj $Dwinstr.obj $Dwinmenu.obj $Dauxdata.obj $Dafxcrit.obj $Dafxtrace.obj $Dwinutil.obj $Dwinocc.objDOCVIEW= $Dcmdtarg.obj $Ddoccore.obj $Ddoctempl.obj $Ddocsingl.obj $Ddocmulti.obj $Ddocmgr
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1