]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - ppdc/Makefile
Merge changes from CUPS 1.4svn-r8227.
[thirdparty/cups.git] / ppdc / Makefile
index edaafeceba5fb776321f1a7da9765b0936748dc1..55c85b3c04dd070d0e65c5b99d313bfc75d83778 100644 (file)
@@ -3,7 +3,7 @@
 #
 #   Makefile for the CUPS PPD Compiler.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2009 by Apple Inc.
 #   Copyright 2002-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -44,31 +44,33 @@ LIBOBJS =   \
                ppdc-source.o \
                ppdc-string.o \
                ppdc-variable.o
-LIB32OBJS      = $(LIBOBJS:.o=.32.o)
-LIB64OBJS      = $(LIBOBJS:.o=.64.o)
 OBJS =         \
                $(LIBOBJS) \
-               $(LIB32OBJS) \
-               $(LIB64OBJS) \
-               drv.o \
+               genstrings.o \
                ppdc.o \
                ppdhtml.o \
                ppdi.o \
                ppdmerge.o \
-               ppdpo.o
-TARGETS        =       \
+               ppdpo.o \
+               testcatalog.o
+LIBTARGETS =   \
                $(LIBCUPSPPDC) \
-               $(LIB32CUPSPPDC) \
-               $(LIB64CUPSPPDC) \
-               libcupsppdc.a \
-               drv \
+               libcupsppdc.a
+UNITTARGETS =  \
                ppdc-static \
+               testcatalog
+EXECTARGETS =  \
                ppdc \
                ppdhtml \
                ppdi \
                ppdmerge \
                ppdpo
 
+TARGETS        =       \
+               $(LIBTARGETS) \
+               $(EXECTARGETS) \
+               genstrings
+
 
 #
 # Make everything...
@@ -77,6 +79,20 @@ TARGETS      =       \
 all:           $(TARGETS)
 
 
+#
+# Make library targets...
+#
+
+libs:          $(LIBTARGETS)
+
+
+#
+# Make unit tests...
+#
+
+unittests:     $(UNITTARGETS)
+
+
 #
 # Clean everything...
 #
@@ -84,11 +100,10 @@ all:               $(TARGETS)
 clean:
        $(RM) $(OBJS) core
        $(RM) *.bak *.bck core.*
-       $(RM) $(TARGETS)
+       $(RM) $(TARGETS) $(UNITTARGETS)
        $(RM) -r ppd
-       $(RM) test.drv
+       $(RM) sample.c test.drv
        $(RM) libcupsppdc.so libcupsppdc.sl libcupsppdc.dylib
-       $(RM) -r 32bit 64bit
 
 
 #
@@ -96,13 +111,7 @@ clean:
 #
 
 depend:
-       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
+       makedepend -Y -I.. -fDependencies $(OBJS:.o=.cxx) >/dev/null 2>&1
 
 
 #
@@ -118,6 +127,7 @@ install:    all install-data install-headers install-libs install-exec
 
 install-data:
        $(INSTALL_DIR) $(DATADIR)/drv
+       $(INSTALL_DATA) sample.drv $(DATADIR)/drv
 
 
 #
@@ -127,16 +137,12 @@ install-data:
 install-exec:
        echo Installing PPD compiler programs...
        $(INSTALL_DIR) $(BINDIR)
-       $(INSTALL_BIN) ppdc $(BINDIR)
-       $(INSTALL_BIN) ppdhtml $(BINDIR)
-       $(INSTALL_BIN) ppdi $(BINDIR)
-       $(INSTALL_BIN) ppdmerge $(BINDIR)
-       $(INSTALL_BIN) ppdpo $(BINDIR)
-       $(INSTALL_DIR) $(SERVERBIN)/driver
-       $(INSTALL_BIN) drv $(SERVERBIN)/driver
+       for file in $(EXECTARGETS); do \
+               $(INSTALL_BIN) $$file $(BINDIR); \
+       done
        if test "x$(SYMROOT)" != "x"; then \
                $(INSTALL_DIR) $(SYMROOT); \
-               for file in $(TARGETS); do \
+               for file in $(EXECTARGETS) $(LIBTARGETS); do \
                        cp $$file $(SYMROOT); \
                done \
        fi
@@ -156,7 +162,7 @@ install-headers:
 # Install libraries...
 #
 
-install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
+install-libs: $(INSTALLSTATIC)
        echo Installing libraries in $(LIBDIR)...
        $(INSTALL_DIR) -m 755 $(LIBDIR)
        $(INSTALL_LIB) $(LIBCUPSPPDC) $(LIBDIR)
@@ -165,7 +171,6 @@ install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
                $(LN) $(LIBCUPSPPDC) $(LIBDIR)/`basename $(LIBCUPSPPDC) .1`; \
        fi
        if test $(LIBCUPSPPDC) = "libcupsppdc.1.dylib"; then \
-               $(STRIP) -x $(LIBDIR)/$(LIBCUPSPPDC); \
                $(RM) $(LIBDIR)/libcupsppdc.dylib; \
                $(LN) $(LIBCUPSPPDC) $(LIBDIR)/libcupsppdc.dylib; \
        fi
@@ -179,31 +184,16 @@ installstatic:
        $(INSTALL_LIB) libcupsppdc.a $(LIBDIR)
        $(RANLIB) $(LIBDIR)/libcupsppdc.a
 
