summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2010-12-22 19:16:02 +0000
committerRobin Watts <robin.watts@artifex.com>2010-12-22 19:16:02 +0000
commit4e6a3219639cdc5f2fcbd63379008d67239dff60 (patch)
tree28922f0674da28282dfbde655cea49ce70aab755 /common
parent098bf80ef7bc73fe9acad63029d86425ad45d745 (diff)
Add new top level GhostPDL makefile targets, pcl-lib, ls-lib, svg-lib, xps-lib
and all-lib. These build the same as pcl, ls-product, svg, xps etc, except the final product is a library that offers pl_main() as its top level entrypoint. The sole piece of code that is NOT included in the libs that is included in the exes is a 1 line 'main()' veneer that just calls pl_main. No expected cluster differences. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11973 a1074d23-0009-0410-80fe-cf8c14f379e6
Diffstat (limited to 'common')
-rw-r--r--common/msvc_top.mak10
-rw-r--r--common/ugcc_top.mak14
2 files changed, 14 insertions, 10 deletions
diff --git a/common/msvc_top.mak b/common/msvc_top.mak
index bb28ab31f..d7d527d77 100644
--- a/common/msvc_top.mak
+++ b/common/msvc_top.mak
@@ -15,7 +15,7 @@
# The product-specific top-level makefile defines the following:
# MAKEFILE, COMMONDIR, CONFIG, DEBUG, DEVICE_DEVS, GSDIR, MAIN_OBJ,
-# NOPRIVATE, TDEBUG, TARGET_DEVS, TARGET_XE, MSVC_VERSION
+# REALMAIN_OBJ, NOPRIVATE, TDEBUG, TARGET_DEVS, TARGET_XE, MSVC_VERSION
# It also must include the product-specific *.mak.
# XE isn't defined yet.
@@ -218,12 +218,12 @@ $(FONTLIB): $(MAKEFILE)
echo $(UFST_LIB)\if_lib.lib >>$(FONTLIB)
echo $(UFST_LIB)\tt_lib.lib >>$(FONTLIB)
-$(TARGET_XE)$(XE): $(GENDIR)\ldall.tr $(MAIN_OBJ) $(TOP_OBJ) $(LIBCTR) $(FONTLIB)
+$(TARGET_XE)$(XE): $(GENDIR)\ldall.tr $(REALMAIN_OBJ) $(MAIN_OBJ) $(TOP_OBJ) $(LIBCTR) $(FONTLIB)
$(LINK_SETUP)
- $(LINK) $(LCT) /OUT:$(TARGET_XE)$(XE) $(MAIN_OBJ) $(TOP_OBJ) @$(GENDIR)\ldall.tr @$(GENDIR)\lib32.rsp @$(LIBCTR) @$(FONTLIB)
+ $(LINK) $(LCT) /OUT:$(TARGET_XE)$(XE) $(REALMAIN_OBJ) $(MAIN_OBJ) $(TOP_OBJ) @$(GENDIR)\ldall.tr @$(GENDIR)\lib32.rsp @$(LIBCTR) @$(FONTLIB)
!ELSE
-$(TARGET_XE)$(XE): $(GENDIR)\ldall.tr $(MAIN_OBJ) $(TOP_OBJ) $(LIBCTR)
+$(TARGET_XE)$(XE): $(GENDIR)\ldall.tr $(REALMAIN_OBJ) $(MAIN_OBJ) $(TOP_OBJ) $(LIBCTR)
$(LINK_SETUP)
- $(LINK) $(LCT) /OUT:$(TARGET_XE)$(XE) $(MAIN_OBJ) $(TOP_OBJ) @$(GENDIR)\ldall.tr @$(GENDIR)\lib32.rsp @$(LIBCTR)
+ $(LINK) $(LCT) /OUT:$(TARGET_XE)$(XE) $(REALMAIN_OBJ) $(MAIN_OBJ) $(TOP_OBJ) @$(GENDIR)\ldall.tr @$(GENDIR)\lib32.rsp @$(LIBCTR)
!ENDIF
diff --git a/common/ugcc_top.mak b/common/ugcc_top.mak
index 724cf89f6..6c7104805 100644
--- a/common/ugcc_top.mak
+++ b/common/ugcc_top.mak
@@ -16,7 +16,7 @@
# The product-specific top-level makefile defines the following:
# MAKEFILE, CCLD, COMMONDIR, CONFIG, DEVICE_DEVS,
# GCFLAGS, GENDIR, GLSRCDIR, GLGENDIR, GLOBJDIR, PSD
-# TOP_OBJ, MAIN_OBJ, TARGET_DEVS, TARGET_XE
+# TOP_OBJ, REALMAIN_OBJ, MAIN_OBJ, TARGET_DEVS, TARGET_XE
# It also must include the product-specific *.mak.
# Platform specification
@@ -73,6 +73,9 @@ pdl-pg: UGCC_TOP_DIR
pdl-product: UGCC_TOP_DIR
$(MAKE) -f $(firstword $(MAKEFILE)) GENOPT='' GCFLAGS='$(GCFLAGS)' CFLAGS='-O2 $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS)' pdl-default
+pdl-product-lib: UGCC_TOP_DIR
+ $(MAKE) -f $(firstword $(MAKEFILE)) GENOPT='' GCFLAGS='$(GCFLAGS)' CFLAGS='-O2 $(GCFLAGS) $(XCFLAGS)' LDFLAGS='$(XLDFLAGS)' lib
+
pdl-clean:
$(RMN_) $(GENDIR)/*.dev $(GENDIR)/devs*.tr $(GENDIR)/gconfig*.h
$(RMN_) $(GENDIR)/gconfx*.h $(GENDIR)/j*.h
@@ -80,6 +83,7 @@ pdl-clean:
$(RMN_) $(GENDIR)/*.$(OBJ)
$(RMN_) $(GENDIR)/*.h
$(RMN_) $(GENDIR)/*.c
+ $(RMN_) $(GENDIR)/*.a
$(RMN_) $(GENDIR)/mkromfs
$(RMN_) $(GENARCH_XE)
$(RMN_) $(ECHOGS_XE)
@@ -103,18 +107,18 @@ ifeq ($(PSICFLAGS), -DPSI_INCLUDED)
# Link a Unix executable. NB - XOBS is not concatenated to the link
# list here. It seems to have been done earlier on unlike the
# standalone pcl build below.
-$(TARGET_XE): $(ld_tr) $(GENDIR)/ldconf.tr $(MAIN_OBJ) $(TOP_OBJ) $(XOBJS) $(GLOBJDIR)/gsromfs$(COMPILE_INITS).$(OBJ)
+$(TARGET_XE): $(ld_tr) $(GENDIR)/ldconf.tr $(REALMAIN_OBJ) $(MAIN_OBJ) $(TOP_OBJ) $(XOBJS) $(GLOBJDIR)/gsromfs$(COMPILE_INITS).$(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
cat $(ld_tr) $(GENDIR)/ldconf.tr >>$(GENDIR)/ldall.tr
- $(ECHOGS_XE) -a $(GENDIR)/ldall.tr -s - $(GLOBJDIR)/gsromfs$(COMPILE_INITS).$(OBJ) $(MAIN_OBJ) $(EXTRALIBS) $(STDLIBS)
+ $(ECHOGS_XE) -a $(GENDIR)/ldall.tr -s - $(GLOBJDIR)/gsromfs$(COMPILE_INITS).$(OBJ) $(REALMAIN_OBJ) $(MAIN_OBJ) $(EXTRALIBS) $(STDLIBS)
sh <$(GENDIR)/ldall.tr
else
# Link a Unix executable.
-$(TARGET_XE): $(ld_tr) $(GENDIR)/ldconf.tr $(MAIN_OBJ) $(TOP_OBJ) $(XOBJS) $(GLOBJDIR)/gsromfs$(COMPILE_INITS).$(OBJ)
+$(TARGET_XE): $(ld_tr) $(GENDIR)/ldconf.tr $(REALMAIN_OBJ) $(MAIN_OBJ) $(TOP_OBJ) $(XOBJS) $(GLOBJDIR)/gsromfs$(COMPILE_INITS).$(OBJ)
$(ECHOGS_XE) -w $(GENDIR)/ldall.tr -n - $(CCLD) $(LDFLAGS) $(XLIBDIRS) -o $(TARGET_XE)
$(ECHOGS_XE) -a $(GENDIR)/ldall.tr -n -s $(TOP_OBJ) $(XOBJS) -s
cat $(ld_tr) $(GENDIR)/ldconf.tr >>$(GENDIR)/ldall.tr
- $(ECHOGS_XE) -a $(GENDIR)/ldall.tr -s - $(GLOBJDIR)/gsromfs$(COMPILE_INITS).$(OBJ) $(MAIN_OBJ) $(EXTRALIBS) $(STDLIBS)
+ $(ECHOGS_XE) -a $(GENDIR)/ldall.tr -s - $(GLOBJDIR)/gsromfs$(COMPILE_INITS).$(OBJ) $(REALMAIN_OBJ) $(MAIN_OBJ) $(EXTRALIBS) $(STDLIBS)
sh <$(GENDIR)/ldall.tr
endif