#
-# "$Id: Makefile 5192 2006-02-27 03:08:47Z mike $"
+# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $"
#
-# Filter makefile for the Common UNIX Printing System (CUPS).
+# Filter makefile for CUPS.
#
+# Copyright 2007-2011 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products.
#
# These coded instructions, statements, and computer programs are the
-# property of Easy Software Products and are protected by Federal
-# copyright law. Distribution and use rights are outlined in the file
-# "LICENSE.txt" which should have been included with this file. If this
-# file is missing or damaged please contact Easy Software Products
-# at:
-#
-# Attn: CUPS Licensing Information
-# Easy Software Products
-# 44141 Airport View Drive, Suite 204
-# Hollywood, Maryland 20636 USA
-#
-# Voice: (301) 373-9600
-# EMail: cups-info@cups.org
-# WWW: http://www.cups.org
+# property of Apple Inc. and are protected by Federal copyright
+# law. Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file. If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
#
# This file is subject to the Apple OS-Developed Software exception.
#
include ../Makedefs
-FILTERS = gziptoany hpgltops texttops pstops imagetops imagetoraster \
- rastertolabel rastertoepson rastertohp
-TARGETS = $(FILTERS) testraster
-HPGLOBJS = hpgl-attr.o hpgl-config.o hpgl-main.o hpgl-prolog.o \
- hpgl-char.o hpgl-input.o hpgl-polygon.o hpgl-vector.o
-IMAGEOBJS = image-bmp.o image-colorspace.o image-gif.o image-jpeg.o \
- image-photocd.o image-pix.o image-png.o image-pnm.o \
- image-sgi.o image-sgilib.o image-sun.o image-tiff.o \
- image-zoom.o image.o interpret.o raster.o
-FORMOBJS = form-attr.o form-main.o form-ps.o form-text.o form-tree.o
-OBJS = $(HPGLOBJS) $(IMAGEOBJS) $(FORMOBJS) \
- imagetops.o imagetoraster.o common.o pstops.o raster.o \
- rastertolabel.o rastertoepson.o rastertohp.o \
- texttops.o textcommon.o testraster.o gziptoany.o
+FILTERS = \
+ commandtops \
+ gziptoany \
+ pstops \
+ rastertoepson \
+ rastertohp \
+ rastertolabel \
+ rastertopwg
+LIBTARGETS = \
+ $(LIBCUPSIMAGE) \
+ libcupsimage.a \
+ $(LIB32CUPSIMAGE) \
+ $(LIB64CUPSIMAGE)
+UNITTARGETS = \
+ rasterbench \
+ testraster
+TARGETS = \
+ $(LIBTARGETS) \
+ $(FILTERS)
+
+IMAGEOBJS = error.o interpret.o raster.o
+IMAGE32OBJS = $(IMAGEOBJS:.o=.32.o)
+IMAGE64OBJS = $(IMAGEOBJS:.o=.64.o)
+OBJS = $(IMAGEOBJS) \
+ commandtops.o gziptoany.o common.o pstops.o \
+ rasterbench.o rastertoepson.o rastertohp.o rastertolabel.o \
+ rastertopwg.o testraster.o
#
# Make all targets...
#
-all: $(TARGETS) $(LIBCUPSIMAGE) libcupsimage.a
+all: $(TARGETS)
+
+
+#
+# Make library targets...
+#
+
+libs: $(LIBTARGETS)
+
+
+#
+# Make unit tests...
+#
+
+unittests: $(UNITTARGETS)
#
#
clean:
- $(RM) $(OBJS) $(TARGETS) $(LIBCUPSIMAGE) libcupsimage.a
- $(RM) `basename $(LIBCUPSIMAGE) .2` libcupsimage.dylib
+ $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
+ $(RM) libcupsimage.so libcupsimage.sl libcupsimage.dylib
+ $(RM) -r 32bit 64bit
#
#
depend:
- makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+ touch Dependencies.tmp
+ makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1
+ $(RM) Dependencies
+ cp Dependencies.tmp Dependencies
+ sed -E -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies
+ sed -E -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies
+ $(RM) Dependencies.tmp
#
# Install all targets...
#
-install: all installhdrs $(INSTALLSTATIC)
+install: all install-data install-headers install-libs install-exec
+
+
+#
+# Install data files...
+#
+
+install-data:
+
+
+#
+# Install programs...
+#
+
+install-exec:
$(INSTALL_DIR) -m 755 $(SERVERBIN)/filter
for file in $(FILTERS); do \
$(INSTALL_BIN) $$file $(SERVERBIN)/filter; \
done
$(RM) $(SERVERBIN)/filter/rastertodymo
$(LN) rastertolabel $(SERVERBIN)/filter/rastertodymo
+ if test "x$(SYMROOT)" != "x"; then \
+ $(INSTALL_DIR) $(SYMROOT); \
+ for file in $(FILTERS); do \
+ cp $$file $(SYMROOT); \
+ done \
+ fi
+
+
+#
+# Install headers...
+#
+
+install-headers:
+
+
+#
+# Install libraries...
+#
+
+install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
$(INSTALL_DIR) -m 755 $(LIBDIR)
$(INSTALL_LIB) $(LIBCUPSIMAGE) $(LIBDIR)
-if test $(LIBCUPSIMAGE) = "libcupsimage.so.2" -o $(LIBCUPSIMAGE) = "libcupsimage.sl.2"; then \
$(LN) $(LIBCUPSIMAGE) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \
fi
-if test $(LIBCUPSIMAGE) = "libcupsimage.2.dylib"; then \
- $(STRIP) -x $(LIBDIR)/$(LIBCUPSIMAGE); \
$(RM) $(LIBDIR)/libcupsimage.dylib; \
$(LN) $(LIBCUPSIMAGE) $(LIBDIR)/libcupsimage.dylib; \
fi
+ if test "x$(SYMROOT)" != "x"; then \
+ $(INSTALL_DIR) $(SYMROOT); \
+ cp $(LIBCUPSIMAGE) $(SYMROOT); \
+ fi
installstatic:
$(INSTALL_DIR) -m 755 $(LIBDIR)
- -if test $(LIBCUPSIMAGE) != "libcupsimage.a"; then \
- $(INSTALL_LIB) libcupsimage.a $(LIBDIR); \
- $(RANLIB) $(LIBDIR)/libcupsimage.a; \
- fi
+ $(INSTALL_LIB) -m 755 libcupsimage.a $(LIBDIR)
+ $(RANLIB) $(LIBDIR)/libcupsimage.a
+ $(CHMOD) 555 $(LIBDIR)/libcupsimage.a
+
+install32bit:
+ $(INSTALL_DIR) -m 755 $(LIB32DIR)
+ $(INSTALL_LIB) 32bit/libcupsimage.so.2 $(LIB32DIR)/libcupsimage.so.2
+ $(LN) libcupsimage.so.2 $(LIB32DIR)/libcupsimage.so
-installhdrs:
- $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
- $(INSTALL_DATA) image.h $(INCLUDEDIR)/cups
- $(INSTALL_DATA) raster.h $(INCLUDEDIR)/cups
+install64bit:
+ $(INSTALL_DIR) -m 755 $(LIB64DIR)
+ $(INSTALL_LIB) 64bit/libcupsimage.so.2 $(LIB64DIR)/libcupsimage.so.2
+ $(LN) libcupsimage.so.2 $(LIB64DIR)/libcupsimage.so
#
-# Automatic API help files...
+# Uninstall all targets...
#
-apihelp:
- echo Generating CUPS API help files...
- mxmldoc --section "Programming" --title "Raster API" \
- --intro api-raster.shtml \
- raster.h interpret.c raster.c >../doc/help/api-raster.html
+uninstall: $(UNINSTALL32) $(UNINSTALL64)
+ for file in $(FILTERS); do \
+ $(RM) $(SERVERBIN)/filter/$$file; \
+ done
+ $(RM) $(SERVERBIN)/filter/rastertodymo
+ -$(RMDIR) $(SERVERBIN)/filter
+ -$(RMDIR) $(SERVERBIN)
+ $(RM) $(LIBDIR)/libcupsimage.2.dylib
+ $(RM) $(LIBDIR)/libcupsimage.a
+ $(RM) $(LIBDIR)/libcupsimage.dylib
+ $(RM) $(LIBDIR)/libcupsimage_s.a
+ $(RM) $(LIBDIR)/libcupsimage.sl
+ $(RM) $(LIBDIR)/libcupsimage.sl.2
+ $(RM) $(LIBDIR)/libcupsimage.so
+ $(RM) $(LIBDIR)/libcupsimage.so.2
+ -$(RMDIR) $(LIBDIR)
+
+uninstall32bit:
+ $(RM) $(LIB32DIR)/libcupsimage.so
+ $(RM) $(LIB32DIR)/libcupsimage.so.2
+ -$(RMDIR) $(LIB32DIR)
+
+uninstall64bit:
+ $(RM) $(LIB64DIR)/libcupsimage.so
+ $(RM) $(LIB64DIR)/libcupsimage.so.2
+ -$(RMDIR) $(LIB64DIR)
#
-# formtops
+# Automatic API help files...
#
-formtops: $(FORMOBJS) common.o ../cups/$(LIBCUPS)
+apihelp:
+ echo Generating CUPS API help files...
+ mxmldoc --section "Programming" --title "Raster API" \
+ --css ../doc/cups-printable.css \
+ --header api-raster.header --intro api-raster.shtml \
+ api-raster.xml \
+ ../cups/raster.h interpret.c raster.c \
+ >../doc/help/api-raster.html
+ mxmldoc --tokens help/api-raster.html api-raster.xml >../doc/help/api-raster.tokens
+ $(RM) api-raster.xml
+ mxmldoc --section "Programming" \
+ --title "Developing PostScript Printer Drivers" \
+ --css ../doc/cups-printable.css \
+ --header postscript-driver.header \
+ --intro postscript-driver.shtml \
+ >../doc/help/postscript-driver.html
+ mxmldoc --section "Programming" \
+ --title "Introduction to the PPD Compiler" \
+ --css ../doc/cups-printable.css \
+ --header ppd-compiler.header \
+ --intro ppd-compiler.shtml \
+ >../doc/help/ppd-compiler.html
+ mxmldoc --section "Programming" \
+ --title "Developing Raster Printer Drivers" \
+ --css ../doc/cups-printable.css \
+ --header raster-driver.header \
+ --intro raster-driver.shtml \
+ >../doc/help/raster-driver.html
+ mxmldoc --section "Specifications" \
+ --title "CUPS PPD Extensions" \
+ --css ../doc/cups-printable.css \
+ --header spec-ppd.header \
+ --intro spec-ppd.shtml \
+ >../doc/help/spec-ppd.html
+
+framedhelp:
+ echo Generating CUPS API help files...
+ mxmldoc --section "Programming" --title "Raster API" \
+ --framed ../cups/api-raster \
+ --css ../doc/cups-printable.css \
+ --header api-raster.header --intro api-raster.shtml \
+ ../cups/raster.h interpret.c raster.c
+ mxmldoc --section "Programming" \
+ --title "Developing PostScript Printer Drivers" \
+ --framed ../cups/postscript-driver \
+ --css ../doc/cups-printable.css \
+ --header postscript-driver.header \
+ --intro postscript-driver.shtml
+ mxmldoc --section "Programming" \
+ --title "Introduction to the PPD Compiler" \
+ --framed ../cups/ppd-compiler \
+ --css ../doc/cups-printable.css \
+ --header ppd-compiler.header \
+ --intro ppd-compiler.shtml
+ mxmldoc --section "Programming" \
+ --title "Developing Raster Printer Drivers" \
+ --framed ../cups/raster-driver \
+ --css ../doc/cups-printable.css \
+ --header raster-driver.header \
+ --intro raster-driver.shtml
+ mxmldoc --section "Specifications" \
+ --title "CUPS PPD Extensions" \
+ --framed ../cups/spec-ppd \
+ --css ../doc/cups-printable.css \
+ --header spec-ppd.header \
+ --intro spec-ppd.shtml \
+
+
+#
+# commandtops
+#
+
+commandtops: commandtops.o ../cups/$(LIBCUPS)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ $(FORMOBJS) common.o $(LIBS) -lm
+ $(CC) $(LDFLAGS) -o $@ commandtops.o $(LIBS)
#
#
-# hpgltops
+# libcupsimage.so.2, libcupsimage.sl.2
#
-hpgltops: $(HPGLOBJS) common.o ../cups/$(LIBCUPS)
+libcupsimage.so.2 libcupsimage.sl.2: $(IMAGEOBJS)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ $(HPGLOBJS) common.o $(LIBS) -lm
+ $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(IMAGEOBJS) $(DSOLIBS) \
+ -L../cups $(LINKCUPS) -lm
+ $(RM) `basename $@ .2`
+ $(LN) $@ `basename $@ .2`
#
-# libcupsimage.so.2, libcupsimage.sl.2
+# 32bit/libcupsimage.so.2
#
-libcupsimage.so.2 libcupsimage.sl.2: $(IMAGEOBJS)
- echo Linking $@...
- $(DSO) $(DSOFLAGS) -o $@ $(IMAGEOBJS) $(DSOLIBS) -lm
- $(RM) `basename $@ .2`
- $(LN) $@ `basename $@ .2`
+32bit/libcupsimage.so.2: $(IMAGE32OBJS)
+ echo Linking 32-bit $@...
+ -mkdir 32bit
+ $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(IMAGE32OBJS) $(DSOLIBS) \
+ -L../cups/32bit $(LINKCUPS) -lm
+
+
+#
+# 64bit/libcupsimage.so.2
+#
+
+64bit/libcupsimage.so.2: $(IMAGE64OBJS)
+ echo Linking 64-bit $@...
+ -mkdir 64bit
+ $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(IMAGE64OBJS) $(DSOLIBS) \
+ -L../cups/64bit $(LINKCUPS) -lm
#
# libcupsimage.2.dylib
#
-libcupsimage.2.dylib: $(IMAGEOBJS)
+libcupsimage.2.dylib: $(IMAGEOBJS) $(LIBCUPSIMAGEORDER)
echo Linking $@...
- $(DSO) $(DSOFLAGS) -o $@ \
+ $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
-install_name $(libdir)/$@ \
- -current_version 2.2.0 \
+ -current_version 2.3.0 \
-compatibility_version 2.0.0 \
$(IMAGEOBJS) $(DSOLIBS) -L../cups $(LINKCUPS) -lm
$(RM) libcupsimage.dylib
# libcupsimage_s.a
#
-libcupsimage_s.a: $(IMAGEOBJS)
+libcupsimage_s.a: $(IMAGEOBJS) libcupsimage_s.exp
echo Linking $@...
- $(DSO) $(DSOFLAGS) -Wl,-berok -o libcupsimage_s.o $(IMAGEOBJS) \
- $(DSOLIBS) -lm
+ $(DSO) $(DSOFLAGS) -Wl,-berok,-bexport:libcupsimage_s.exp \
+ -o libcupsimage_s.o $(IMAGEOBJS) $(DSOLIBS) -lm
$(RM) $@
$(AR) $(ARFLAGS) $@ libcupsimage_s.o
libcupsimage.la: $(IMAGEOBJS)
echo Linking $@...
- $(DSO) $(DSOFLAGS) -o $@ $(IMAGEOBJS:.o=.lo) $(DSOLIBS) \
- -rpath $(LIBDIR) -version-info 2:2
+ $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(IMAGEOBJS:.o=.lo) $(DSOLIBS) \
+ -L../cups $(LINKCUPS) \
+ -rpath $(LIBDIR) -version-info 2:3
#
#
-# testimage
-#
-
-testimage: testimage.o libcupsimage.a ../Makedefs
- echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ testimage.o libcupsimage.a \
- $(IMGLIBS) $(DSOLIBS) $(LIBS)
-
-
-#
-# imagetops
+# pstops
#
-imagetops: imagetops.o common.o $(LIBCUPSIMAGE) \
- ../cups/$(LIBCUPS)
+pstops: pstops.o common.o ../cups/$(LIBCUPS)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ imagetops.o common.o $(LINKCUPSIMAGE) \
- $(IMGLIBS) $(LIBS)
+ $(CC) $(LDFLAGS) -o $@ pstops.o common.o $(LIBS) -lm
#
-# imagetoraster
+# rastertoepson
#
-imagetoraster: imagetoraster.o common.o $(LIBCUPSIMAGE) \
- ../cups/$(LIBCUPS)
+rastertoepson: rastertoepson.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ imagetoraster.o common.o $(LINKCUPSIMAGE) \
- $(IMGLIBS) $(LIBS)
+ $(CC) $(LDFLAGS) -o $@ rastertoepson.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
#
-# pstops
+# rastertohp
#
-pstops: pstops.o common.o ../cups/$(LIBCUPS)
+rastertohp: rastertohp.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ pstops.o common.o $(LIBS) -lm
+ $(CC) $(LDFLAGS) -o $@ rastertohp.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
#
#
-# rastertoepson
+# rastertopwg
#
-rastertoepson: rastertoepson.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
+rastertopwg: rastertopwg.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ rastertoepson.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
-
-
-#
-# rastertohp
-#
-
-rastertohp: rastertohp.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
- echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ rastertohp.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
+ $(CC) $(LDFLAGS) -o $@ rastertopwg.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
#
# testraster
#
-testraster: testraster.o raster.o
+testraster: testraster.o ../cups/$(LIBCUPSSTATIC) libcupsimage.a
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ testraster.o raster.o
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testraster.o libcupsimage.a \
+ ../cups/$(LIBCUPSSTATIC) $(IMGLIBS) $(DSOLIBS) $(COMMONLIBS) \
+ $(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
+ echo Running raster API tests...
+ ./testraster
#
-# texttops
+# rasterbench
#
-texttops: texttops.o textcommon.o common.o \
- ../cups/$(LIBCUPS)
+rasterbench: rasterbench.o libcupsimage.a
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ texttops.o textcommon.o common.o $(LIBS)
+ $(CC) $(LDFLAGS) -o $@ rasterbench.o libcupsimage.a $(LIBS)
#
# Dependencies...
#
-
+
include Dependencies
#
-# End of "$Id: Makefile 5192 2006-02-27 03:08:47Z mike $".
+# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $".
#