summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile32
-rw-r--r--common/ugcc_top.mak158
-rw-r--r--language_switch/pspcl6_gcc.mak62
-rw-r--r--main/pcl6_gcc.mak65
-rw-r--r--pl/plimpl.c6
-rw-r--r--xps/xps.mak10
-rw-r--r--xps/xps_gcc.mak23
7 files changed, 129 insertions, 227 deletions
diff --git a/Makefile b/Makefile
index 204f4f4a8..4f8ed3c77 100644
--- a/Makefile
+++ b/Makefile
@@ -16,10 +16,10 @@ product: pcl
# specific front-end targets
pcl:
- $(MAKE) -C main -f pcl6_gcc.mak product # build PCL and PCLXL.
+ $(MAKE) -C main -f pcl6_gcc.mak pdl_product # build PCL and PCLXL.
pcl_debug:
- $(MAKE) -C main -f pcl6_gcc.mak debug
+ $(MAKE) -C main -f pcl6_gcc.mak pdl_debug
fonts:
mkdir -p /windows/fonts/ # make a font directory. 2
@@ -27,7 +27,7 @@ fonts:
touch fonts
pcl_profile:
- $(MAKE) -C main -f pcl6_gcc.mak pg
+ $(MAKE) -C main -f pcl6_gcc.mak pdl_pg
pcl_install:
install main/obj/pcl6 /usr/local/bin
@@ -44,17 +44,17 @@ pcl_test:
# names here so they could be removed individually.
pcl_clean:
- $(MAKE) -C main -f pcl6_gcc.mak clean
+ $(MAKE) -C main -f pcl6_gcc.mak pdl_clean
rm -f fonts
xps_debug:
- $(MAKE) -C xps -f xps_gcc.mak debug
+ $(MAKE) -C xps -f xps_gcc.mak pdl_debug
xps:
$(MAKE) -C xps -f xps_gcc.mak # build XPS
xps_clean:
- $(MAKE) -C xps -f xps_gcc.mak clean
+ $(MAKE) -C xps -f xps_gcc.mak pdl_clean
#### UFST LIBRARY DEPENDENCY RULES ####
@@ -64,13 +64,13 @@ ufst:
#### LANGUAGE SWITCHING PRODUCT RULES ####
ls_profile:
- $(MAKE) -C language_switch -f pspcl6_gcc.mak pg
+ $(MAKE) -C language_switch -f pspcl6_gcc.mak pdl_pg
ls_product:
- $(MAKE) -C language_switch -f pspcl6_gcc.mak product # build PS/PCL/XL.
+ $(MAKE) -C language_switch -f pspcl6_gcc.mak pdl_product # build PS/PCL/XL.
ls_debug:
- $(MAKE) -C language_switch -f pspcl6_gcc.mak debug
+ $(MAKE) -C language_switch -f pspcl6_gcc.mak pdl_debug
ls_fonts:
mkdir -p /windows/fonts/ # make a font directory. 2
@@ -94,37 +94,37 @@ check:
# names here so they could be removed individually.
ls_clean:
- $(MAKE) -C language_switch -f pspcl6_gcc.mak clean
+ $(MAKE) -C language_switch -f pspcl6_gcc.mak pdl_clean
rm -f fonts /usr/local/bin/pspcl6
# shortcuts for common build types.
ls_uproduct: ufst
- $(MAKE) -C language_switch -f pspcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj"
+ $(MAKE) -C language_switch -f pspcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj" pdl_product
cp *.icc ./language_switch/ufst-obj
cp wts_* ./language_switch/ufst-obj
ls_udebug: ufst
- $(MAKE) -C language_switch -f pspcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj" debug
+ $(MAKE) -C language_switch -f pspcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj" pdl_debug
cp *.icc ./language_switch/ufst-obj
cp wts_* ./language_switch/ufst-obj
ls_uclean:
- $(MAKE) -C language_switch -f pspcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj" clean
+ $(MAKE) -C language_switch -f pspcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj" pdl_clean
$(MAKE) -C ufst/rts/lib -f makefile.artifex clean
uproduct: ufst
- $(MAKE) -C main -f pcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj" product
+ $(MAKE) -C main -f pcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj" pdl_product
cp *.icc ./main/ufst-obj
cp wts_* ./main/ufst-obj
udebug: ufst
- $(MAKE) -C main -f pcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-debugobj" debug
+ $(MAKE) -C main -f pcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-debugobj" pdl_debug
cp *.icc ./main/ufst-debugobj
cp wts_* ./main/ufst-debugobj
uclean:
- $(MAKE) -C main -f pcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj" clean
+ $(MAKE) -C main -f pcl6_gcc.mak PL_SCALER=ufst GENDIR="./ufst-obj" pdl_clean
$(MAKE) -C ufst/rts/lib -f makefile.artifex clean
all_debug: pcl_debug udebug ls_debug ls_udebug xps_debug
diff --git a/common/ugcc_top.mak b/common/ugcc_top.mak
index 3cdcb2438..673617223 100644
--- a/common/ugcc_top.mak
+++ b/common/ugcc_top.mak
@@ -12,7 +12,7 @@
#
# ugcc_top.mak
# Generic top-level makefile for Unix/gcc platforms.
-
+#
# The product-specific top-level makefile defines the following:
# MAKEFILE, CCLD, COMMONDIR, CONFIG, DEVICE_DEVS,
# GCFLAGS, GENDIR, GLSRCDIR, GLGENDIR, GLOBJDIR, PSD
@@ -26,154 +26,88 @@ include $(COMMONDIR)/gccdefs.mak
include $(COMMONDIR)/unixdefs.mak
include $(COMMONDIR)/generic.mak
-# HACK - allow pcl and xl to see gs header definitions
+# these gems were plucked from the old ugcclib.mak. The CC options
+# seem to be out of sync.
+BINDIR=./libobj
+PSRESDIR=./Resource
+GLD=$(GLGENDIR)/
+CCFLAGS=$(GENOPT) $(CFLAGS)
+CC_=$(CC) $(CCFLAGS)
+CCAUX=$(CC)
+CC_NO_WARN=$(CC_) -Wno-cast-qual -Wno-traditional
+CC_SHARED=$(CC_)
+
+include $(GLSRCDIR)/unixhead.mak
+include $(GLSRCDIR)/gs.mak
include $(GLSRCDIR)/lib.mak
+include $(GLSRCDIR)/int.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)/ijs.mak
+include $(GLSRCDIR)/devs.mak
+include $(GLSRCDIR)/contrib.mak
+include $(GLSRCDIR)/unix-aux.mak
+include $(GLSRCDIR)/unix-end.mak
+include $(GLSRCDIR)/version.mak
+
+
+UGCC_TOP_DIR:
+ @if test ! -d $(GLGENDIR); then mkdir $(GLGENDIR); fi
# Configure for debugging
-debug:
- $(MAKE) -f $(firstword $(MAKEFILE)) GENOPT='-DDEBUG' CFLAGS='-ggdb -g3 -O0 $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS)'
+pdl_debug: UGCC_TOP_DIR
+ $(MAKE) -f $(firstword $(MAKEFILE)) GENOPT='-DDEBUG' CFLAGS='-ggdb -g3 -O0 $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS)' pdl_default
-pg-with-cov:
- $(MAKE) -f $(firstword $(MAKEFILE)) GENDIR=$(PGGENDIR) GENOPT='' CFLAGS='-g -pg -O2 -fprofile-arcs -ftest-coverage $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS) -pg -fprofile-arcs -ftest-coverage -static'
+pdl_pg-with-cov: UGCC_TOP_DIR
+ $(MAKE) -f $(firstword $(MAKEFILE)) GENDIR=$(PGGENDIR) GENOPT='' CFLAGS='-g -pg -O2 -fprofile-arcs -ftest-coverage $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS) -pg -fprofile-arcs -ftest-coverage' pdl_default
# Configure for profiling
-pg:
- $(MAKE) -f $(firstword $(MAKEFILE)) GENDIR=$(PGGENDIR) GENOPT='' CFLAGS='-g -pg -O2 $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS) -pg -static'
+pdl_pg: UGCC_TOP_DIR
+ $(MAKE) -f $(firstword $(MAKEFILE)) GENDIR=$(PGGENDIR) GENOPT='' CFLAGS='-g -pg -O2 $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS) -pg' pdl_default
# Configure for optimization.
-product:
- $(MAKE) -f $(firstword $(MAKEFILE)) GENOPT='' GCFLAGS='$(GCFLAGS)' CFLAGS='-O2 $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS)'
+pdl_product: UGCC_TOP_DIR
+ $(MAKE) -f $(firstword $(MAKEFILE)) GENOPT='' GCFLAGS='$(GCFLAGS)' CFLAGS='-O2 $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS)' pdl_default
clean_gs:
$(MAKE) -f $(GLSRCDIR)/ugcclib.mak \
GLSRCDIR='$(GLSRCDIR)' GLGENDIR='$(GLGENDIR)' \
GLOBJDIR='$(GLOBJDIR)' clean
-ifeq ($(PSICFLAGS), -DPSI_INCLUDED)
-# Build the required GS library files. It's simplest always to build
-# the floating point emulator, even though we don't always link it in.
-# HACK * HACK * HACK - we force this make to occur since we have no
-# way to determine if gs files are out of date.
-$(GENDIR)/ldgs.tr: FORCE
- -mkdir $(GLGENDIR)
- -mkdir $(GLOBJDIR)
- $(MAKE) \
- CCAUX='$(CCAUX)'\
- GCFLAGS='$(GCFLAGS)' \
- CONFIG='$(CONFIG)' FEATURE_DEVS='$(FEATURE_DEVS)' \
- XINCLUDE='$(XINCLUDE)' XLIBDIRS='$(XLIBDIRS)' XLIBDIR='$(XLIBDIR)' XLIBS='$(XLIBS)' \
- DEVICE_DEVS='$(DEVICE_DEVS) $(DD)bbox.dev' \
- DEVICE_DEVS1= DEVICE_DEVS2= DEVICE_DEVS3= DEVICE_DEVS4= \
- DEVICE_DEVS5= DEVICE_DEVS6= DEVICE_DEVS7= DEVICE_DEVS8= \
- DEVICE_DEVS9= DEVICE_DEVS10= DEVICE_DEVS11= DEVICE_DEVS12= \
- DEVICE_DEVS13= DEVICE_DEVS14= DEVICE_DEVS15= DEVICE_DEVS16= \
- DEVICE_DEVS17= DEVICE_DEVS18= DEVICE_DEVS19= DEVICE_DEVS20= \
- DEVICE_DEVS21= STDLIBS=$(STDLIBS) \
- SYNC=$(SYNC) \
- BAND_LIST_STORAGE=memory BAND_LIST_COMPRESSOR=zlib \
- ZSRCDIR=$(ZSRCDIR) ZGENDIR=$(ZGENDIR) ZOBJDIR=$(ZOBJDIR) ZLIB_NAME=$(ZLIB_NAME) SHARE_ZLIB=$(SHARE_ZLIB) \
- JSRCDIR=$(JSRCDIR) JGENDIR=$(JGENDIR) JOBJDIR=$(JOBJDIR) \
- GLSRCDIR='$(GLSRCDIR)' PSSRCDIR=$(PSSRCDIR) PSGENDIR=$(GENDIR) PSD='$(GENDIR)/' \
- GLGENDIR='$(GLGENDIR)' GLOBJDIR='$(GLOBJDIR)' PSLIBDIR=$(PSLIBDIR) \
- EXPATSRCDIR=$(EXPATSRCDIR) SHARE_EXPAT=$(SHARE_EXPAT) \
- EXPAT_CFLAGS=$(EXPAT_CFLAGS) \
- ICCSRCDIR=$(ICCSRCDIR) IMDISRCDIR=$(IMDISRCDIR) \
- COMPILE_INITS=$(COMPILE_INITS) PCLXL_ROMFS_ARGS='$(PCLXL_ROMFS_ARGS)' PJL_ROMFS_ARGS='$(PJL_ROMFS_ARGS)' \
- UFST_ROOT=$(UFST_ROOT) UFST_BRIDGE=$(UFST_BRIDGE) UFST_LIB_EXT=$(UFST_LIB_EXT) \
- UFST_ROMFS_ARGS='$(UFST_ROMFS_ARGS)' \
- PNGSRCDIR=$(PNGSRCDIR) \
- SHARE_LIBPNG=$(SHARE_LIBPNG) PNGCCFLAGS=$(PNGCCFLAGS) \
- PSOBJDIR=$(GENDIR) IJSSRCDIR=../gs/ijs \
- -f $(GLSRCDIR)/unix-gcc.mak\
- $(GLOBJDIR)/ld.tr \
- $(GLOBJDIR)/gsargs.o \
- $(GLOBJDIR)/gconfig.o $(GLOBJDIR)/gscdefs.o $(GLOBJDIR)/iconfig.$(OBJ) \
- $(GLOBJDIR)/iccinit$(COMPILE_INITS).$(OBJ)
- cp $(GLOBJDIR)/ld.tr $(GENDIR)/ldgs.tr
-
-FORCE:
-
-else
-
-# COMPILE_INITS=1 means we need to make sure the gsromfs is built (PS includes
-# it in 'int.mak'
-ifeq ($(COMPILE_INITS), 1)
-ROMFS=$(GLOBJDIR)/gsromfs.o
-endif
-
-# Build the required GS library files. It's simplest always to build
-# the floating point emulator, even though we don't always link it in.
-# HACK * HACK * HACK - we force this make to occur since we have no
-# way to determine if gs files are out of date.
-# We make a dummy gs_init.ps since this is hard coded as a dependency of gsromfs.c
-# to avoid having to define everything in the top level makefiles (also of a hack)
-$(GENDIR)/ldgs.tr: FORCE
- -mkdir $(GLGENDIR)
- -mkdir $(GLOBJDIR)
- touch $(GLOBJDIR)/gs_init.ps
- $(MAKE) \
- CCAUX='$(CCAUX)'\
- GCFLAGS='$(GCFLAGS)' \
- CONFIG='$(CONFIG)' FEATURE_DEVS='$(FEATURE_DEVS)' \
- XINCLUDE='$(XINCLUDE)' XLIBDIRS='$(XLIBDIRS)' XLIBDIR='$(XLIBDIR)' XLIBS='$(XLIBS)' \
- DEVICE_DEVS='$(DEVICE_DEVS) $(DD)bbox.dev' \
- STDLIBS=$(STDLIBS) \
- SYNC=$(SYNC) \
- BAND_LIST_STORAGE=memory BAND_LIST_COMPRESSOR=zlib \
- ZSRCDIR=$(ZSRCDIR) ZGENDIR=$(ZGENDIR) ZOBJDIR=$(ZOBJDIR) ZLIB_NAME=$(ZLIB_NAME) SHARE_ZLIB=$(SHARE_ZLIB) \
- JSRCDIR=$(JSRCDIR) JGENDIR=$(JGENDIR) JOBJDIR=$(JOBJDIR) \
- GLSRCDIR='$(GLSRCDIR)' PSSRCDIR=$(PSSRCDIR) PSGENDIR=$(GENDIR) PSD='$(GENDIR)/' \
- GLGENDIR='$(GLGENDIR)' GLOBJDIR='$(GLOBJDIR)' PSLIBDIR=$(PSLIBDIR) \
- EXPATSRCDIR=$(EXPATSRCDIR) SHARE_EXPAT=$(SHARE_EXPAT) \
- EXPAT_CFLAGS=$(EXPAT_CFLAGS) \
- ICCSRCDIR=$(ICCSRCDIR) IMDISRCDIR=$(IMDISRCDIR) \
- COMPILE_INITS=$(COMPILE_INITS) PCLXL_ROMFS_ARGS='$(PCLXL_ROMFS_ARGS)' PJL_ROMFS_ARGS='$(PJL_ROMFS_ARGS)' \
- UFST_ROOT=$(UFST_ROOT) UFST_BRIDGE=$(UFST_BRIDGE) UFST_LIB_EXT=$(UFST_LIB_EXT) \
- UFST_ROMFS_ARGS='$(UFST_ROMFS_ARGS)' \
- UFST_CFLAGS='$(UFST_CFLAGS)' \
- PNGSRCDIR=$(PNGSRCDIR) \
- SHARE_LIBPNG=$(SHARE_LIBPNG) PNGCCFLAGS=$(PNGCCFLAGS) \
- PSOBJDIR=$(GENDIR) IJSSRCDIR=../gs/ijs \
- -f $(GLSRCDIR)/ugcclib.mak \
- $(GLOBJDIR)/ld.tr \
- $(GLOBJDIR)/gsargs.o \
- $(GLOBJDIR)/gconfig.o $(GLOBJDIR)/gscdefs.o $(ROMFS)
- cp $(GLOBJDIR)/ld.tr $(GENDIR)/ldgs.tr
-
-FORCE:
-
-endif
-
# Build the configuration file.
$(GENDIR)/pconf.h $(GENDIR)/ldconf.tr: $(TARGET_DEVS) $(GLOBJDIR)/genconf$(XE)
$(GLOBJDIR)/genconf -n - $(TARGET_DEVS) -h $(GENDIR)/pconf.h -p "%s&s&&" -o $(GENDIR)/ldconf.tr
# Create a library
-$(TARGET_LIB): $(GENDIR)/ldgs.tr $(GENDIR)/ldconf.tr $(MAIN_OBJ) $(TOP_OBJ)
+$(TARGET_LIB): $(ld_tr) $(GENDIR)/ldconf.tr $(MAIN_OBJ) $(TOP_OBJ)
$(ECHOGS_XE) -w $(GENDIR)/ldall.tr -n - $(AR) $(ARFLAGS) $@
$(ECHOGS_XE) -a $(GENDIR)/ldall.tr -n -s $(TOP_OBJ) $(GLOBJDIR)/gsargs.o $(GLOBJDIR)/gconfig.o $(GLOBJDIR)/gscdefs.o -s
$(ECHOGS_XE) -a $(GENDIR)/ldall.tr -n -s $(XOBJS) -s
- cat $(GENDIR)/ldgs.tr $(GENDIR)/ldconf.tr | grep ".o" >>$(GENDIR)/ldall.tr
+ cat $(GENDIR)/ldt.tr $(GENDIR)/ldconf.tr | grep ".o" >>$(GENDIR)/ldall.tr
$(ECHOGS_XE) -a $(GENDIR)/ldall.tr -s - $(MAIN_OBJ)
LD_RUN_PATH=$(XLIBDIR); export LD_RUN_PATH; sh <$(GENDIR)/ldall.tr
ifeq ($(PSICFLAGS), -DPSI_INCLUDED)
# Link a Unix executable.
-$(TARGET_XE): $(GENDIR)/ldgs.tr $(GENDIR)/ldconf.tr $(MAIN_OBJ) $(TOP_OBJ)
+$(TARGET_XE): $(ld_tr) $(GENDIR)/ldconf.tr $(MAIN_OBJ) $(TOP_OBJ)
$(ECHOGS_XE) -w $(GENDIR)/ldall.tr -n - $(CCLD) $(LDFLAGS) $(XLIBDIRS) -o $(TARGET_XE)
- $(ECHOGS_XE) -a $(GENDIR)/ldall.tr -n -s $(TOP_OBJ) -s
+ $(ECHOGS_XE) -a $(GENDIR)/ldall.tr -n -s $(TOP_OBJ) -s
$(ECHOGS_XE) -a $(GENDIR)/ldall.tr -n -s $(XOBJS) -s
- cat $(GENDIR)/ldgs.tr $(GENDIR)/ldconf.tr >>$(GENDIR)/ldall.tr
+ cat $(ld_tr) $(GENDIR)/ldconf.tr >>$(GENDIR)/ldall.tr
$(ECHOGS_XE) -a $(GENDIR)/ldall.tr -s - $(MAIN_OBJ) $(EXTRALIBS) $(STDLIBS)
sh <$(GENDIR)/ldall.tr
else
# Link a Unix executable.
-$(TARGET_XE): $(GENDIR)/ldgs.tr $(GENDIR)/ldconf.tr $(MAIN_OBJ) $(TOP_OBJ)
+$(TARGET_XE): $(ld_tr) $(GENDIR)/ldconf.tr $(MAIN_OBJ) $(TOP_OBJ) $(GLOBJDIR)/gsargs.o $(GLOBJDIR)/gconfig.o $(GLOBJDIR)/gscdefs.o
$(ECHOGS_XE) -w $(GENDIR)/ldall.tr -n - $(CCLD) $(LDFLAGS) $(XLIBDIRS) -o $(TARGET_XE)
$(ECHOGS_XE) -a $(GENDIR)/ldall.tr -n -s $(TOP_OBJ) $(GLOBJDIR)/gsargs.o $(GLOBJDIR)/gconfig.o $(GLOBJDIR)/gscdefs.o -s
$(ECHOGS_XE) -a $(GENDIR)/ldall.tr -n -s $(XOBJS) -s
- cat $(GENDIR)/ldgs.tr $(GENDIR)/ldconf.tr >>$(GENDIR)/ldall.tr
+ cat $(ld_tr) $(GENDIR)/ldconf.tr >>$(GENDIR)/ldall.tr
$(ECHOGS_XE) -a $(GENDIR)/ldall.tr -s - $(MAIN_OBJ) $(EXTRALIBS) $(STDLIBS)
sh <$(GENDIR)/ldall.tr
endif
diff --git a/language_switch/pspcl6_gcc.mak b/language_switch/pspcl6_gcc.mak
index 01a3bfe71..80c78aeee 100644
--- a/language_switch/pspcl6_gcc.mak
+++ b/language_switch/pspcl6_gcc.mak
@@ -11,29 +11,15 @@
# Define the name of this makefile.
MAKEFILE+= ../language_switch/pspcl6_gcc.mak
-# Pick (uncomment) one font system technology
-# afs (Artifex/gs native) or ufst (AGFA UFST)
-PL_SCALER?=afs
-#PL_SCALER?=ufst
-
-# The build process will put all of its output in this directory:
-# GENDIR is defined in the 'base' makefile, but we need its value immediately
-GENDIR?=./obj
-
# The sources are taken from these directories:
-APPSRCDIR?=.
MAINSRCDIR?=../main
PSSRCDIR?=../gs/src
PSISRCDIR?=../psi
PSLIBDIR?=../gs/lib
ICCSRCDIR?=../gs/icclib
-PNGSRCDIR?=../gs/libpng
# Path for including gs/Resource into romfs (replaces the gs default) :
PSRESDIR?=../gs/Resource
-
-APP_CCC?=$(CC_) -I../pl -I../gs/src -I./obj $(C_)
-
# PLPLATFORM indicates should be set to 'ps' for language switch
# builds and null otherwise.
PLPLATFORM?=ps
@@ -48,61 +34,35 @@ JGENDIR?=$(GENDIR)
JOBJDIR?=$(GENDIR)
ZGENDIR?=$(GENDIR)
ZOBJDIR?=$(GENDIR)
+PSD?=$(GENDIR)/
# Executable path\name w/o the .EXE extension
TARGET_XE?=$(GENDIR)/pspcl6
# Main file's name
PSI_TOP_OBJ?=$(PSIOBJDIR)/psitop.$(OBJ)
-TOP_OBJ+= $(PSI_TOP_OBJ)
-
-# Choose COMPILE_INITS=1 for init files and fonts in ROM (otherwise =0)
-COMPILE_INITS?=1
+PCL_TOP_OBJ?=$(PCLOBJDIR)/pctop.$(OBJ)
+PXL_TOP_OBJ?=$(PXLOBJDIR)/pxtop.$(OBJ)
-# defines for building PSI against UFST
-ifeq ($(PL_SCALER), ufst)
+TOP_OBJ=$(PSI_TOP_OBJ) $(PCL_TOP_OBJ) $(PXL_TOP_OBJ)
-ifeq ($(COMPILE_INITS), 1)
-UFSTFONTDIR=%rom%fontdata/
-else
-UFSTFONTDIR=/usr/local/fontdata5.0/
-endif
-
-UFST_ROOT?=../ufst
-FAPI_DEFS?= -DUFST_BRIDGE=1 -DUFST_LIB_EXT=.a -DGCCx86 -DUFST_ROOT=$(UFST_ROOT)
-UFST_BRIDGE=1
-UFST_LIB_EXT=.a
-endif
-
-GX_COLOR_INDEX_DEFINE?=-DGX_COLOR_INDEX_TYPE="unsigned long long"
-# Stupid autoconf coupling
-HAVE_STDINT_H_DEFINE?=-DHAVE_STDINT_H
+# Choose COMPILE_INITS=1 for init files and fonts in ROM (otherwise =0)
+COMPILE_INITS?=0
-# Assorted definitions. Some of these should probably be factored out....
-# We use -O0 for debugging, because optimization confuses gdb.
-# Note that the omission of -Dconst= rules out the use of gcc versions
-# between 2.7.0 and 2.7.2 inclusive. (2.7.2.1 is OK.)
PSICFLAGS?=-DPSI_INCLUDED
+PDL_INCLUDE_FLAGS?=-DPCL_INCLUDED $(PSICFLAGS)
+DD=$(GLGENDIR)/
-# #define xxx_BIND is in std.h
-# putting compile time bindings here will have the side effect of having different options
-# based on application build. PSI_INCLUDED is and example of this.
-EXPERIMENT_CFLAGS?=
-
-GCFLAGS?=-Wall -Wpointer-arith -Wstrict-prototypes -Wwrite-strings -DNDEBUG $(PSICFLAGS) $(EXPERIMENT_CFLAGS) $(HAVE_STDINT_H_DEFINE) $(GX_COLOR_INDEX_DEFINE) $(FAPI_DEFS)
-CFLAGS?=-g -O0 $(GCFLAGS) $(XCFLAGS) $(PSICFLAGS)
-
-FEATURE_CORE ?= \
+FEATURE_DEVS ?= \
$(DD)psl3.dev \
$(DD)pdf.dev \
$(DD)dpsnext.dev \
$(DD)htxlib.dev \
$(DD)roplib.dev \
$(DD)ttfont.dev \
- $(DD)pipe.dev
-
-FEATURE_DEVS ?= $(FEATURE_CORE) $(DD)fapi.dev
+ $(DD)pipe.dev \
+ $(DD)fapi.dev
# "Subclassed" makefile
include $(MAINSRCDIR)/pcl6_gcc.mak
diff --git a/main/pcl6_gcc.mak b/main/pcl6_gcc.mak
index 9903068fd..151b24022 100644
--- a/main/pcl6_gcc.mak
+++ b/main/pcl6_gcc.mak
@@ -15,6 +15,9 @@ PL_SCALER?=afs
# define if this is a cygwin system.
CYGWIN?=
+# extra cflags
+XCFLAGS?=
+
# The build process will put all of its output in this directory:
GENDIR?=./obj
PGGENDIR?=./pgobj
@@ -41,6 +44,9 @@ PNGCCFLAGS?=-DPNG_USER_MEM_SUPPORTED
IMDISRCDIR?=../gs/imdi
+# PCL_INCLUDED means pcl + pcl xl
+PDL_INCLUDE_FLAGS?=-DPCL_INCLUDED
+
# Choose COMPILE_INITS=1 for init files and fonts in ROM (otherwise =0)
COMPILE_INITS?=0
@@ -52,6 +58,33 @@ PLPLATFORM?=
JSRCDIR?=../gs/jpeg
JGENDIR?=$(GENDIR)
JOBJDIR?=$(GENDIR)
+SHARE_JPEG?=0
+
+# ridiculousness, not worth documenting.
+AK?=
+
+# specify if banding should be memory or file based, and choose a
+# compression method.
+
+BAND_LIST_STORAGE=memory
+BAND_LIST_COMPRESSOR=zlib
+
+# file implementation for high level devices.
+FILE_IMPLEMENTATION=stdio
+
+# stdio
+STDIO_IMPLEMENTATION=c
+
+# taken from ugcclib.mak... hmmph.
+gsdir?=/usr/local/share/ghostscript
+gsdatadir?=$(gsdir)/$(GS_DOT_VERSION)
+GS_DOCDIR?=$(gsdatadir)/doc
+GS_LIB_DEFAULT?=$(gsdatadir)/lib:$(gsdatadir)/Resource/Font:$(gsdir)/fonts
+SEARCH_HERE_FIRST?=1
+GS_INIT?=gs_init.ps
+GS?=
+# end hmmph
+
# If you want to build the individual packages in their own directories,
# you can define this here, although normally you won't need to do this:
@@ -66,25 +99,13 @@ PXLOBJDIR?=$(GENDIR)
PCLOBJDIR?=$(GENDIR)
XPSOBJDIR?=$(GENDIR)
-# Language and configuration. These are actually platform-independent,
-# but we define them here just to keep all parameters in one place.
-ifeq ($(XPS_INCLUDED), TRUE)
-TARGET_DEVS?=$(PXLOBJDIR)/pxl.dev $(PCLOBJDIR)/pcl5c.dev $(PCLOBJDIR)/hpgl2c.dev $(XPSOBJDIR)/xps.dev
-else
TARGET_DEVS?=$(PXLOBJDIR)/pxl.dev $(PCLOBJDIR)/pcl5c.dev $(PCLOBJDIR)/hpgl2c.dev
-endif
TARGET_XE?=$(GENDIR)/pcl6
TARGET_LIB?=$(GENDIR)/pcl6.a
MAIN_OBJ?=$(PLOBJDIR)/plmain.$(OBJ) $(PLOBJDIR)/plimpl.$(OBJ)
PCL_TOP_OBJ?=$(PCLOBJDIR)/pctop.$(OBJ)
PXL_TOP_OBJ?=$(PXLOBJDIR)/pxtop.$(OBJ)
-ifeq ($(XPS_INCLUDED), TRUE)
-XPS_TOP_OBJ?=$(XPSOBJDIR)/xpstop.$(OBJ)
-TOP_OBJ+= $(PCL_TOP_OBJ) $(PXL_TOP_OBJ) $(XPS_TOP_OBJ)
-XCFLAGS?=-DXPS_INCLUDED
-else
-TOP_OBJ+= $(PCL_TOP_OBJ) $(PXL_TOP_OBJ)
-endif
+TOP_OBJ?=$(PCL_TOP_OBJ) $(PXL_TOP_OBJ)
# note agfa gives its libraries incompatible names so they cannot be
# properly found by the linker. Change the library names to reflect the
@@ -131,7 +152,7 @@ endif # PL_SCALER = ufst
# flags for artifex scaler
ifeq ($(PL_SCALER), afs)
-
+UFST_BRIDGE?=
# The mkromfs arguments for including the PCL fonts if COMPILE_INITS=1
PCLXL_ROMFS_ARGS?= -P ../urwfonts -d ttfonts /
@@ -152,10 +173,6 @@ endif # PL_SCALER = afs
GX_COLOR_INDEX_DEFINE?=-DGX_COLOR_INDEX_TYPE="unsigned long long"
-# and this definition if devicen support is not required
-
-# GX_COLOR_INDEX_DEFINE=
-
HAVE_STDINT_H_DEFINE?=-DHAVE_STDINT_H
HAVE_MKSTEMP_DEFINE?=-DHAVE_MKSTEMP
@@ -167,13 +184,12 @@ HAVE_MKSTEMP_DEFINE?=-DHAVE_MKSTEMP
GCFLAGS?=-Wall -Wundef -Wstrict-prototypes -Wmissing-declarations \
-Wmissing-prototypes -Wpointer-arith -Wwrite-strings \
- -Wcast-qual -Wwrite-strings \
+ -Wcast-qual -Wwrite-strings -Wno-strict-aliasing \
-fno-builtin -fno-common \
-DNDEBUG \
$(HAVE_STDINT_H_DEFINE) $(HAVE_MKSTEMP_DEFINE) \
- $(GX_COLOR_INDEX_DEFINE)
+ $(GX_COLOR_INDEX_DEFINE) $(PSICFLAGS) $(PDL_INCLUDE_FLAGS)
-# CFLAGS?=-g -O0 $(GCFLAGS) $(XCFLAGS)
CFLAGS?= $(GCFLAGS) $(XCFLAGS)
XINCLUDE?=-I/usr/X11R6/include
@@ -183,7 +199,7 @@ XLIBS?=Xt SM ICE Xext X11
CCLD?=gcc
-DD='$(GLGENDIR)$(D)'
+DD=$(GLGENDIR)/
DEVICES_DEVS?=$(DD)ljet4.dev $(DD)djet500.dev $(DD)cljet5pr.dev $(DD)cljet5c.dev\
@@ -229,13 +245,10 @@ include $(COMMONDIR)/ugcc_top.mak
include $(PLSRCDIR)/pl.mak
include $(PXLSRCDIR)/pxl.mak
include $(PCLSRCDIR)/pcl.mak
-ifeq ($(XPS_INCLUDED), TRUE)
-include $(XPSSRCDIR)/xps.mak
-endif
# Main program.
-default: $(TARGET_XE)$(XE)
+pdl_default: $(TARGET_XE)$(XE)
echo Done.
clean: config-clean clean-not-config-clean
diff --git a/pl/plimpl.c b/pl/plimpl.c
index bd20183cb..63e6025c6 100644
--- a/pl/plimpl.c
+++ b/pl/plimpl.c
@@ -28,11 +28,13 @@ extern pl_interp_implementation_t ps_implementation;
/* Zero-terminated list of pointers to implementations */
pl_interp_implementation_t const * const pdl_implementation[] = {
- &pcl_implementation,
- &pxl_implementation,
#ifdef XPS_INCLUDED
&xps_implementation,
#endif
+#ifdef PCL_INCLUDED
+ &pcl_implementation,
+ &pxl_implementation,
+#endif
#ifdef PSI_INCLUDED
&ps_implementation,
#endif
diff --git a/xps/xps.mak b/xps/xps.mak
index d8fb67490..57d8806de 100644
--- a/xps/xps.mak
+++ b/xps/xps.mak
@@ -3,6 +3,7 @@ XPSGEN = $(XPSGENDIR)$(D)
XPSOBJ = $(XPSOBJDIR)$(D)
XPSO_ = $(O_)$(XPSOBJ)
EXPATINCDIR = $(EXPATSRCDIR)$(D)lib
+PLOBJ = $(PLOBJDIR)$(D)
XPSCCC = $(CC_) $(I_)$(XPSSRCDIR)$(_I) $(I_)$(XPSGENDIR)$(_I) $(I_)$(PLSRCDIR)$(_I) $(I_)$(GLSRCDIR)$(_I) $(I_)$(EXPATINCDIR)$(_I) $(I_)$(ZSRCDIR)$(_I) $(C_)
@@ -125,6 +126,11 @@ XPS_OBJS=\
$(XPSOBJ)xpsttf.$(OBJ) \
$(XPSOBJ)xpscff.$(OBJ) \
-$(XPSOBJ)xps.dev: $(XPS_MAK) $(ECHOGS_XE) $(XPS_OBJS) $(XPSGEN)expat.dev
+# NB - note this is a bit squirrely. Right now the pjl interpreter is
+ required and shouldn't be and PLOBJ==XPSGEN is required.
+
+$(XPSOBJ)xps.dev: $(XPS_MAK) $(ECHOGS_XE) $(XPS_OBJS) $(XPSGEN)expat.dev \
+ $(XPSGEN)pl.dev $(XPSGEN)$(PL_SCALER).dev $(XPSGEN)pjl.dev
$(SETMOD) $(XPSOBJ)xps $(XPS_OBJS)
- $(ADDMOD) $(XPSOBJ)xps -include $(XPSGEN)expat.dev
+ $(ADDMOD) $(XPSOBJ)xps -include $(XPSGEN)expat $(XPSGEN)pl $(XPSGEN)$(PL_SCALER) $(XPSGEN)pjl.dev
+
diff --git a/xps/xps_gcc.mak b/xps/xps_gcc.mak
index fb4518c73..60583b09c 100644
--- a/xps/xps_gcc.mak
+++ b/xps/xps_gcc.mak
@@ -51,32 +51,19 @@ EXPATGENDIR?=$(GENDIR)
EXPATOBJDIR?=$(GENDIR)
# Executable path\name w/o the .EXE extension
+TARGET_DEVS=$(XPSOBJDIR)/xps.dev
TARGET_XE?=$(GENDIR)/gxps
# Main file's name
# this is already in pcl6_gcc.mak
-#XPS_TOP_OBJ?=$(XPSOBJDIR)/xpstop.$(OBJ)
-#TOP_OBJ+= $(XPS_TOP_OBJ)
-#XCFLAGS?=-DXPS_INCLUDED
+XPS_TOP_OBJ?=$(XPSOBJDIR)/xpstop.$(OBJ)
+TOP_OBJ?=$(XPS_TOP_OBJ)
-# Choose COMPILE_INITS=1 for init files and fonts in ROM (otherwise =0)
-COMPILE_INITS?=0
+PDL_INCLUDE_FLAGS?=-DXPS_INCLUDED
-# configuration assumptions
-GX_COLOR_INDEX_DEFINE?=-DGX_COLOR_INDEX_TYPE="unsigned long long"
-HAVE_STDINT_H_DEFINE?=-DHAVE_STDINT_H
-HAVE_MKSTEMP_DEFINE?=-DHAVE_MKSTEMP
-
-GCFLAGS?=-Wall -Wpointer-arith -Wstrict-prototypes -Wwrite-strings -DNDEBUG $(HAVE_STDINT_H_DEFINE) $(HAVE_MKSTEMP_DEFINE) $(GX_COLOR_INDEX_DEFINE)
-CFLAGS?=-g -O0 $(GCFLAGS) $(XCFLAGS)
-
-#FEATURE_DEVS?=$(DD)gsnogc.dev\
-# $(DD)ttflib.dev $(DD)psf1lib.dev $(DD)psf2lib.dev
-
-# "Subclassed" makefile
include $(MAINSRCDIR)/pcl6_gcc.mak
# Subsystems
# this is already in pcl6_gcc.mak
-#include $(XPSSRCDIR)/xps.mak
+include $(XPSSRCDIR)/xps.mak
include $(PSSRCDIR)/expat.mak