-install32bit:
-       echo Installing libraries in $(LIB32DIR)...
-       $(INSTALL_DIR) -m 755 $(LIB32DIR)
-       $(INSTALL_LIB) 32bit/libcupsppdc.so.1 $(LIB32DIR)/libcupsppdc.so.1
-       $(LN) libcupsppdc.so.1 $(LIB32DIR)/libcupsppdc.so
-
-install64bit:
-       echo Installing libraries in $(LIB64DIR)...
-       $(INSTALL_DIR) -m 755 $(LIB64DIR)
-       $(INSTALL_LIB) 64bit/libcupsppdc.so.1 $(LIB64DIR)/libcupsppdc.so.1
-       $(LN) libcupsppdc.so.1 $(LIB64DIR)/libcupsppdc.so
-
 
 #
 # Uninstall...
 #
 
 uninstall:
-       $(RM) $(BINDIR)/ppdc
-       $(RM) $(BINDIR)/ppdhtml
-       $(RM) $(BINDIR)/ppdi
-       $(RM) $(BINDIR)/ppdmerge
-       $(RM) $(BINDIR)/ppdpo
-       $(RM) $(SERVERBIN)/driver/drv
-       $(RMDIR) $(SERVERBIN)/driver
+       for file in $(EXECTARGETS); do \
+               $(RM) $(BINDIR)/$$file; \
+       done
+       $(RM) $(DATADIR)/drv/sample.drv
        $(RMDIR) $(DATADIR)/drv
        $(RM) $(LIBDIR)/libcupsppdc.1.dylib
        $(RM) $(LIBDIR)/libcupsppdc.a
@@ -217,16 +207,6 @@ uninstall:
        $(RM) $(INCLUDEDIR)/cups/ppdc.h
        -$(RMDIR) $(INCLUDEDIR)/cups
 
-uninstall32bit:
-       $(RM) $(LIB32DIR)/libcupsppdc.so
-       $(RM) $(LIB32DIR)/libcupsppdc.so.1
-       -$(RMDIR) $(LIB32DIR)
-
-uninstall64bit:
-       $(RM) $(LIB64DIR)/libcupsppdc.so
-       $(RM) $(LIB64DIR)/libcupsppdc.so.1
-       -$(RMDIR) $(LIB64DIR)
-
 
 #
 # Automatic API help files...
@@ -249,12 +229,17 @@ framedhelp:
 
 
 #
-# drv, the CUPS driver interface program to the PPD compiler.
+# genstrings - generate GNU gettext strings.
 #
 
-drv:                   drv.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
+genstrings:            genstrings.o libcupsppdc.a ../cups/libcups.a \
+                       sample.drv ../data/media.defs
        echo Linking $@...
-       $(CXX) $(LDFLAGS) -o $@ drv.o -L. -lcupsppdc $(LIBS)
+       $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
+               libcupsppdc.a ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) \
+               $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+       echo Generating localization strings...
+       ./genstrings >sample.c
 
 
 #
@@ -268,8 +253,9 @@ ppdc:                       ppdc.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
 
 ppdc-static:           ppdc.o libcupsppdc.a  ../cups/libcups.a foo.drv foo-fr.po
        echo Linking $@...
-       $(CXX) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a ../cups/libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
+               ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
        echo Testing PPD compiler...
        ./ppdc-static -l en,fr -I ../data foo.drv
        ./ppdc-static -l en,fr -z -I ../data foo.drv
@@ -312,53 +298,42 @@ ppdpo:                    ppdpo.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
 
 
 #
-# libcupsppdc.so.1, libcupsppdc.sl.1
+# testcatalog, test ppdcCatalog class.
 #
 
-libcupsppdc.so.1 libcupsppdc.sl.1:     $(LIBOBJS)
+testcatalog:           testcatalog.o libcupsppdc.a ../cups/libcups.a
        echo Linking $@...
-       $(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
-       $(RM) `basename $@ .1`
-       $(LN) $@ `basename $@ .1`
-
-
-#
-# 32bit/libcupsppdc.so.1
-#
-
-32bit/libcupsppdc.so.1:        $(LIB32OBJS)
-       echo Linking 32-bit $@...
-       -mkdir 32bit
-       $(DSOXX) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBS)
-       $(RM) 32bit/libcupsppdc.so
-       $(LN) libcupsppdc.so.1 32bit/libcupsppdc.so
+       $(CXX) $(LDFLAGS) -o $@ testcatalog.o libcupsppdc.a \
+               ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
 
 
 #
-# 64bit/libcupsppdc.so.1
+# libcupsppdc.so.1, libcupsppdc.sl.1
 #
 
-64bit/libcupsppdc.so.1:        $(LIB64OBJS)
-       echo Linking 64-bit $@...
-       -mkdir 64bit
-       $(DSOXX) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBS)
-       $(RM) 64bit/libcupsppdc.so
-       $(LN) libcupsppdc.so.1 64bit/libcupsppdc.so
+libcupsppdc.so.1 libcupsppdc.sl.1:     $(LIBOBJS)
+       echo Linking $@...
+       $(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
+       $(RM) `basename $@ .1`
+       $(LN) $@ `basename $@ .1`
 
 
 #
 # libcupsppdc.1.dylib
 #
 
-libcupsppdc.1.dylib:   $(LIBOBJS) libcupsppdc.exp
+libcupsppdc.1.dylib:   $(LIBOBJS)
+       echo Creating export list for $@...
+       nm $(LIBOBJS) | grep "T __" | awk '{print $$3}' | sort >t.exp
        echo Linking $@...
        $(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
                -install_name $(libdir)/$@ \
                -current_version 1.0.0 \
                -compatibility_version 1.0.0 \
-               -exported_symbols_list libcupsppdc.exp \
+               -exported_symbols_list t.exp \
                $(LIBOBJS) $(LIBS)
-       $(RM) libcupsppdc.dylib
+       $(RM) libcupsppdc.dylib t.exp
        $(LN) $@ libcupsppdc.dylib