From 6948650efd3fb9e2a70b8cf16aca57e9d0b7eb0a Mon Sep 17 00:00:00 2001 From: Chris Liddell Date: Tue, 23 Jul 2013 16:24:19 +0100 Subject: Commit of build_consolidation branch Squashed into one commit (see branch for details of the evolution of the branch). This brings gpcl6 and gxps into the Ghostscript build system, and a shared set of graphics library object files for all the interpreters. Also, brings the same configuration options to the pcl and xps products as we have for Ghostscript. --- base/png.mak | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 base/png.mak (limited to 'base/png.mak') diff --git a/base/png.mak b/base/png.mak new file mode 100644 index 000000000..6968ac4fc --- /dev/null +++ b/base/png.mak @@ -0,0 +1,154 @@ +# Copyright (C) 2001-2012 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 the license contained in the file LICENSE in this distribution. +# +# 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. +# +# makefile for PNG (Portable Network Graphics) code. +# Users of this makefile must define the following: +# ZSRCDIR - the zlib source directory +# ZGENDIR - the zlib generated intermediate file directory +# ZOBJDIR - the zlib object directory +# PNGSRCDIR - the source directory +# PNGGENDIR - the generated intermediate file directory +# PNGOBJDIR - the object directory +# SHARE_LIBPNG - 0 to compile libpng, 1 to share +# LIBPNG_NAME - if SHARE_LIBPNG=1, the name of the shared library +# PNG_CFLAGS + +# This partial makefile compiles the png library for use in the Ghostscript +# PNG drivers. You can get the source code for this library from: +# http://www.libpng.org/pub/png/src/ +# ftp://swrinde.nde.swri.edu/pub/png/src/ +# ftp://ftp.uu.net/graphics/png/src/ +# http://libpng.sourceforge.net/ +# Please see Ghostscript's `Make.htm' file for instructions about how to +# unpack these archives. +# +# When each version of Ghostscript is released, we copy the associated +# version of the png library to +# ftp://ftp.cs.wisc.edu/ghost/3rdparty/ +# for more convenient access. +# +# this makefile should work with libpng versions 0.90 and above +# +# NOTE: the archive for libpng 0.95 may be inconsistent: if you have +# compilation problems, use a newer version. +# +# Please see Ghostscript's Make.htm file for instructions about how to +# unpack these archives. +# +# The specification for the PNG file format is available from: +# http://www.group42.com/png.htm +# http://www.w3.org/pub/WWW/TR/WD-png + +# (Rename directories.) +PNGSRC=$(PNGSRCDIR)$(D) +PNGGEN=$(PNGGENDIR)$(D) +PNGOBJ=$(PNGOBJDIR)$(D) +PNGO_=$(O_)$(PNGOBJ) +PZGEN=$(ZGENDIR)$(D) + +# PI_ and PF_ are defined in gs.mak. +# NB: we can't use the normal $(CC_) here because msvccmd.mak +# adds /Za which conflicts with the libpng 1.5.x source. +PNGCC=$(CC) $(CFLAGS) $(PNG_CFLAGS) $(I_)$(PI_)$(_I) $(I_)$(PNGGENDIR)$(_I) $(PF_) \ +$(D_)PNG_NO_ASSEMBLER_CODE$(_D) + +# Define the name of this makefile. +LIBPNG_MAK=$(GLSRC)png.mak + +png.clean : png.config-clean png.clean-not-config-clean + +### WRONG. MUST DELETE OBJ AND GEN FILES SELECTIVELY. +png.clean-not-config-clean : + $(RM_) $(PNGOBJ)*.$(OBJ) + +pnglibconf_h=$(PNGGENDIR)$(D)pnglibconf.h + +png.config-clean : + $(RM_) $(pnglibconf_h) + $(RM_) $(PNGGEN)lpg*.dev + +$(pnglibconf_h) : $(PNGSRC)scripts$(D)pnglibconf.h.prebuilt $(MAKEDIRS) + $(CP_) $(PNGSRC)scripts$(D)pnglibconf.h.prebuilt $(pnglibconf_h) + +PDEP=$(AK) $(pnglibconf_h) $(MAKEDIRS) + +png_1=$(PNGOBJ)png.$(OBJ) $(PNGOBJ)pngmem.$(OBJ) $(PNGOBJ)pngerror.$(OBJ) $(PNGOBJ)pngset.$(OBJ) +png_2=$(PNGOBJ)pngtrans.$(OBJ) $(PNGOBJ)pngwrite.$(OBJ) $(PNGOBJ)pngwtran.$(OBJ) $(PNGOBJ)pngwutil.$(OBJ) $(PNGOBJ)pngwio.$(OBJ) +png_3=$(PNGOBJ)pngread.$(OBJ) $(PNGOBJ)pngrutil.$(OBJ) $(PNGOBJ)pngrtran.$(OBJ) $(PNGOBJ)pngrio.$(OBJ) $(PNGOBJ)pngget.$(OBJ) + +# libpng modules + +$(PNGOBJ)png.$(OBJ) : $(PNGSRC)png.c $(PDEP) + $(PNGCC) $(PNGO_)png.$(OBJ) $(C_) $(PNGSRC)png.c + +$(PNGOBJ)pngwio.$(OBJ) : $(PNGSRC)pngwio.c $(PDEP) + $(PNGCC) $(PNGO_)pngwio.$(OBJ) $(C_) $(PNGSRC)pngwio.c + +$(PNGOBJ)pngmem.$(OBJ) : $(PNGSRC)pngmem.c $(PDEP) + $(PNGCC) $(PNGO_)pngmem.$(OBJ) $(C_) $(PNGSRC)pngmem.c + +$(PNGOBJ)pngerror.$(OBJ) : $(PNGSRC)pngerror.c $(PDEP) + $(PNGCC) $(PNGO_)pngerror.$(OBJ) $(C_) $(PNGSRC)pngerror.c + +$(PNGOBJ)pngset.$(OBJ) : $(PNGSRC)pngset.c $(PDEP) + $(PNGCC) $(PNGO_)pngset.$(OBJ) $(C_) $(PNGSRC)pngset.c + +$(PNGOBJ)pngtrans.$(OBJ) : $(PNGSRC)pngtrans.c $(PDEP) + $(PNGCC) $(PNGO_)pngtrans.$(OBJ) $(C_) $(PNGSRC)pngtrans.c + +$(PNGOBJ)pngwrite.$(OBJ) : $(PNGSRC)pngwrite.c $(PDEP) + $(PNGCC) $(PNGO_)pngwrite.$(OBJ) $(C_) $(PNGSRC)pngwrite.c + +$(PNGOBJ)pngwtran.$(OBJ) : $(PNGSRC)pngwtran.c $(PDEP) + $(PNGCC) $(PNGO_)pngwtran.$(OBJ) $(C_) $(PNGSRC)pngwtran.c + +$(PNGOBJ)pngwutil.$(OBJ) : $(PNGSRC)pngwutil.c $(PDEP) + $(PNGCC) $(PNGO_)pngwutil.$(OBJ) $(C_) $(PNGSRC)pngwutil.c + +$(PNGOBJ)pngread.$(OBJ) : $(PNGSRC)pngread.c $(PDEP) + $(PNGCC) $(PNGO_)pngread.$(OBJ) $(C_) $(PNGSRC)pngread.c + +$(PNGOBJ)pngrutil.$(OBJ) : $(PNGSRC)pngrutil.c $(PDEP) + $(PNGCC) $(PNGO_)pngrutil.$(OBJ) $(C_) $(PNGSRC)pngrutil.c + +$(PNGOBJ)pngrtran.$(OBJ) : $(PNGSRC)pngrtran.c $(PDEP) + $(PNGCC) $(PNGO_)pngrtran.$(OBJ) $(C_) $(PNGSRC)pngrtran.c + +$(PNGOBJ)pngrio.$(OBJ) : $(PNGSRC)pngrio.c $(PDEP) + $(PNGCC) $(PNGO_)pngrio.$(OBJ) $(C_) $(PNGSRC)pngrio.c + +$(PNGOBJ)pngget.$(OBJ) : $(PNGSRC)pngget.c $(PDEP) + $(PNGCC) $(PNGO_)pngget.$(OBJ) $(C_) $(PNGSRC)pngget.c + + +# Define the version of libpng.dev that we are actually using. +$(PNGGEN)libpng.dev : $(TOP_MAKEFILES) $(PNGGEN)libpng_$(SHARE_LIBPNG).dev $(MAKEDIRS) + $(CP_) $(PNGGEN)libpng_$(SHARE_LIBPNG).dev $(PNGGEN)libpng.dev + +# Define the shared version of libpng. +# Note that it requires libz, which must be searched *after* libpng. +$(PNGGEN)libpng_1.dev : $(TOP_MAKEFILES) $(LIBPNG_MAK) $(ECHOGS_XE) $(PZGEN)zlibe.dev \ + $(MAKEDIRS) + $(SETMOD) $(PNGGEN)libpng_1 -lib $(LIBPNG_NAME) + $(ADDMOD) $(PNGGEN)libpng_1 -include $(PZGEN)zlibe.dev + +# Define the non-shared version of libpng. +$(PNGGEN)libpng_0.dev : $(LIBPNG_MAK) $(ECHOGS_XE) $(png_1) $(png_2) $(png_3)\ + $(PZGEN)zlibe.dev $(PNGOBJ)pngwio.$(OBJ) $(PZGEN)crc32.dev $(MAKEDIRS) + $(SETMOD) $(PNGGEN)libpng_0 $(png_1) + $(ADDMOD) $(PNGGEN)libpng_0 $(png_2) + $(ADDMOD) $(PNGGEN)libpng_0 $(png_3) + $(ADDMOD) $(PNGGEN)libpng_0 $(PNGOBJ)pngwio.$(OBJ) + $(ADDMOD) $(PNGGEN)libpng_0 -include $(PZGEN)zlibe.dev $(PZGEN)crc32.dev + -- cgit v1.2.1