📄 os2.mak
字号:
INTASM=iutilasm.$(OBJ)
PCFBASM=gdevegaa.$(OBJ)
!else
INTASM=
PCFBASM=
!endif
# Define the generic compilation rules.
ASMFLAGS=$(ASMCPU) $(ASMFPU) $(ASMDEBUG)
.asm.o:
$(ASM) $(ASMFLAGS) $<;
# ---------------------- MS-DOS I/O debugging option ---------------------- #
dosio_=$(GLOBJ)zdosio.$(OBJ)
dosio.dev: $(dosio_)
$(SETMOD) dosio $(dosio_)
$(ADDMOD) dosio -oper zdosio
$(PSOBJ)zdosio.$(OBJ): $(PSSRC)zdosio.c $(OP) $(store_h)
$(PSCC) $(PSO_)zdosio.$(OBJ) $(C_) $(PSSRC)zdosio.c
# ----------------------------- Assembly code ----------------------------- #
$(PSOBJ)iutilasm.$(OBJ): $(PSSRC)iutilasm.asm
################# END
# Define the compilation flags.
!if $(NOPRIVATE)
CP=-DNOPRIVATE
!else
CP=
!endif
!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 -D__DLL__
!endif
!if $(IBMCPP)
CDLL=/Gd- /Ge- /Gm+ /Gs+ /D__DLL__
!endif
!else
CDLL=
!endif
GENOPT=$(CP) $(CD) $(CGDB) $(CDLL) $(CO)
CCFLAGS0=$(GENOPT) $(PLATOPT)
CCFLAGS=$(CCFLAGS0)
CC=$(COMPDIR)\$(COMP) $(CCFLAGS0)
CC_=$(CC)
CC_D=$(CC) $(CO)
CC_INT=$(CC)
CC_LEAF=$(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=psl3.dev pdf.dev
# Choose whether to compile the .ps initialization files into the executable.
# See gs.mak for details.
COMPILE_INITS=0
# 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'. lzw is not recommended, because the
# LZW-compatible code in Ghostscript doesn't actually compress its input.
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 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=os2pm.dev os2dll.dev os2prn.dev
!else
DEVICE_DEVS=os2pm.dev
!endif
#DEVICE_DEVS1=x11.dev x11alpha.dev x11cmyk.dev x11mono.dev
DEVICE_DEVS1=
DEVICE_DEVS2=epson.dev eps9high.dev eps9mid.dev epsonc.dev ibmpro.dev
DEVICE_DEVS3=deskjet.dev djet500.dev laserjet.dev ljetplus.dev ljet2p.dev ljet3.dev ljet4.dev
DEVICE_DEVS4=cdeskjet.dev cdjcolor.dev cdjmono.dev cdj550.dev pj.dev pjxl.dev pjxl300.dev
DEVICE_DEVS5=djet500c.dev declj250.dev lj250.dev jetp3852.dev r4081.dev t4693d2.dev t4693d4.dev t4693d8.dev tek4696.dev lbp8.dev uniprint.dev
DEVICE_DEVS6=st800.dev stcolor.dev bj10e.dev bj200.dev bjc600.dev bjc800.dev m8510.dev necp6.dev
DEVICE_DEVS7=dfaxhigh.dev dfaxlow.dev
DEVICE_DEVS8=pcxmono.dev pcxgray.dev pcx16.dev pcx256.dev pcx24b.dev pcxcmyk.dev
DEVICE_DEVS9=pbm.dev pbmraw.dev pgm.dev pgmraw.dev pgnm.dev pgnmraw.dev pnm.dev pnmraw.dev ppm.dev ppmraw.dev
DEVICE_DEVS10=tiffcrle.dev tiffg3.dev tiffg32d.dev tiffg4.dev tifflzw.dev tiffpack.dev
DEVICE_DEVS11=bmpmono.dev bmp16.dev bmp256.dev bmp16m.dev tiff12nc.dev tiff24nc.dev
DEVICE_DEVS12=psmono.dev psgray.dev bit.dev bitrgb.dev bitcmyk.dev
DEVICE_DEVS13=pngmono.dev pnggray.dev png16.dev png256.dev png16m.dev
DEVICE_DEVS14=jpeg.dev jpeggray.dev
DEVICE_DEVS15=pdfwrite.dev pswrite.dev epswrite.dev pxlmono.dev pxlcolor.dev
# Include the generic makefiles.
!include "version.mak"
!include "gs.mak"
!include "lib.mak"
!include "jpeg.mak"
# zlib.mak must precede libpng.mak
!include "zlib.mak"
!include "libpng.mak"
!include "devs.mak"
!include "pcwin.mak"
!include "contrib.mak"
!include "int.mak"
# -------------------------------- Library -------------------------------- #
# The GCC/EMX platform
os2__=$(GLOBJ)gp_getnv.$(OBJ) $(GLOBJ)gp_nofb.$(OBJ) $(GLOBJ)gp_os2.$(OBJ)
os2_.dev: $(os2__) nosync.dev
$(SETMOD) os2_ $(os2__) -include nosync
!if $(MAKEDLL)
# Using a file device resource to get the console streams re-initialized
# is bad architecture (an upward reference to ziodev),
# but it will have to do for the moment.
# We need to redirect stdin/out/err to gsdll_callback
$(ADDMOD) os2_ -iodev wstdio
!endif
$(GLOBJ)gp_os2.$(OBJ): $(GSLRC)gp_os2.c\
$(dos__h) $(pipe__h) $(string__h) $(time__h)\
$(gsdll_h) $(gx_h) $(gsexit_h) $(gsutil_h) $(gp_h)
$(GLCC) $(GLO_)gp_os2.$(OBJ) $(C_) $(GLSRC)gp_os2.c
# -------------------------- Auxiliary programs --------------------------- #
CCAUX=$(COMPDIR)\$(COMP) $(CO)
$(ECHOGS_XE): echogs.c
!if $(EMX)
$(CCAUX) -o $(AUXGEN)echogs echogs.c
$(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)echogs $(ECHOGS_XE)
del $(AUXGEN)echogs
!endif
!if $(IBMCPP)
$(CCAUX) /Fe$(ECHOGS_XE) echogs.c
!endif
$(GENARCH_XE): genarch.c $(stdpre_h)
!if $(EMX)
$(CCAUX) -o $(AUXGEN)genarch genarch.c
$(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)genarch $(GENARCH_XE)
del $(AUXGEN)genarch
!endif
!if $(IBMCPP)
$(CCAUX) /Fe$(GENARCH_XE) genarch.c
!endif
$(GENCONF_XE): genconf.c $(stdpre_h)
!if $(EMX)
$(CCAUX) -o $(AUXGEN)genconf genconf.c
$(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)genconf $(GENCONF_XE)
del $(AUXGEN)genconf
!endif
!if $(IBMCPP)
$(CCAUX) /Fe$(GENCONF_XE) genconf.c
!endif
$(GENDEV_XE): gendev.c $(stdpre_h)
!if $(EMX)
$(CCAUX) -o $(AUXGEN)gendev gendev.c
$(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)gendev $(GENDEV_XE)
del $(AUXGEN)gendev
!endif
!if $(IBMCPP)
$(CCAUX) /Fe$(GENDEV_XE) gendev.c
!endif
$(GENINIT_XE): $(PSSRC)geninit.c $(stdio__h) $(string__h)
!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
# No special gconfig_.h is needed.
$(gconfig__h): $(MAKEFILE) $(ECHOGS_XE)
$(ECHOGS_XE) -w $(gconfig__h) /* This file deliberately left blank. */
$(gconfigv_h): os2.mak $(MAKEFILE) $(ECHOGS_XE)
$(ECHOGS_XE) -w $(gconfigv_h) -x 23 define USE_ASM -x 2028 -q $(USE_ASM)-0 -x 29
$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define USE_FPU -x 2028 -q $(FPU_TYPE)-0 -x 29
$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define EXTEND_NAMES 0$(EXTEND_NAMES)
$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define SYSTEM_CONSTANTS_ARE_WRITABLE 0$(SYSTEM_CONSTANTS_ARE_WRITABLE)
# ----------------------------- Main program ------------------------------ #
# Interpreter main program
ICONS=gsos2.ico gspmdrv.ico
!if $(MAKEDLL)
#making a DLL
GS_ALL=$(GLOBJ)gsdll.$(OBJ) $(INT_ALL) $(INTASM)\
$(LIB_ALL) $(LIBCTR) $(ld_tr) $(GLGEN)lib.tr $(GS).res $(ICONS)
$(GS_XE): $(GSDLL).dll dpmainc.c $(gsdll_h) gsos2.rc gscdefs.$(OBJ)
!if $(EMX)
$(COMPDIR)\gcc $(CGDB) $(CO) -Zomf -o$(GS_XE) dpmainc.c gscdefs.$(OBJ) gsos2.def
!endif
!if $(IBMCPP)
$(CCAUX) /Fe$(GX_XE) dpmainc.c gscdefs.$(OBJ)
!endif
rc gsos2.res $(GS_XE)
$(GLOBJ)gsdll.$(OBJ): $(GLSRC)gsdll.c $(gsdll_h) $(ghost_h) $(gscdefs_h)
$(PSCC) $(GLO_)gsdll.$(OBJ) $(C_) $(GLSRC)gsdll.c
$(GSDLL).dll: $(GS_ALL) $(ALL_DEVS) $(GLOBJ)gsdll.$(OBJ)
!if $(EMX)
LINK386 /DEBUG $(COMPBASE)\lib\dll0.obj $(COMPBASE)\lib\end.lib @$(ld_tr) $(GLOBJ)gsdll.obj, $(GSDLL).dll, ,$(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, gsdll2.def
!endif
!if $(IBMCPP)
LINK386 /NOE /DEBUG @$(ld_tr) $(GLOBJ)gsdll.obj, $(GSDLL).dll, , , gsdll2.def
!endif
!else
#making an EXE
GS_ALL=$(GLOBJ)gs.$(OBJ) $(INT_ALL) $(INTASM)\
$(LIB_ALL) $(LIBCTR) $(ld_tr) $(GLGEN)lib.tr $(GS).res $(ICONS)
$(GS_XE): $(GS_ALL) $(ALL_DEVS)
$(COMPDIR)\gcc $(CGDB) -o $(GS) $(GLOBJ)gs.$(OBJ) @$(ld_tr) $(INTASM) -lm
$(COMPDIR)\emxbind -r$*.res $(COMPDIR)\emxl.exe $(GS) $(GS_XE) -ac
del $(GS)
!endif
# Make the icons from their text form.
gsos2.ico: gsos2.icx $(ECHOGS_XE)
$(ECHOGS_XE) -wb gsos2.ico -n -X -r gsos2.icx
gspmdrv.ico: gspmdrv.icx $(ECHOGS_XE)
$(ECHOGS_XE) -wb gspmdrv.ico -n -X -r gspmdrv.icx
$(GS).res: $(GS).rc gsos2.ico
rc -i $(COMPBASE)\include -r $*.rc
# PM driver program
gspmdrv.o: gspmdrv.c $(GLSRC)gspmdrv.h
$(COMPDIR)\gcc $(CGDB) $(CO) -c $*.c
gspmdrv.res: gspmdrv.rc $(GLSRC)gspmdrv.h gspmdrv.ico
rc -i $(COMPBASE)\include -r $*.rc
gspmdrv.exe: gspmdrv.o gspmdrv.res gspmdrv.def
$(COMPDIR)\gcc $(CGDB) $(CO) -o $* $*.o
$(COMPDIR)\emxbind -p -r$*.res -d$*.def $(COMPDIR)\emxl.exe $* $*.exe
del $*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -