]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - ppdc/Makefile
Import changes from CUPS 1.4svn-r8704.
[thirdparty/cups.git] / ppdc / Makefile
index 34f8a61e084f794e75e10eb8f1543efdaa5ac71d..524426541fa46127334bf3702d1a594bf2649e21 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
@@ -46,6 +46,7 @@ LIBOBJS =     \
                ppdc-variable.o
 OBJS =         \
                $(LIBOBJS) \
+               genstrings.o \
                ppdc.o \
                ppdhtml.o \
                ppdi.o \
@@ -54,16 +55,22 @@ OBJS =              \
                testcatalog.o
 LIBTARGETS =   \
                $(LIBCUPSPPDC) \
-               libcupsppdc.a \
-               ppdc-static
-TARGETS        =       \
-               $(LIBTARGETS) \
+               libcupsppdc.a
+UNITTARGETS =  \
+               ppdc-static \
+               ppdi-static \
+               testcatalog
+EXECTARGETS =  \
                ppdc \
                ppdhtml \
                ppdi \
                ppdmerge \
-               ppdpo \
-               testcatalog
+               ppdpo
+
+TARGETS        =       \
+               $(LIBTARGETS) \
+               $(EXECTARGETS) \
+               genstrings
 
 
 #
@@ -80,6 +87,13 @@ all:         $(TARGETS)
 libs:          $(LIBTARGETS)
 
 
+#
+# Make unit tests...
+#
+
+unittests:     $(UNITTARGETS)
+
+
 #
 # Clean everything...
 #
@@ -87,9 +101,9 @@ libs:                $(LIBTARGETS)
 clean:
        $(RM) $(OBJS) core
        $(RM) *.bak *.bck core.*
-       $(RM) $(TARGETS)
-       $(RM) -r ppd
-       $(RM) test.drv
+       $(RM) $(TARGETS) $(UNITTARGETS)
+       $(RM) -r ppd ppd2
+       $(RM) sample-import.drv sample.c test.drv
        $(RM) libcupsppdc.so libcupsppdc.sl libcupsppdc.dylib
 
 
@@ -124,14 +138,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)
+       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
@@ -151,7 +163,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)
@@ -170,8 +182,9 @@ install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
 
 installstatic:
        $(INSTALL_DIR) -m 755 $(LIBDIR)
-       $(INSTALL_LIB) libcupsppdc.a $(LIBDIR)
+       $(INSTALL_LIB) -m 755 libcupsppdc.a $(LIBDIR)
        $(RANLIB) $(LIBDIR)/libcupsppdc.a
+       $(CHMOD) 555 $(LIBDIR)/libcupsppdc.a
 
 
 #
@@ -179,11 +192,9 @@ installstatic:
 #
 
 uninstall:
-       $(RM) $(BINDIR)/ppdc
-       $(RM) $(BINDIR)/ppdhtml
-       $(RM) $(BINDIR)/ppdi
-       $(RM) $(BINDIR)/ppdmerge
-       $(RM) $(BINDIR)/ppdpo
+       for file in $(EXECTARGETS); do \
+               $(RM) $(BINDIR)/$$file; \
+       done
        $(RM) $(DATADIR)/drv/sample.drv
        $(RMDIR) $(DATADIR)/drv
        $(RM) $(LIBDIR)/libcupsppdc.1.dylib
@@ -208,7 +219,10 @@ apihelp:
                --title "PPD Compiler API" \
                --css ../doc/cups-printable.css \
                --header api-ppdc.header --intro api-ppdc.shtml \
+               api-ppdc.xml \
                ppdc.h $(LIBOBJS:.o=.cxx) >../doc/help/api-ppdc.html
+       mxmldoc --tokens help/api-ppdc.html api-ppdc.xml >../doc/help/api-ppdc.tokens
+       $(RM) api-ppdc.xml
 
 framedhelp:
        mxmldoc --framed api-ppdc \
@@ -219,6 +233,20 @@ framedhelp:
                ppdc.h $(LIBOBJS:.o=.cxx)
 
 
+#
+# genstrings - generate GNU gettext strings.
+#
+
+genstrings:            genstrings.o libcupsppdc.a ../cups/libcups.a \
+                       sample.drv ../data/media.defs
+       echo Linking $@...
+       $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
+               libcupsppdc.a ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) \
+               $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+       echo Generating localization strings...
+       ./genstrings >sample.c
+
+
 #
 # ppdc, the PPD compiler.
 #
