]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - ppdc/Makefile
Update build system and cups-config script to not add extra libraries to the
[thirdparty/cups.git] / ppdc / Makefile
index 598b9112c50d4ad0902a49ab6c00196d5cb41f38..32e2e0bd0b2bca5e01ba502f146a0e80c2e268e0 100644 (file)
@@ -1,16 +1,11 @@
 #
-# "$Id$"
+# Makefile for the CUPS PPD Compiler.
 #
-#   Makefile for the CUPS PPD Compiler.
+# Copyright © 2007-2019 by Apple Inc.
+# Copyright © 2002-2006 by Easy Software Products.
 #
-#   Copyright 2007-2008 by Apple Inc.
-#   Copyright 2002-2006 by Easy Software Products.
-#
-#   These coded instructions, statements, and computer programs are the
-#   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/".
+# Licensed under Apache License v2.0.  See the file "LICENSE" for more
+# information.
 #
 
 #
@@ -54,10 +49,10 @@ OBJS =              \
                ppdpo.o \
                testcatalog.o
 LIBTARGETS =   \
-               $(LIBCUPSPPDC) \
                libcupsppdc.a
 UNITTARGETS =  \
                ppdc-static \
+               ppdi-static \
                testcatalog
 EXECTARGETS =  \
                ppdc \
@@ -69,7 +64,7 @@ EXECTARGETS = \
 TARGETS        =       \
                $(LIBTARGETS) \
                $(EXECTARGETS) \
-               genstrings
+               $(LOCALTARGET)
 
 
 #
@@ -83,7 +78,7 @@ all:          $(TARGETS)
 # Make library targets...
 #
 
-libs:          $(LIBTARGETS)
+libs:
 
 
 #
@@ -100,10 +95,9 @@ unittests:  $(UNITTARGETS)
 clean:
        $(RM) $(OBJS) core
        $(RM) *.bak *.bck core.*
-       $(RM) $(TARGETS) $(UNITTARGETS)
-       $(RM) -r ppd
-       $(RM) sample.c test.drv
-       $(RM) libcupsppdc.so libcupsppdc.sl libcupsppdc.dylib
+       $(RM) $(TARGETS) $(UNITTARGETS) genstrings
+       $(RM) -r ppd ppd2
+       $(RM) sample-import.drv sample.c test.drv
 
 
 #
@@ -111,7 +105,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.cxx) >/dev/null 2>&1
+       $(CXX) -MM $(ALL_CXXFLAGS) $(OBJS:.o=.cxx) >Dependencies
 
 
 #
@@ -142,8 +136,9 @@ install-exec:
        done
        if test "x$(SYMROOT)" != "x"; then \
                $(INSTALL_DIR) $(SYMROOT); \
-               for file in $(EXECTARGETS) $(LIBTARGETS); do \
+               for file in $(EXECTARGETS); do \
                        cp $$file $(SYMROOT); \
+                       dsymutil $(SYMROOT)/$$file; \
                done \
        fi
 
@@ -153,36 +148,13 @@ install-exec:
 #
 
 install-headers:
-       echo Installing header files in $(INCLUDEDIR)/cups...
-       $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
-       $(INSTALL_DATA) ppdc.h $(INCLUDEDIR)/cups
 
 
 #
 # Install libraries...
 #
 
