diff options
Diffstat (limited to 'gs/base/os2.mak')
-rw-r--r-- | gs/base/os2.mak | 680 |
1 files changed, 680 insertions, 0 deletions
diff --git a/gs/base/os2.mak b/gs/base/os2.mak new file mode 100644 index 000000000..bc3948000 --- /dev/null +++ b/gs/base/os2.mak @@ -0,0 +1,680 @@ +# Copyright (C) 2001-2007 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$ +# makefile for MS-DOS or OS/2 GCC/EMX platform. +# Uses Borland (MSDOS) MAKER or +# Uses IBM NMAKE.EXE Version 2.000.000 Mar 27 1992 + +# ------------------------------- Options ------------------------------- # + +###### This section is the only part of the file you should need to edit. + +# ------ Generic options ------ # + +# Define the directory for the final executable, and the +# source, generated intermediate file, and object directories +# for the graphics library (GL) and the PostScript/PDF interpreter (PS). + +# This makefile has never been tested with any other values than these, +# and almost certainly won't work with other values. +BINDIR=bin +GLSRCDIR=base +GLGENDIR=obj +GLOBJDIR=obj +PSSRCDIR=psi +PSLIBDIR=lib +PSRESDIR=Resource +PSGENDIR=obj +PSOBJDIR=obj + +# Define the root directory for Ghostscript installation. + +AROOTDIR=c:/gs +GSROOTDIR=$(AROOTDIR)/gs$(GS_DOT_VERSION) + +# Define the directory that will hold documentation at runtime. + +GS_DOCDIR=$(GSROOTDIR)/doc + +# Define the default directory/ies for the runtime +# initialization, resource and font files. Separate multiple directories with ;. +# Use / to indicate directories, not a single \. + +GS_LIB_DEFAULT=$(GSROOTDIR)/Resource/Init;$(GSROOTDIR)/lib;$(GSROOTDIR)/Resource/Font;$(AROOTDIR)/fonts + +# Define whether or not searching for initialization files should always +# look in the current directory first. This leads to well-known security +# and confusion problems, but users insist on it. +# NOTE: this also affects searching for files named on the command line: +# see the "File searching" section of Use.htm for full details. +# Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended. + +SEARCH_HERE_FIRST=1 + +# Define the name of the interpreter initialization file. +# (There is no reason to change this.) + +GS_INIT=gs_init.ps + +# Choose generic configuration options. + +# Setting DEBUG=1 includes debugging features (-Z switch) in the code. +# Code runs substantially slower even if no debugging switches are set, +# and also takes about another 25K of memory. + +DEBUG=0 + +# Setting GDEBUG=1 includes symbol table information for GDB. +# Produces larger .OBJ and .EXE files. + +GDEBUG=0 + +# Setting MAKEDLL=1 makes the target a DLL instead of an EXE +MAKEDLL=1 + +# Setting EMX=1 uses GCC/EMX +# Setting IBMCPP=1 uses IBM C++ +EMX=1 +IBMCPP=0 + +# Setting BUILD_X11=1 builds X11 client using Xfree86 +BUILD_X11=0 +!if $(BUILD_X11) +X11INCLUDE=-I$(X11ROOT)\XFree86\include +X11LIBS=$(X11ROOT)\XFree86\lib\Xt.lib $(X11ROOT)\XFree86\lib\X11.lib +MT_OPT=-Zmtd +!endif + +# Define the name of the executable file. + +GS=gsos2 +GSDLL=gsdll2 + +# Define the directory where the IJG JPEG library sources are stored, +# and the major version of the library that is stored there. +# You may need to change this if the IJG library version changes. +# See jpeg.mak for more information. + +JSRCDIR=jpeg + +# Define the directory where the PNG library sources are stored, +# and the version of the library that is stored there. +# You may need to change this if the libpng version changes. +# See libpng.mak for more information. + +PNGSRCDIR=libpng + +# Define the directory where the zlib sources are stored. +# See zlib.mak for more information. + +ZSRCDIR=zlib + +# Define the jbig2dec library source location. +# See jbig2.mak for more information. + +JBIG2_LIB=jbig2dec +JBIG2SRCDIR=jbig2dec + +# Define the directory where the icclib source are stored. +# See icclib.mak for more information + +ICCSRCDIR=icclib + +# IJS has not been ported to OS/2. If you do the port, +# you'll need to set these values. You'll also need to +# include the ijs.mak makefile (right after icclib.mak). +# +# Define the directory where the ijs source is stored, +# and the process forking method to use for the server. +# See ijs.mak for more information. + +#IJSSRCDIR=ijs +#IJSEXECTYPE=win + +# Define the directory where the imdi library source is stored. +# See devs.mak for more information + +IMDISRCDIR=imdi + +# 1 --> Use 64 bits for gx_color_index. This is required only for +# non standard devices or DeviceN process color model devices. +USE_LARGE_COLOR_INDEX=1 + +!if $(USE_LARGE_COLOR_INDEX) == 1 +# Definitions to force gx_color_index to 64 bits +LARGEST_UINTEGER_TYPE=unsigned long long +GX_COLOR_INDEX_TYPE=$(LARGEST_UINTEGER_TYPE) +GCIFLAGS=-DGX_COLOR_INDEX_TYPE="$(GX_COLOR_INDEX_TYPE)" +!else +GCIFLAGS= +!endif + + +# The following is a hack to get around the special treatment of \ at +# the end of a line. +NUL= +DD=$(GLGENDIR)\$(NUL) +GLD=$(GLGENDIR)\$(NUL) +PSD=$(PSGENDIR)\$(NUL) + + +# ------ Platform-specific options ------ # + +# Define the drive, directory, and compiler name for the EMX files. +# COMP is the compiler name (gcc) +# COMPDIR contains the compiler and linker (normally \emx\bin). +# EMXPATH contains the path to the EMX directory (normally /emx) +# INCDIR contains the include files (normally /emx/include). +# LIBDIR contains the library files (normally /emx/lib). +# Note that these prefixes are always followed by a \, +# so if you want to use the current directory, use an explicit '.'. + +!if $(EMX) +COMP=gcc $(X11INCLUDE) +COMPBASE=\emx +EMXPATH=/emx +COMPDIR=$(COMPBASE)\bin +INCDIR=$(EMXPATH)/include +LIBDIR=$(EMXPATH)/lib +CPNG=-DPNGAPI= +!endif + +!if $(IBMCPP) +COMP=icc /Q +COMPBASE=\ibmcpp +TOOLPATH=\toolkit +COMPDIR=$(COMPBASE)\bin +INCDIR=$(TOOLPATH)\h;$(COMPBASE)\include +LIBDIR=$(TOOLPATH)\lib;$(COMPBASE)\lib +!endif + +# Choose platform-specific options. + +# Define the processor (CPU) type. Options are 86 (8086 or 8088), +# 186, 286, 386, 485 (486SX or Cyrix 486SLC), 486 (486DX), or 586 (Pentium). +# Higher numbers produce code that may be significantly smaller and faster, +# but the executable will bail out with an error message on any processor +# less capable than the designated one. + +# EMX requires 386 or higher +CPU_TYPE=386 + +# Define the .dev module that implements thread and synchronization +# primitives for this platform. Don't change this unless you really know +# what you're doing. + +SYNC=nosync + +# ---------------------------- End of options ---------------------------- # + +# Note that built-in libpng and zlib aren't available. + +SHARE_JPEG=0 +SHARE_LIBPNG=0 +SHARE_ZLIB=0 +SHARE_JBIG2=0 + +# Swapping `make' out of memory makes linking much faster. +# only used by Borland MAKER.EXE + +#.swap + +# Define the platform name. + +PLATFORM=os2_ + +# Define the name of the makefile -- used in dependencies. + +MAKEFILE=$(PSSRCDIR)\os2.mak +TOP_MAKEFILES=$(MAKEFILE) + +# Define the files to be deleted by 'make clean'. + +BEGINFILES=$(BINDIR)\gspmdrv.exe $(GLOBJDIR)\gspmdrv.o $(GLOBJDIR)\gs*.res $(GLOBJDIR)\gs*.ico $(BINDIR)\$(GSDLL).dll + +# Define the auxiliary program dependency. We don't use this. + +AK= + +#Compiler Optimiser option +!if $(EMX) +CO=-O +!endif +!if $(IBMCPP) +#CO=/O+ +CO=/O- +!endif + +# Make sure we get the right default target for make. + +dosdefault: default $(BINDIR)\gspmdrv.exe + +# Define a rule for invoking just the preprocessor. + +.c.i: + $(COMPDIR)\cpp $(CCFLAGS) $< + +# Define the extensions for command, object, and executable files. + +# Work around the fact that some `make' programs drop trailing spaces +# or interpret == as a special definition operator. +NULL= + +CMD=.cmd +C_=-c +D_=-D +_D_=$(NULL)= +_D= +I_=-I +II=-I +_I= +O_=-o $(NULL) +!if $(MAKEDLL) +OBJ=obj +!else +OBJ=o +!endif +Q= +XE=.exe +XEAUX=.exe + +# Define the current directory prefix and shell name. + +D=\# + +EXP= +SH= + +# Define generic commands. + +# We use cp.cmd rather than copy /B so that we update the write date. +CP_=$(GLSRCDIR)\cp.cmd +# We use rm.cmd rather than erase because rm.cmd never generates +# a non-zero return code. +RM_=$(GLSRCDIR)\rm.cmd +# OS/2 erase, unlike MS-DOS erase, accepts multiple files or patterns. +RMN_=$(GLSRCDIR)\rm.cmd + +# Define the arguments for genconf. + +!if $(MAKEDLL) +CONFILES=-p %%s+ +!else +CONFILES= +!endif +CONFLDTR=-ol + +# Define the generic compilation flags. + +!if $(CPU_TYPE) >= 486 +PLATOPT=-DFOR80386 -DFOR80486 +!else +!if $(CPU_TYPE) >= 386 +PLATOPT=-DFOR80386 +!endif +!endif + +# ---------------------- MS-DOS I/O debugging option ---------------------- # + +dosio_=$(PSOBJ)zdosio.$(OBJ) +dosio.dev: $(PSGEN)dosio.dev + $(NO_OP) + +$(PSGEN)dosio.dev: $(dosio_) + $(SETMOD) $(PSGEN)dosio $(dosio_) + $(ADDMOD) $(PSGEN)dosio -oper zdosio + +$(PSOBJ)zdosio.$(OBJ): $(PSSRC)zdosio.c $(OP) $(store_h) + $(PSCC) $(PSO_)zdosio.$(OBJ) $(C_) $(PSSRC)zdosio.c + +# Define the compilation flags. + +!if $(DEBUG) +CD=-DDEBUG +!else +CD= +!endif + +!if $(GDEBUG) +!if $(EMX) +CGDB=-g +!endif +!if $(IBMCPP) +CGDB=/Ti+ +!endif +!else +CGDB= +!endif + +!if $(MAKEDLL) +!if $(EMX) +CDLL=-Zdll -Zso -Zsys -Zomf $(MT_OPT) -D__DLL__ +!endif +!if $(IBMCPP) +CDLL=/Gd- /Ge- /Gm+ /Gs+ /D__DLL__ +!endif +!else +CDLL= +!endif + +!if $(EMX) +CEXE=-Zomf +!endif + +GENOPT=$(CD) $(CGDB) $(CDLL) $(CO) $(CPNG) + +CCFLAGS0=$(GENOPT) $(PLATOPT) -D__OS2__ $(GCIFLAGS) +CCFLAGS=$(CCFLAGS0) +CC=$(COMPDIR)\$(COMP) $(CCFLAGS0) +CC_=$(CC) +CC_D=$(CC) $(CO) +CC_INT=$(CC) +CC_NO_WARN=$(CC_) +CC_SHARED=$(CC_) + +# ------ Devices and features ------ # + +# Choose the language feature(s) to include. See gs.mak for details. +# Since we have a large address space, we include some optional features. + +FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(PSD)os2print.dev + +# Choose whether to compile the .ps initialization files into the executable. +# See gs.mak for details. + +COMPILE_INITS=1 + +# Choose whether to store band lists on files or in memory. +# The choices are 'file' or 'memory'. + +BAND_LIST_STORAGE=file + +# Choose which compression method to use when storing band lists in memory. +# The choices are 'lzw' or 'zlib'. + +BAND_LIST_COMPRESSOR=zlib + +# Choose the implementation of file I/O: 'stdio', 'fd', or 'both'. +# See gs.mak and sfxfd.c for more details. + +FILE_IMPLEMENTATION=stdio + +# Choose the implementation of stdio: '' for file I/O and 'c' for callouts +# See gs.mak and ziodevs.c/ziodevsc.c for more details. + +STDIO_IMPLEMENTATION=c + +# Choose the device(s) to include. See devs.mak for details, +# devs.mak, pcwin.mak, and contrib.mak for the list of available devices. + +!if $(MAKEDLL) +DEVICE_DEVS=$(DD)display.dev $(DD)os2pm.dev $(DD)os2dll.dev $(DD)os2prn.dev +!else +DEVICE_DEVS=$(DD)os2pm.dev +!endif +!if $(BUILD_X11) +DEVICE_DEVS1=$(DD)x11.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev $(DD)x11gray2.dev $(DD)x11gray4.dev $(DD)x11mono.dev +!else +DEVICE_DEVS1= +!endif +DEVICE_DEVS2=$(DD)epson.dev $(DD)eps9high.dev $(DD)eps9mid.dev $(DD)epsonc.dev $(DD)ibmpro.dev +DEVICE_DEVS3=$(DD)deskjet.dev $(DD)djet500.dev $(DD)laserjet.dev $(DD)ljetplus.dev $(DD)ljet2p.dev +DEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev +DEVICE_DEVS5=$(DD)uniprint.dev $(DD)djet500c.dev $(DD)declj250.dev $(DD)lj250.dev +DEVICE_DEVS6=$(DD)st800.dev $(DD)stcolor.dev $(DD)bj10e.dev $(DD)bj200.dev +DEVICE_DEVS7=$(DD)t4693d2.dev $(DD)t4693d4.dev $(DD)t4693d8.dev $(DD)tek4696.dev +DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev +DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev $(DD)pkmraw.dev +DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev +DEVICE_DEVS11=$(DD)bmpmono.dev $(DD)bmpgray.dev $(DD)bmp16.dev $(DD)bmp256.dev $(DD)bmp16m.dev $(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev +DEVICE_DEVS12=$(DD)psmono.dev $(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev +DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev +DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev +DEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)pswrite.dev $(DD)ps2write.dev $(DD)epswrite.dev $(DD)txtwrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev +DEVICE_DEVS16=$(DD)bbox.dev +# Overflow for DEVS3,4,5,6,9 +DEVICE_DEVS17=$(DD)ljet3.dev $(DD)ljet3d.dev $(DD)ljet4.dev $(DD)ljet4d.dev +DEVICE_DEVS18=$(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev $(DD)jetp3852.dev $(DD)r4081.dev +DEVICE_DEVS19=$(DD)lbp8.dev $(DD)m8510.dev $(DD)necp6.dev $(DD)bjc600.dev $(DD)bjc800.dev +DEVICE_DEVS20=$(DD)pnm.dev $(DD)pnmraw.dev $(DD)ppm.dev $(DD)ppmraw.dev $(DD)pamcmyk32.dev +DEVICE_DEVS21= $(DD)spotcmyk.dev $(DD)devicen.dev $(DD)bmpsep1.dev $(DD)bmpsep8.dev $(DD)bmp16m.dev $(DD)bmp32b.dev $(DD)psdcmyk.dev $(DD)psdrgb.dev + +# Include the generic makefiles. +!include "$(GLSRCDIR)\version.mak" +!include "$(GLSRCDIR)\gs.mak" +# psromfs.mak must precede lib.mak +!include "$(GLSRCDIR)\psromfs.mak" +!include "$(GLSRCDIR)\lib.mak" +!include "$(GLSRCDIR)\jpeg.mak" +# zlib.mak must precede libpng.mak +!include "$(GLSRCDIR)\zlib.mak" +!include "$(GLSRCDIR)\libpng.mak" +!include "$(GLSRCDIR)\jbig2.mak" +!include "$(GLSRCDIR)\icclib.mak" +!include "$(GLSRCDIR)\devs.mak" +!include "$(GLSRCDIR)\pcwin.mak" +!include "$(GLSRCDIR)\contrib.mak" +!include "$(PSSRCDIR)\int.mak" + +# -------------------------------- Library -------------------------------- # + +# The GCC/EMX platform + +os2__=$(GLOBJ)gp_getnv.$(OBJ) $(GLOBJ)gp_os2.$(OBJ) $(GLOBJ)gp_stdia.$(OBJ) +$(GLGEN)os2_.dev: $(os2__) $(GLD)nosync.dev + $(SETMOD) $(GLGEN)os2_ $(os2__) -include $(GLD)nosync + +$(GLOBJ)gp_os2.$(OBJ): $(GLSRC)gp_os2.c $(GLSRC)gp_os2.h\ + $(dos__h) $(pipe__h) $(string__h) $(time__h)\ + $(gsdll_h) $(gx_h) $(gsexit_h) $(gsutil_h) $(gp_h) $(gpmisc_h) + $(GLCC) $(GLO_)gp_os2.$(OBJ) $(C_) $(GLSRC)gp_os2.c + +$(GLOBJ)gp_stdia.$(OBJ): $(GLSRC)gp_stdia.c $(AK)\ + $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h) + $(GLCC) $(GLO_)gp_stdia.$(OBJ) $(C_) $(GLSRC)gp_stdia.c + +# Define OS/2 printer (file system) as a separable feature. + +os2print_=$(GLOBJ)gp_os2pr.$(OBJ) +$(GLD)os2print.dev: $(ECHOGS_XE) $(os2print_) + $(SETMOD) $(GLD)os2print $(os2print_) + $(ADDMOD) $(GLD)os2print -iodev printer + +$(GLOBJ)gp_os2pr.$(OBJ): $(GLSRC)gp_os2pr.c $(GLSRC)gp_os2.h $(AK)\ + $(ctype__h) $(errno__h) $(stdio__h) $(string__h)\ + $(gserror_h) $(gsmemory_h) $(gstypes_h) $(gxiodev_h) + $(GLCC) $(GLO_)gp_os2pr.$(OBJ) $(C_) $(GLSRC)gp_os2pr.c + + +# -------------------------- Auxiliary programs --------------------------- # + +#CCAUX=$(COMPDIR)\$(COMP) $(CO) +# emx 0.9d (gcc 2.8.1) crashes when compiling genarch.c with optimizer +CCAUX=$(COMPDIR)\$(COMP) + +$(ECHOGS_XE): $(GLSRCDIR)\echogs.c +!if $(EMX) + $(CCAUX) -o $(AUXGEN)echogs $(GLSRCDIR)\echogs.c + $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)echogs $(ECHOGS_XE) + del $(AUXGEN)echogs +!endif +!if $(IBMCPP) + $(CCAUX) /Fe$(ECHOGS_XE) $(GLSRCDIR)\echogs.c +!endif + +$(GENARCH_XE): $(GLSRCDIR)\genarch.c $(GENARCH_DEPS) + -mkdir $(GLGENDIR) + -mkdir $(BINDIR) +!if $(EMX) + $(CCAUX) -DHAVE_LONG_LONG -o $(AUXGEN)genarch $(GLSRCDIR)\genarch.c + $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)genarch $(GENARCH_XE) + del $(AUXGEN)genarch +!endif +!if $(IBMCPP) + $(CCAUX) /Fe$(GENARCH_XE) $(GLSRCDIR)\genarch.c +!endif + +$(GENCONF_XE): $(GLSRCDIR)\genconf.c $(GENCONF_DEPS) +!if $(EMX) + $(CCAUX) -o $(AUXGEN)genconf $(GLSRCDIR)\genconf.c + $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)genconf $(GENCONF_XE) + del $(AUXGEN)genconf +!endif +!if $(IBMCPP) + $(CCAUX) /Fe$(GENCONF_XE) $(GLSRCDIR)\genconf.c +!endif + +$(GENDEV_XE): $(GLSRCDIR)\gendev.c $(GENDEV_DEPS) +!if $(EMX) + $(CCAUX) -o $(AUXGEN)gendev $(GLSRCDIR)\gendev.c + $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)gendev $(GENDEV_XE) + del $(AUXGEN)gendev +!endif +!if $(IBMCPP) + $(CCAUX) /Fe$(GENDEV_XE) $(GLSRCDIR)\gendev.c +!endif + +$(GENHT_XE): $(PSSRC)genht.c $(GENHT_DEPS) +!if $(EMX) + $(CCAUX) -o $(AUXGEN)genht $(GENHT_CFLAGS) $(PSSRC)genht.c + $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)genht $(GENHT_XE) + del $(AUXGEN)genht +!endif +!if $(IBMCPP) + $(CCAUX) /Fe$(GENHT_XE) genht.c +!endif + +$(GENINIT_XE): $(PSSRC)geninit.c $(GENINIT_DEPS) +!if $(EMX) + $(CCAUX) -o $(AUXGEN)geninit $(PSSRC)geninit.c + $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)geninit $(GENINIT_XE) + del $(AUXGEN)geninit +!endif +!if $(IBMCPP) + $(CCAUX) /Fe$(GENINIT_XE) geninit.c +!endif + +MKROMFS_OBJS=$(MKROMFS_ZLIB_OBJS) $(GLOBJ)gscdefs.$(OBJ) $(os2__) +$(MKROMFS_XE): $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS) +!if $(EMX) + $(CCAUX) -o $(AUXGEN)genht $(GENOPT) $(CFLAGS_DEBUG) $(GLSRC)mkromfs.c + $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)mkromfs $(MKROMFS_OBJS) $(MKROMFS_XE) + del $(AUXGEN)mkromfs +!endif +!if $(IBMCPP) + $(CCAUX) /Fe$(MKROMFS_XE) mkromfs.c +!endif + $(CCAUX) $(GENOPT) $(CFLAGS_DEBUG) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE) $(MKROMFS_DEPS) -lm + +# No special gconfig_.h is needed. +$(gconfig__h): $(TOP_MAKEFILES) $(ECHOGS_XE) + $(ECHOGS_XE) -w $(gconfig__h) /* This file deliberately left blank. */ + +# ----------------------------- Main program ------------------------------ # + +gsdllos2_h=$(GLSRC)gsdllos2.h + +# Interpreter main program + +ICONS=$(PSOBJ)gsos2.ico $(GLOBJ)gspmdrv.ico + +$(PSOBJ)dpmain.$(OBJ): $(PSSRC)dpmain.c $(AK)\ + $(gdevdsp_h) $(iapi_h) $(gscdefs_h) $(ierrors_h) + $(CC) $(CEXE) -I$(PSSRCDIR) -I$(GLSRCDIR) -I$(GLGENDIR) $(PSO_)dpmain.$(OBJ) $(C_) $(PSSRC)dpmain.c + +!if $(MAKEDLL) +#making a DLL +GS_ALL=$(PSOBJ)gsdll.$(OBJ) $(INT_ALL) \ + $(LIB_ALL) $(LIBCTR) $(ld_tr) $(PSOBJ)$(GS).res $(ICONS) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) + +$(GS_XE): $(BINDIR)\$(GSDLL).dll $(PSSRC)dpmain.c $(gsdll_h) $(gsdllos2_h) $(PSSRC)gsos2.rc $(GLOBJ)gscdefs.$(OBJ) +!if $(EMX) + $(COMPDIR)\$(COMP) $(CGDB) $(CO) -Zomf $(MT_OPT) -I$(PSSRCDIR) -I$(GLSRCDIR) -I$(PSOBJDIR) -I$(GLOBJDIR) -o$(GS_XE) $(PSSRC)dpmain.c $(GLOBJ)gscdefs.$(OBJ) $(PSSRC)gsos2.def +!endif +!if $(IBMCPP) + $(CCAUX) -I$(PSSRCDIR) -I$(GLSRCDIR) -I$(PSOBJDIR) -I$(GLOBJDIR) /Fe$(GX_XE) $(PSSRC)dpmain.c $(GLOBJ)gscdefs.$(OBJ) +!endif + rc $(PSOBJ)$(GS).res $(GS_XE) + +$(PSOBJ)gsdll.$(OBJ): $(PSSRC)gsdll.c $(gsdll_h) $(ghost_h) $(gscdefs_h) + $(PSCC) $(PSO_)gsdll.$(OBJ) $(C_) $(PSSRC)gsdll.c + +$(BINDIR)\$(GSDLL).dll: $(GS_ALL) $(ALL_DEVS) $(PSOBJ)gsdll.$(OBJ) +!if $(EMX) + LINK386 /DEBUG $(COMPBASE)\lib\dll0.obj $(COMPBASE)\lib\end.lib @$(ld_tr) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(PSOBJ)gsdll.obj, $(BINDIR)\$(GSDLL).dll, ,$(X11LIBS) $(COMPBASE)\lib\gcc.lib $(COMPBASE)\lib\st\c.lib $(COMPBASE)\lib\st\c_dllso.lib $(COMPBASE)\lib\st\sys.lib $(COMPBASE)\lib\c_alias.lib $(COMPBASE)\lib\os2.lib, $(PSSRC)gsdll2.def +!endif +!if $(IBMCPP) + LINK386 /NOE /DEBUG @$(ld_tr) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(PSOBJ)gsdll.obj, $(BINDIR)\$(GSDLL).dll, , , $(PSSRC)gsdll2.def +!endif + +!else +#making an EXE +GS_ALL=$(PSOBJ)gs.$(OBJ) $(INT_ALL) \ + $(LIB_ALL) $(LIBCTR) $(ld_tr) $(PSOBJ)$(GS).res $(ICONS) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) + +$(GS_XE): $(GS_ALL) $(ALL_DEVS) + $(COMPDIR)\$(COMP) $(CGDB) I$(PSSRCDIR) -I$(GLSRCDIR) -o $(PSOBJ)$(GS) $(PSOBJ)gs.$(OBJ) @$(ld_tr) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) -lm + $(COMPDIR)\emxbind -r$(PSOBJ)$(GS).res $(COMPDIR)\emxl.exe $(PSOBJ)$(GS) $(GS_XE) -ac + del $(PSOBJ)$(GS) +!endif + +# Make the icons from their text form. + +$(PSOBJ)gsos2.ico: $(PSSRC)gsos2.icx $(ECHOGS_XE) + $(ECHOGS_XE) -wb $(PSOBJ)gsos2.ico -n -X -r $(PSSRC)gsos2.icx + +$(GLOBJ)gspmdrv.ico: $(GLSRC)gspmdrv.icx $(ECHOGS_XE) + $(ECHOGS_XE) -wb $(GLOBJ)gspmdrv.ico -n -X -r $(GLSRC)gspmdrv.icx + +$(PSOBJ)$(GS).res: $(PSSRC)$(GS).rc $(PSOBJ)gsos2.ico + rc -i $(COMPBASE)\include -i $(PSSRCDIR) -i $(PSOBJDIR) -r $(PSSRC)$(GS).rc $(PSOBJ)$(GS).res + + +# PM driver program + +$(GLOBJ)gspmdrv.o: $(GLSRC)gspmdrv.c $(GLSRC)gspmdrv.h + $(COMPDIR)\$(COMP) $(CGDB) $(CO) -I$(GLSRCDIR) -o $(GLOBJ)gspmdrv.o -c $(GLSRC)gspmdrv.c + +$(GLOBJ)gspmdrv.res: $(GLSRC)gspmdrv.rc $(GLSRC)gspmdrv.h $(GLOBJ)gspmdrv.ico + rc -i $(COMPBASE)\include -i $(GLSRCDIR) -i $(GLOBJDIR) -r $(GLSRC)gspmdrv.rc $(GLOBJ)gspmdrv.res + +$(BINDIR)\gspmdrv.exe: $(GLOBJ)gspmdrv.o $(GLOBJ)gspmdrv.res $(GLSRC)gspmdrv.def + $(COMPDIR)\$(COMP) $(CGDB) $(CO) -o $(GLOBJ)gspmdrv $(GLOBJ)gspmdrv.o + $(COMPDIR)\emxbind -p -r$(GLOBJ)gspmdrv.res -d$(GLSRC)gspmdrv.def $(COMPDIR)\emxl.exe $(GLOBJ)gspmdrv $(BINDIR)\gspmdrv.exe + del $(GLOBJ)gspmdrv + +# Create a ZIP archive +# This assumes that the current directory is named gs#.## relative to its +# parent, where #.## is the Ghostscript version. + +ZIP_XE=zip +ZIPPROGFILE1=gs$(GS_DOT_VERSION)\bin\gsos2.exe +ZIPPROGFILE2=gs$(GS_DOT_VERSION)\bin\gsdll2.dll +ZIPPROGFILE3=gs$(GS_DOT_VERSION)\bin\gspmdrv.exe +ZIPPROGFILE4=gs$(GS_DOT_VERSION)\doc +ZIPPROGFILE5=gs$(GS_DOT_VERSION)\examples +ZIPPROGFILE6=gs$(GS_DOT_VERSION)\lib +ZIPFONTDIR=fonts + +# Make the zip archive. +zip: + cd .. + -del gs$(GS_VERSION)os2.zip + $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPFONTDIR) + $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE1) + $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE2) + $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE3) + $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE4) + $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE5) + $(ZIP_XE) -9 -r gs$(GS_VERSION)os2.zip $(ZIPPROGFILE6) + cd gs$(GS_DOT_VERSION) |