@@ -231,7 +259,8 @@ ppdc:                       ppdc.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
 ppdc-static:           ppdc.o libcupsppdc.a  ../cups/libcups.a foo.drv foo-fr.po
        echo Linking $@...
        $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
-               ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+               ../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
@@ -255,6 +284,24 @@ ppdi:                      ppdi.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
        $(CXX) $(LDFLAGS) -o $@ ppdi.o -L. -lcupsppdc $(LIBS)
 
 
+ppdi-static:           ppdc-static ppdi.o libcupsppdc.a  ../cups/libcups.a
+       echo Linking $@...
+       $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
+               ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
+       echo Testing PPD importer...
+       $(RM) -r ppd ppd2 sample-import.drv
+       ./ppdc-static -I ../data sample.drv
+       ./ppdi-static -I ../data -o sample-import.drv ppd/*
+       ./ppdc-static -I ../data -d ppd2 sample-import.drv
+       if diff -qr ppd ppd2; then \
+               echo PPD import OK; \
+       else \
+               echo PPD import FAILED; \
+               exit 1; \
+       fi
+
+
 #
 # ppdmerge, merge PPD files.
 #
@@ -280,16 +327,17 @@ ppdpo:                    ppdpo.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
 testcatalog:           testcatalog.o libcupsppdc.a ../cups/libcups.a
        echo Linking $@...
        $(CXX) $(LDFLAGS) -o $@ testcatalog.o libcupsppdc.a \
-               ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+               ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
 
 
 #
 # libcupsppdc.so.1, libcupsppdc.sl.1
 #
 
-libcupsppdc.so.1 libcupsppdc.sl.1:     $(LIBOBJS)
+libcupsppdc.so.1 libcupsppdc.sl.1:     $(LIBOBJS) ../cups/$(LIBCUPS)
        echo Linking $@...
-       $(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
+       $(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LINKCUPS)
        $(RM) `basename $@ .1`
        $(LN) $@ `basename $@ .1`
 
@@ -298,7 +346,7 @@ libcupsppdc.so.1 libcupsppdc.sl.1:  $(LIBOBJS)
 # libcupsppdc.1.dylib
 #
 
-libcupsppdc.1.dylib:   $(LIBOBJS)
+libcupsppdc.1.dylib:   $(LIBOBJS) ../cups/$(LIBCUPS)
        echo Creating export list for $@...
        nm $(LIBOBJS) | grep "T __" | awk '{print $$3}' | sort >t.exp
        echo Linking $@...
@@ -307,7 +355,7 @@ libcupsppdc.1.dylib:        $(LIBOBJS)
                -current_version 1.0.0 \
                -compatibility_version 1.0.0 \
                -exported_symbols_list t.exp \
-               $(LIBOBJS) $(LIBS)
+               $(LIBOBJS) $(LINKCUPS)
        $(RM) libcupsppdc.dylib t.exp
        $(LN) $@ libcupsppdc.dylib
 
@@ -316,9 +364,9 @@ libcupsppdc.1.dylib:        $(LIBOBJS)
 # libcupsppdc_s.a
 #
 
-libcupsppdc_s.a:       $(LIBOBJS)
+libcupsppdc_s.a:       $(LIBOBJS) ../cups/$(LIBCUPS)
        echo Creating $@...
-       $(DSOXX) $(DSOFLAGS) -o libcupsppdc_s.o $(LIBOBJS) $(LIBS)
+       $(DSOXX) $(DSOFLAGS) -o libcupsppdc_s.o $(LIBOBJS) $(LINKCUPS)
        $(RM) $@
        $(AR) $(ARFLAGS) $@ libcupsppdc_s.o
 
@@ -327,10 +375,10 @@ libcupsppdc_s.a:  $(LIBOBJS)
 # libcupsppdc.la
 #
 
-libcupsppdc.la:    $(LIBOBJS)
+libcupsppdc.la:    $(LIBOBJS) ../cups/$(LIBCUPS)
        echo Linking $@...
        $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
-               -version-info 1:0 $(LIBS)
+               -version-info 1:0 $(LINKCUPS)
 
 
 #