-install-libs: $(INSTALLSTATIC)
-       echo Installing libraries in $(LIBDIR)...
-       $(INSTALL_DIR) -m 755 $(LIBDIR)
-       $(INSTALL_LIB) $(LIBCUPSPPDC) $(LIBDIR)
-       if test $(LIBCUPSPPDC) = "libcupsppdc.so.1" -o $(LIBCUPSPPDC) = "libcupsppdc.sl.1"; then \
-               $(RM) $(LIBDIR)/`basename $(LIBCUPSPPDC) .1`; \
-               $(LN) $(LIBCUPSPPDC) $(LIBDIR)/`basename $(LIBCUPSPPDC) .1`; \
-       fi
-       if test $(LIBCUPSPPDC) = "libcupsppdc.1.dylib"; then \
-               $(RM) $(LIBDIR)/libcupsppdc.dylib; \
-               $(LN) $(LIBCUPSPPDC) $(LIBDIR)/libcupsppdc.dylib; \
-       fi
-       if test "x$(SYMROOT)" != "x"; then \
-               $(INSTALL_DIR) $(SYMROOT); \
-               cp $(LIBCUPSPPDC) $(SYMROOT); \
-       fi
-
-installstatic:
-       $(INSTALL_DIR) -m 755 $(LIBDIR)
-       $(INSTALL_LIB) libcupsppdc.a $(LIBDIR)
-       $(RANLIB) $(LIBDIR)/libcupsppdc.a
+install-libs:
 
 
 #
@@ -195,49 +167,25 @@ uninstall:
        done
        $(RM) $(DATADIR)/drv/sample.drv
        $(RMDIR) $(DATADIR)/drv
-       $(RM) $(LIBDIR)/libcupsppdc.1.dylib
-       $(RM) $(LIBDIR)/libcupsppdc.a
-       $(RM) $(LIBDIR)/libcupsppdc.dylib
-       $(RM) $(LIBDIR)/libcupsppdc_s.a
-       $(RM) $(LIBDIR)/libcupsppdc.sl
-       $(RM) $(LIBDIR)/libcupsppdc.sl.1
-       $(RM) $(LIBDIR)/libcupsppdc.so
-       $(RM) $(LIBDIR)/libcupsppdc.so.1
-       -$(RMDIR) $(LIBDIR)
-       $(RM) $(INCLUDEDIR)/cups/ppdc.h
-       -$(RMDIR) $(INCLUDEDIR)/cups
 
 
 #
-# Automatic API help files...
+# Local programs (not built when cross-compiling...)
 #
 
-apihelp:
-       mxmldoc --section "Programming" \
-               --title "PPD Compiler API" \
-               --css ../doc/cups-printable.css \
-               --header api-ppdc.header --intro api-ppdc.shtml \
-               ppdc.h $(LIBOBJS:.o=.cxx) >../doc/help/api-ppdc.html
-
-framedhelp:
-       mxmldoc --framed api-ppdc \
-               --section "Programming" \
-               --title "PPD Compiler API" \
-               --css ../doc/cups-printable.css \
-               --header api-ppdc.header --intro api-ppdc.shtml \
-               ppdc.h $(LIBOBJS:.o=.cxx)
+local: genstrings
 
 
 #
 # genstrings - generate GNU gettext strings.
 #
 
-genstrings:            genstrings.o libcupsppdc.a ../cups/libcups.a \
+genstrings:            genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
                        sample.drv ../data/media.defs
        echo Linking $@...
-       $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
-               libcupsppdc.a ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) \
-               $(COMMONLIBS) $(LIBZ)
+       $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \
+               libcupsppdc.a $(LINKCUPSSTATIC)
+       $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
        echo Generating localization strings...
        ./genstrings >sample.c
 
@@ -246,15 +194,17 @@ genstrings:               genstrings.o libcupsppdc.a ../cups/libcups.a \
 # ppdc, the PPD compiler.
 #
 
-ppdc:                  ppdc.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
+ppdc:                  ppdc.o libcupsppdc.a ../cups/$(LIBCUPS)
        echo Linking $@...
-       $(CXX) $(LDFLAGS) -o $@ ppdc.o -L. -lcupsppdc $(LIBS)
+       $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdc.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
+       $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
 
 
-ppdc-static:           ppdc.o libcupsppdc.a  ../cups/libcups.a foo.drv foo-fr.po
+ppdc-static:           ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
        echo Linking $@...
-       $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
-               ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
+               $(LINKCUPSSTATIC)
+       $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
        echo Testing PPD compiler...
        ./ppdc-static -l en,fr -I ../data foo.drv
        ./ppdc-static -l en,fr -z -I ../data foo.drv
