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.
|
|
!ifdef NTMAKEENV !include $(NTMAKEENV)\makefile.def !else ##############################################################################
#
# Makefile : Builds COMSUPP.LIB, the runtime support routines for native COM
# compiler support in Visual C++
#
#-----------------------------------------------------------------------------
#
# Usage: NMAKE CLEAN (removes all intermediate files)
# or: NMAKE options (builds library)
#
# 'Options' are one each of:
#
# "DEBUG" (defaults to 0)
# If this item is 1, then an unoptimized library with debugging
# support is generated. If this item is 0, then an optimized
# library without debugging support is generated. Debug support
# does not include CodeView information (though it does change the
# CodeView default).
#
# "CODEVIEW" (defaults to $(DEBUG))
# If this item is 0, no CodeView debug info is generated. If 1,
# then compile switch /Z7 is used to generate CodeView info in the
# objects.
#
# "BROWSE" (defaults to $(DEBUG))
# If this item is 1, then the browse database is built.
#
# "PLATFORM" (defaults depend on host)
# This option chooses the appropriate tools and sources for the
# different platforms supported by Visual C++. Currently INTEL,
# MIPS, ALPHA, PPC, M68K, and MPPC are supported.
#
# "OPT" (no default value)
# This allows additional compiler options to be added to the build.
# If more than one switch is desired, put double-quotes around the
# whole OPT argument, e.g., "OPT=/FAsc /Fm".
#
##############################################################################
##############################################################################
# Set up defaults
# Default PLATFORM depending on host environment
!ifndef PLATFORM ! ifndef PROCESSOR_ARCHITECTURE PROCESSOR_ARCHITECTURE=x86 ! endif ! if "$(PROCESSOR_ARCHITECTURE)" == "x86" PLATFORM = INTEL ! else if "$(PROCESSOR_ARCHITECTURE)" == "MIPS" PLATFORM = MIPS ! else if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA" PLATFORM = ALPHA ! else if "$(PROCESSOR_ARCHITECTURE)" == "PPC" PLATFORM = PPC ! else ! error Unknown PROCESSOR_ARCHITECTURE: $(PROCESSOR_ARCHITECTURE) ! endif !endif
# Default to DEBUG=0
!ifndef DEBUG DEBUG = 0 !endif
# Default to CODEVIEW=$(DEBUG)
!ifndef CODEVIEW CODEVIEW = $(DEBUG) !endif
# Default to BROWSE=$(DEBUG)
!ifndef BROWSE BROWSE = $(DEBUG) !endif
##############################################################################
# Parse options
# DEBUG options
!if "$(DEBUG)" != "0" LIBSUFX = d DBFLAGS = /Od /MLd DBDEFS = /D_DEBUG OUTDIR = Debug !else LIBSUFX = DBFLAGS = /O1 /ML DBDEFS = OUTDIR = Release !endif
# CODEVIEW options
!if "$(CODEVIEW)" != "0" DBFLAGS = $(DBFLAGS) /Z7 !endif
# BROWSE options
!if "$(BROWSE)" != "0" BRFLAGS = /FR$O\ # space after backslash !else BRFLAGS = !endif
# PLATFORM options
!if "$(PLATFORM)" == "INTEL" PDEFS = /D_X86_ !else if "$(PLATFORM)" == "MIPS" PDEFS = /D_MIPS_ !else if "$(PLATFORM)" == "ALPHA" PDEFS = /D_ALPHA_ !else if "$(PLATFORM)" == "PPC" PDEFS = /D_PPC_ !else if "$(PLATFORM)" == "M68K" PDEFS = /D_68K_ /D_MAC !else if "$(PLATFORM)" == "MPPC" PDEFS = /D_MPPC_ /D_MAC !else ! error PLATFORM must be one of INTEL, MIPS, ALPHA, PPC, M68K, or MPPC !endif
# short macros for source/object directories
H = include O = $(OUTDIR)
##############################################################################
# Compile options
PROJNAME = comsupp LIBNAME = $O\$(PROJNAME)$(LIBSUFX).lib
CFLAGS = /nologo /W3 /WX /GXRFy /Zl /YX /Fp$O\$(PROJNAME).pch INCS = /I$H DEFS = $(PDEFS) $(DBDEFS)
CFLAGS = $(CFLAGS) $(DBFLAGS) $(BRFLAGS) $(DEFS) $(INCS) $(OPT)
##############################################################################
# Build rules
.SUFFIXES: .SUFFIXES: .c .cpp .obj .lib
.c{$O}.obj: $(CC) $(CFLAGS) /Fo$O\ /c $< .cpp{$O}.obj: $(CC) $(CFLAGS) /Fo$O\ /c $<
##############################################################################
# Library components
OBJS = $O\comsupp.obj $O\comraise.obj $O\comutil.obj SBRS = $(OBJS:.obj=.sbr)
##############################################################################
# Targets
GOALS = create.dir $(LIBNAME)
all: $(GOALS)
create.dir: @-if not exist $O\*.* mkdir $O
clean: -if exist $O\*.obj del $O\*.obj -if exist $O\*.sbr del $O\*.sbr -if exist $O\*.lib del $O\*.lib -if exist $O\*.bsc del $O\*.bsc -if exist $O\*.pch del $O\*.pch -if exist $O\*.* rmdir $O
$(LIBNAME): $(OBJS) link /lib /nologo /out:$(LIBNAME) $(OBJS) !if "$(BROWSE)" != "0" bscmake /nologo /o $O\$(PROJNAME).bsc $(SBRS) !endif
##############################################################################
# Dependencies and individual build rules
$O\comsupp.obj: $H\comdef.h $H\comip.h $O\comraise.obj: $H\comdef.h $H\comip.h $O\comutil.obj: $H\comdef.h $H\comutil.h $H\comip.h !endif
|