Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

291 lines
6.4 KiB

#===========================================================================;
#
# MAKEFILE.ZYZ -- Common Makefile for Win 16 and Win 32 Environments
#
#############################################################################
#
# THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
# KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
# PURPOSE.
#
# Copyright (c) 1993-1995 Microsoft Corporation. All Rights Reserved.
#
#############################################################################
#
#---------------------------------------------------------------------------;
#
# CPU Support:
# i386 - Intel 80386, i486, P5
# MIPS - MIPS R4000
#
#===========================================================================;
!if ("$(WIN16)" == "YES") || ("$(OS)" != "Windows_NT")
#===========================================================================;
#
# Common Makefile for Win 16 Environment
#
#
#===========================================================================;
!if ("$(TARGETMODEL)" != "SMALL") && ("$(TARGETMODEL)" != "MEDIUM")
!error Invalid TARGETMODEL environment variable: specify SMALL or MEDIUM!
!endif
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
#
# Default executable and flag declarations
#
#
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
CVARS = -DWIN16 -DSTRICT $(TARGETAPI)
CC = cl
CFLAGS = -c -Zp $(TARGETOPTZ)
RC = rc
RFLAGS =
LN = link
LFLAGS = /NOPACKC/NOD/NOE/MAP/AL:16
LB = lib
LBFLAGS =
CVTRES = rem !!! CVTRES is for Win 32 only !!!
CRFLAGS =
!if "$(DEBUG)" != "NO"
CVARS = $(CVARS) -DDEBUG
CFLAGS = $(CFLAGS) -Zid
LFLAGS = $(LFLAGS) /CO/LI
!endif
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
#
# Standard library stuff
#
# CONLFLAGS and WINLFLAGS:
#
#
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
CONLFLAGS =
CONLIBSBASE =
CONLIBSST =
CONLIBSMT =
CONLIBSDLL =
WINLIBSBASE = libw commdlg shell mmsystem
!if "$(TARGETMODEL)" == "SMALL"
WINLIBSST = slibcew.lib $(WINLIBSBASE)
WINLIBSMT =
WINLIBSDLL = sdllcew.lib $(WINLIBSBASE)
!endif
!if "$(TARGETMODEL)" == "MEDIUM"
WINLIBSST = mlibcew.lib $(WINLIBSBASE)
WINLIBSMT =
WINLIBSDLL = mdllcew.lib $(WINLIBSBASE)
!endif
#
#
#
#
!if ("$(TARGETTYPE)" == "CONAPPST") || ("$(TARGETTYPE)" == "CONAPP")
!error TARGETTYPE: CONAPP[ST] is not supported in Win 16!
!endif
!if "$(TARGETTYPE)" == "CONAPPMT"
!error TARGETTYPE: CONAPPMT is not supported in Win 16!
!endif
!if "$(TARGETTYPE)" == "CONDLL"
!error TARGETTYPE: CONDLL is not supported in Win 16!
!endif
!if ("$(TARGETTYPE)" == "WINAPPST") || ("$(TARGETTYPE)" == "WINAPP")
!if "$(TARGETMODEL)" == "SMALL"
CFLAGS = $(CFLAGS) -AS
!endif
!if "$(TARGETMODEL)" == "MEDIUM"
CFLAGS = $(CFLAGS) -AM
!endif
CVARS = $(CVARS)
WINLIBS = $(WINLIBSST)
!endif
!if "$(TARGETTYPE)" == "WINAPPMT"
!error TARGETTYPE: WINAPPMT is not supported in Win 16!
!endif
!if "$(TARGETTYPE)" == "WINDLL"
!if "$(TARGETMODEL)" == "SMALL"
CFLAGS = $(CFLAGS) -Asnw
!endif
!if "$(TARGETMODEL)" == "MEDIUM"
CFLAGS = $(CFLAGS) -Alnw
!endif
CVARS = $(CVARS) -D_DLL -D_WINDLL
WINLIBS = $(WINLIBSDLL)
!endif
!else
#===========================================================================;
#
# Common Makefile for Win 32 Environment
#
#
#===========================================================================;
!if ("$(CPU)" != "i386") && ("$(CPU)" != "MIPS")
!error Invalid CPU environment variable: CPU=i386 or MIPS
!endif
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
#
# Default executable and flag declarations
#
#
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
CVARS = -DWIN32 -DSTRICT $(TARGETAPI)
CC = cc
CFLAGS = -c -Zp4 $(TARGETOPTZ)
RC = rc
RFLAGS =
LN = link32
LFLAGS = -undecorate
LB = lib32
LBFLAGS =
CVTRES = cvtres
CRFLAGS = -$(CPU)
!if "$(DEBUG)" != "NO"
CVARS = $(CVARS) -DDEBUG
CFLAGS = $(CFLAGS) -Zi
LFLAGS = $(LFLAGS) -debug:full -debugtype:cv
!endif
!if "$(UNICODE)" == "YES"
CVARS = $(CVARS) -DUNICODE
!endif
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
#
# Standard library stuff
#
# CONLFLAGS and WINLFLAGS:
#
# NOTE! Any executable which accesses a DLL linked with CRTDLL.LIB must
# also link with CRTDLL.LIB instead of LIBC.LIB or LIBCMT.LIB.
#
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
CONLFLAGS = -subsystem:console -entry:mainCRTStartup
CONLIBSBASE = ntdll.lib kernel32.lib
CONLIBSST = libc.lib $(CONLIBSBASE)
CONLIBSMT = libcmt.lib $(CONLIBSBASE)
CONLIBSDLL = crtdll.lib $(CONLIBSBASE)
WINLFLAGS = -subsystem:windows -entry:WinMainCRTStartup
WINLIBSBASE = ntdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib shell32.lib winmm.lib
WINLIBSST = libc.lib $(WINLIBSBASE)
WINLIBSMT = libcmt.lib $(WINLIBSBASE)
WINLIBSDLL = crtdll.lib $(WINLIBSBASE)
#
#
#
#
!if ("$(TARGETTYPE)" == "CONAPPST") || ("$(TARGETTYPE)" == "CONAPP")
CVARS = $(CVARS)
CONLIBS = $(CONLIBSST)
!endif
!if "$(TARGETTYPE)" == "CONAPPMT"
CVARS = $(CVARS) -D_MT
CONLIBS = $(CONLIBSMT)
!endif
!if "$(TARGETTYPE)" == "CONDLL"
CVARS = $(CVARS) -D_DLL
CONLIBS = $(CONLIBSDLL)
!endif
!if ("$(TARGETTYPE)" == "WINAPPST") || ("$(TARGETTYPE)" == "WINAPP")
CVARS = $(CVARS)
WINLIBS = $(WINLIBSST)
!endif
!if "$(TARGETTYPE)" == "WINAPPMT"
CVARS = $(CVARS) -D_MT
WINLIBS = $(WINLIBSMT)
!endif
!if "$(TARGETTYPE)" == "WINDLL"
CVARS = $(CVARS) -D_DLL -D_WINDLL
WINLIBS = $(WINLIBSDLL)
!endif
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
#
# PLATFORM DEPENDENT DECLARATIONS
#
#
# NOTE! $(DLLENTRY) should be appended to each -entry: flag on the
# link line.
#
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
!if "$(CPU)" == "i386"
CC = cl386
CVARS = $(CVARS) -D_X86_
DLLENTRY= @12
LFLAGS = -align:0x1000 -ignore:505
!if "$(DEBUG)" != "NO"
CFLAGS = $(CFLAGS) -Z7
!endif
!endif
!if "$(CPU)" == "MIPS"
CC = mcl
CVARS = $(CVARS) -D_MIPS_
LFLAGS = -align:0x1000 -ignore:505
DLLENTRY=
!endif
!endif