@@ -264,18 +214,38 @@ ppdc-static:              ppdc.o libcupsppdc.a  ../cups/libcups.a foo.drv foo-fr.po
 # ppdhtml, the PPD to HTML utility.
 #
 
-ppdhtml:                       ppdhtml.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
+ppdhtml:                       ppdhtml.o libcupsppdc.a ../cups/$(LIBCUPS)
        echo Linking $@...
-       $(CXX) $(LDFLAGS) -o $@ ppdhtml.o -L. -lcupsppdc $(LIBS)
+       $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdhtml.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
+       $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
 
 
 #
 # ppdi, import PPD files.
 #
 
-ppdi:                  ppdi.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
+ppdi:                  ppdi.o libcupsppdc.a ../cups/$(LIBCUPS)
+       echo Linking $@...
+       $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdi.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
+       $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
+
+
+ppdi-static:           ppdc-static ppdi.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CXX) $(LDFLAGS) -o $@ ppdi.o -L. -lcupsppdc $(LIBS)
+       $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
+               $(LINKCUPSSTATIC)
+       $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
+       echo Testing PPD importer...
+       $(RM) -r ppd ppd2 sample-import.drv
+       ./ppdc-static -l en -I ../data sample.drv
+       ./ppdi-static -I ../data -o sample-import.drv ppd/*
+       ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
+       if diff -r ppd ppd2 >/dev/null; then \
+               echo PPD import OK; \
+       else \
+               echo PPD import FAILED; \
+               exit 1; \
+       fi
 
 
 #
@@ -284,76 +254,29 @@ ppdi:                     ppdi.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
 
 ppdmerge:                      ppdmerge.o ../cups/$(LIBCUPS)
        echo Linking $@...
-       $(CXX) $(LDFLAGS) -o $@ ppdmerge.o $(LIBS)
+       $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdmerge.o $(LINKCUPS)
+       $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
 
 
 #
 # ppdpo, create message catalog files.
 #
 
-ppdpo:                 ppdpo.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
+ppdpo:                 ppdpo.o libcupsppdc.a ../cups/$(LIBCUPS)
        echo Linking $@...
-       $(CXX) $(LDFLAGS) -o $@ ppdpo.o -L. -lcupsppdc $(LIBS)
+       $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdpo.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
+       $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
 
 
 #
 # testcatalog, test ppdcCatalog class.
 #
 
-testcatalog:           testcatalog.o libcupsppdc.a ../cups/libcups.a
-       echo Linking $@...
-       $(CXX) $(LDFLAGS) -o $@ testcatalog.o libcupsppdc.a \
-               ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
-
-
-#
-# libcupsppdc.so.1, libcupsppdc.sl.1
-#
-
-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)
-       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 t.exp \
-               $(LIBOBJS) $(LIBS)
-       $(RM) libcupsppdc.dylib t.exp
-       $(LN) $@ libcupsppdc.dylib
-
-
-#
-# libcupsppdc_s.a
-#
-
-libcupsppdc_s.a:       $(LIBOBJS)
-       echo Creating $@...
-       $(DSOXX) $(DSOFLAGS) -o libcupsppdc_s.o $(LIBOBJS) $(LIBS)
-       $(RM) $@
-       $(AR) $(ARFLAGS) $@ libcupsppdc_s.o
-
-
-#
-# libcupsppdc.la
-#
-
-libcupsppdc.la:    $(LIBOBJS)
+testcatalog:           testcatalog.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
-               -version-info 1:0 $(LIBS)
+       $(LD_CXX) $(ALL_LDFLAGS) -o $@ testcatalog.o libcupsppdc.a \
+               $(LINKCUPSSTATIC)
+       $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
 
 
 #
@@ -372,8 +295,3 @@ libcupsppdc.a:      $(LIBOBJS)
 #
 
 include Dependencies
-
-
-#
-# End of "$Id$".
-#