diff options
Diffstat (limited to 'gs/base/msvccmd.mak')
-rw-r--r-- | gs/base/msvccmd.mak | 246 |
1 files changed, 246 insertions, 0 deletions
diff --git a/gs/base/msvccmd.mak b/gs/base/msvccmd.mak new file mode 100644 index 000000000..443b10c6a --- /dev/null +++ b/gs/base/msvccmd.mak @@ -0,0 +1,246 @@ +# Copyright (C) 2001-2006 Artifex Software, Inc. +# All Rights Reserved. +# +# This software is provided AS-IS with no warranty, either express or +# implied. +# +# This software is distributed under license and may not be copied, modified +# or distributed except as expressly authorized under the terms of that +# license. Refer to licensing information at http://www.artifex.com/ +# or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, +# San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information. +# +# $Id$ +# Command definition section for Microsoft Visual C++ 4.x/5.x, +# Windows NT or Windows 95 platform. +# Created 1997-05-22 by L. Peter Deutsch from msvc4/5 makefiles. +# edited 1997-06-xx by JD to factor out interpreter-specific sections +# edited 2000-03-30 by lpd to make /FPi87 conditional on MSVC version +# edited 2000-06-05 by lpd to treat empty MSINCDIR and LIBDIR specially. + +# Set up linker differently for MSVC 4 vs. later versions + +!if $(MSVC_VERSION) == 4 + +# MSVC version 4.x doesn't recognize the /QI0f switch, which works around +# an unspecified bug in the Pentium decoding of certain 0F instructions. +QI0f= + +!else +#else $(MSVC_VERSION) != 4 + +# MSVC 5.x does recognize /QI0f. +QI0f=/QI0f + +# Define separate CCAUX command-line switch that must be at END of line. + +!if $(MSVC_VERSION) < 7 +CCAUX_TAIL= /link +!else +CCAUX_TAIL= /link /LIBPATH:"$(COMPBASE)\lib" +!endif + +!endif +#endif #$(MSVC_VERSION) == 4 + + +# Define the current directory prefix and shell invocations. + +D=\# + +SH= + +# Define switches for the compilers. + +C_= +O_=-Fo +RO_=$(O_) + +# Define the arguments for genconf. + +CONFILES=-p %%s +CONFLDTR=-ol + +# Define the generic compilation flags. + +PLATOPT= + +# Make sure we get the right default target for make. + +dosdefault: default + $(NO_OP) + +# Define the compilation flags. + +# MSVC 8 (2005) warns about deprecated unsafe common functions like strcpy. +!if ($(MSVC_VERSION) > 7) || defined(WIN64) +VC8WARN=/wd4996 /wd4224 +!else +VC8WARN= +!endif + +!if ($(MSVC_VERSION) < 8) +CDCC=/Gi /Zi +!else +!ifdef WIN64 +CDCC=/Zi +!else +CDCC=/Zi +!endif +!endif + +!if "$(CPU_FAMILY)"=="i386" + +!if ($(MSVC_VERSION) >= 8) || defined(WIN64) +# MSVC 8 (2005) attempts to produce code good for all processors. +# and doesn't used /G5 or /GB. +# MSVC 8 (2005) avoids buggy 0F instructions. +CPFLAGS= +!else +!if $(CPU_TYPE)>500 +CPFLAGS=/G5 $(QI0f) +!else if $(CPU_TYPE)>400 +CPFLAGS=/GB $(QI0f) +!else +CPFLAGS=/GB $(QI0f) +!endif +!endif + +!if $(MSVC_VERSION)<5 +FPFLAGS=/FPi87 +!else +FPFLAGS= +!endif + +!endif + +!if "$(CPU_FAMILY)"=="ppc" + +!if $(CPU_TYPE)>=620 +CPFLAGS=/QP620 +!else if $(CPU_TYPE)>=604 +CPFLAGS=/QP604 +!else +CPFLAGS=/QP601 +!endif + +FPFLAGS= + +!endif + +!if "$(CPU_FAMILY)"=="alpha" + +# *** alpha *** This needs fixing +CPFLAGS= +FPFLAGS= + +!endif + +!if $(DEBUG)!=0 +CD=/DDEBUG +!else +CD= +!endif + +# Precompiled headers +!if $(MSVC_VERSION) >= 8 +CPCH=/Fp$(GLOBJDIR)\gs.pch +!else +CPCH=/YX /Fp$(GLOBJDIR)\gs.pch +!endif + +!ifndef DEBUGSYM +DEBUGSYM=0 +!endif + +!if $(TDEBUG)!=0 +# /Fd designates the directory for the .pdb file. +# Note that it must be followed by a space. +CT=/Od /Fd$(GLOBJDIR) $(NULL) $(CDCC) $(CPCH) +LCT=/DEBUG /INCREMENTAL:YES +COMPILE_FULL_OPTIMIZED= # no optimization when debugging +COMPILE_WITH_FRAMES= # no optimization when debugging +COMPILE_WITHOUT_FRAMES= # no optimization when debugging +CMT=/MTd +!else +!if $(DEBUGSYM)==0 +CT= +LCT= +CMT=/MT +!else +CT=/Zi /Fd$(GLOBJDIR) $(NULL) +LCT=/DEBUG +CMT=/MTd +!endif +!if $(MSVC_VERSION) == 5 +# NOTE: With MSVC++ 5.0, /O2 produces a non-working executable. +# We believe the following list of optimizations works around this bug. +COMPILE_FULL_OPTIMIZED=/GF /Ot /Oi /Ob2 /Oy /Oa- /Ow- +!else +COMPILE_FULL_OPTIMIZED=/GF /O2 /Ob2 +!endif +COMPILE_WITH_FRAMES= +COMPILE_WITHOUT_FRAMES=/Oy +!endif + +!if $(MSVC_VERSION) >= 8 +# MSVC 8 (2005) always does stack probes and checking. +CS= +!else +!if $(DEBUG)!=0 || $(TDEBUG)!=0 +CS=/Ge +!else +CS=/Gs +!endif +!endif + +!if ($(MSVC_VERSION) == 7) && defined(WIN64) +# Need to specify DDK include directories before .NET 2003 directories. +MSINCFLAGS=-I"$(INCDIR64A)" -I"$(INCDIR64B)" +!else +MSINCFLAGS= +!endif + +# Specify output object name +CCOBJNAME=-Fo + +# Specify function prolog type +COMPILE_FOR_DLL= +COMPILE_FOR_EXE= +COMPILE_FOR_CONSOLE_EXE= + +# The /MT is for multi-threading. We would like to make this an option, +# but it's too much work right now. +GENOPT=$(CP) $(CD) $(CT) $(CS) $(WARNOPT) $(VC8WARN) /nologo $(CMT) + +CCFLAGS=$(PLATOPT) $(FPFLAGS) $(CPFLAGS) $(CFLAGS) $(XCFLAGS) $(MSINCFLAGS) +CC=$(COMP) /c $(CCFLAGS) @$(GLGENDIR)\ccf32.tr +CPP=$(COMPCPP) /c $(CCFLAGS) @$(GLGENDIR)\ccf32.tr +!if $(MAKEDLL) +WX=$(COMPILE_FOR_DLL) +!else +WX=$(COMPILE_FOR_EXE) +!endif + +!if $(COMPILE_INITS) +ZM=/Zm1100 +!else +ZM= +!endif + + +# /Za disables the MS-specific extensions & enables ANSI mode. +CC_WX=$(CC) $(WX) +CC_=$(CC_WX) $(COMPILE_FULL_OPTIMIZED) /Za $(ZM) +CC_D=$(CC_WX) $(COMPILE_WITH_FRAMES) +CC_INT=$(CC_) +CC_NO_WARN=$(CC_) + +# Compiler for auxiliary programs + +CCAUX=$(COMPAUX) $(VC8WARN) $(CFLAGS) + +# Compiler for Windows programs. +CCWINFLAGS=$(COMPILE_FULL_OPTIMIZED) + +#end msvccmd.mak |