X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=cups%2FMakefile;h=f41269c24ae8fbee34e52e0725c3c810c9cbf1b4;hb=0cb0ff0535c7bc7fbb483052d35d6d1bdd1925a9;hp=38fdcb64520e06a6a9eaf87a152e9c9ccab304fb;hpb=84315f460a5c9eb38f7fcc4204acf98ed2b29406;p=thirdparty%2Fcups.git diff --git a/cups/Makefile b/cups/Makefile index 38fdcb645..f41269c24 100644 --- a/cups/Makefile +++ b/cups/Makefile @@ -1,22 +1,28 @@ # -# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" +# API library Makefile for CUPS. # -# API library Makefile for CUPS. +# Copyright 2007-2016 by Apple Inc. +# Copyright 1997-2006 by Easy Software Products, all rights reserved. # -# Copyright 2007-2011 by Apple Inc. -# Copyright 1997-2006 by Easy Software Products, all rights reserved. +# 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/". # -# 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/". -# -# This file is subject to the Apple OS-Developed Software exception. +# This file is subject to the Apple OS-Developed Software exception. # include ../Makedefs + +# +# Options to build libcups without the use of deprecated APIs... +# + +OPTIONS = -D_CUPS_NO_DEPRECATED=1 -D_PPD_DEPRECATED="" + + # # Object files... # @@ -24,22 +30,22 @@ include ../Makedefs LIBOBJS = \ adminutil.o \ array.o \ - attr.o \ auth.o \ backchannel.o \ backend.o \ - conflicts.o \ - custom.o \ debug.o \ dest.o \ + dest-job.o \ + dest-localization.o \ + dest-options.o \ dir.o \ - emit.o \ encode.o \ file.o \ getdevices.o \ getifaddrs.o \ getputfile.o \ globals.o \ + hash.o \ http.o \ http-addr.o \ http-addrlist.o \ @@ -48,15 +54,20 @@ LIBOBJS = \ ipp-support.o \ langprintf.o \ language.o \ - localize.o \ - mark.o \ md5.o \ md5passwd.o \ notify.o \ options.o \ - page.o \ ppd.o \ + ppd-attr.o \ ppd-cache.o \ + ppd-conflicts.o \ + ppd-custom.o \ + ppd-emit.o \ + ppd-localize.o \ + ppd-mark.o \ + ppd-page.o \ + ppd-util.o \ pwg-media.o \ request.o \ sidechannel.o \ @@ -65,19 +76,17 @@ LIBOBJS = \ string.o \ tempfile.o \ thread.o \ + tls.o \ transcode.o \ usersys.o \ util.o -LIB32OBJS = $(LIBOBJS:.o=.32.o) -LIB64OBJS = $(LIBOBJS:.o=.64.o) -OBJS = \ - $(LIBOBJS) \ - $(LIB32OBJS) \ - $(LIB64OBJS) \ +TESTOBJS = \ testadmin.o \ testarray.o \ + testcache.o \ testconflicts.o \ testcups.o \ + testdest.o \ testfile.o \ testhttp.o \ testi18n.o \ @@ -86,7 +95,11 @@ OBJS = \ testlang.o \ testppd.o \ testpwg.o \ - testsnmp.o + testsnmp.o \ + tlscheck.o +OBJS = \ + $(LIBOBJS) \ + $(TESTOBJS) # @@ -104,12 +117,14 @@ HEADERS = \ ipp.h \ language.h \ ppd.h \ + pwg.h \ raster.h \ sidechannel.h \ transcode.h \ versioning.h HEADERSPRIV = \ + array-private.h \ cups-private.h \ debug-private.h \ file-private.h \ @@ -119,6 +134,7 @@ HEADERSPRIV = \ md5-private.h \ ppd-private.h \ pwg-private.h \ + raster-private.h \ snmp-private.h \ string-private.h \ thread-private.h @@ -130,15 +146,15 @@ HEADERSPRIV = \ LIBTARGETS = \ $(LIBCUPSSTATIC) \ - $(LIBCUPS) \ - $(LIB32CUPS) \ - $(LIB64CUPS) + $(LIBCUPS) UNITTARGETS = \ testadmin \ testarray \ + testcache \ testconflicts \ testcups \ + testdest \ testfile \ testhttp \ testi18n \ @@ -147,7 +163,8 @@ UNITTARGETS = \ testoptions \ testppd \ testpwg \ - testsnmp + testsnmp \ + tlscheck TARGETS = \ $(LIBTARGETS) @@ -180,8 +197,7 @@ unittests: $(UNITTARGETS) clean: $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS) - $(RM) libcups.so libcups.sl libcups.dylib - $(RM) -r 32bit 64bit + $(RM) libcups.so libcups.dylib # @@ -189,13 +205,15 @@ 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 + $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies + + +# +# Run oclint to check code coverage... +# + +oclint: + oclint -o=oclint.html -html $(LIBOBJS:.o=.c) -- $(ALL_CFLAGS) # @@ -242,11 +260,11 @@ install-headers: # Install libraries... # -install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64) +install-libs: $(INSTALLSTATIC) echo Installing libraries in $(LIBDIR)... $(INSTALL_DIR) -m 755 $(LIBDIR) $(INSTALL_LIB) $(LIBCUPS) $(LIBDIR) - if test $(LIBCUPS) = "libcups.so.2" -o $(LIBCUPS) = "libcups.sl.2"; then \ + if test $(LIBCUPS) = "libcups.so.2"; then \ $(RM) $(LIBDIR)/`basename $(LIBCUPS) .2`; \ $(LN) $(LIBCUPS) $(LIBDIR)/`basename $(LIBCUPS) .2`; \ fi @@ -257,6 +275,7 @@ install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64) if test "x$(SYMROOT)" != "x"; then \ $(INSTALL_DIR) $(SYMROOT); \ cp $(LIBCUPS) $(SYMROOT); \ + dsymutil $(SYMROOT)/$(LIBCUPS); \ fi installstatic: @@ -265,30 +284,15 @@ installstatic: $(RANLIB) $(LIBDIR)/$(LIBCUPSSTATIC) $(CHMOD) 555 $(LIBDIR)/$(LIBCUPSSTATIC) -install32bit: - echo Installing libraries in $(LIB32DIR)... - $(INSTALL_DIR) -m 755 $(LIB32DIR) - $(INSTALL_LIB) 32bit/libcups.so.2 $(LIB32DIR)/libcups.so.2 - $(LN) libcups.so.2 $(LIB32DIR)/libcups.so - -install64bit: - echo Installing libraries in $(LIB64DIR)... - $(INSTALL_DIR) -m 755 $(LIB64DIR) - $(INSTALL_LIB) 64bit/libcups.so.2 $(LIB64DIR)/libcups.so.2 - $(LN) libcups.so.2 $(LIB64DIR)/libcups.so - # # Uninstall object and target files... # -uninstall: $(UNINSTALL32) $(UNINSTALL64) +uninstall: $(RM) $(LIBDIR)/libcups.2.dylib $(RM) $(LIBDIR)/$(LIBCUPSSTATIC) $(RM) $(LIBDIR)/libcups.dylib - $(RM) $(LIBDIR)/libcups_s.a - $(RM) $(LIBDIR)/libcups.sl - $(RM) $(LIBDIR)/libcups.sl.2 $(RM) $(LIBDIR)/libcups.so $(RM) $(LIBDIR)/libcups.so.2 -$(RMDIR) $(LIBDIR) @@ -297,22 +301,12 @@ uninstall: $(UNINSTALL32) $(UNINSTALL64) done -$(RMDIR) $(INCLUDEDIR)/cups -uninstall32bit: - $(RM) $(LIB32DIR)/libcups.so - $(RM) $(LIB32DIR)/libcups.so.2 - -$(RMDIR) $(LIB32DIR) - -uninstall64bit: - $(RM) $(LIB64DIR)/libcups.so - $(RM) $(LIB64DIR)/libcups.so.2 - -$(RMDIR) $(LIB64DIR) - # -# libcups.so.2, libcups.sl.2 +# libcups.so.2 # -libcups.so.2 libcups.sl.2: $(LIBOBJS) +libcups.so.2: $(LIBOBJS) echo Linking $@... $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBGSSAPI) \ $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) @@ -320,45 +314,20 @@ libcups.so.2 libcups.sl.2: $(LIBOBJS) $(LN) $@ `basename $@ .2` -# -# 32bit/libcups.so.2 -# - -32bit/libcups.so.2: $(LIB32OBJS) - echo Linking 32-bit $@... - -mkdir 32bit - $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBGSSAPI) \ - $(DNSSDLIBS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ) - $(RM) 32bit/libcups.so - $(LN) libcups.so.2 32bit/libcups.so - - -# -# 64bit/libcups.so.2 -# - -64bit/libcups.so.2: $(LIB64OBJS) - echo Linking 64-bit $@... - -mkdir 64bit - $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBGSSAPI) \ - $(DNSSDLIBS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ) - $(RM) 64bit/libcups.so - $(LN) libcups.so.2 64bit/libcups.so - - # # libcups.2.dylib # libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER) echo Creating export list for $@... - nm $(LIBOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}' | \ - grep -v -e '^(_cupsConnect|_cupsCharset|_cupsEncodingName|_cupsSetDefaults|_cupsSetHTTPError|_cupsUserDefault|_httpWait)$$' | \ + nm -gm $(LIBOBJS) 2>/dev/null | grep "__text" | grep -v weak | \ + awk '{print $$NF}' | \ + grep -v -E -e '^(_cupsConnect|_cupsCharset|_cupsEncodingName|_cupsSetDefaults|_cupsSetHTTPError|_cupsUserDefault)$$' | \ sort >t.exp echo Linking $@... $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \ -install_name $(libdir)/$@ \ - -current_version 2.9.0 \ + -current_version 2.12.0 \ -compatibility_version 2.0.0 \ -exported_symbols_list t.exp \ $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \ @@ -367,19 +336,6 @@ libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER) $(LN) $@ libcups.dylib -# -# libcups_s.a -# - -libcups_s.a: $(LIBOBJS) libcups_s.exp - echo Creating $@... - $(DSO) $(DSOFLAGS) -Wl,-bexport:libcups_s.exp -o libcups_s.o \ - $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \ - $(COMMONLIBS) $(LIBZ) -lm - $(RM) $@ - $(AR) $(ARFLAGS) $@ libcups_s.o - - # # libcups.la # @@ -387,7 +343,7 @@ libcups_s.a: $(LIBOBJS) libcups_s.exp libcups.la: $(LIBOBJS) echo Linking $@... $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) \ - -rpath $(LIBDIR) -version-info 2:9 $(LIBGSSAPI) $(SSLLIBS) \ + -rpath $(LIBDIR) -version-info 2:12 $(LIBGSSAPI) $(SSLLIBS) \ $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) @@ -402,6 +358,23 @@ libcups.a: $(LIBOBJS) $(RANLIB) $@ +# +# libcups2.def (Windows DLL exports file...) +# + +libcups2.def: $(LIBOBJS) Makefile + echo Generating $@... + echo "LIBRARY libcups2" >libcups2.def + echo "VERSION 2.12" >>libcups2.def + echo "EXPORTS" >>libcups2.def + (nm $(LIBOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}'; \ + echo __cups_strcpy; echo __cups_strlcat; echo __cups_strlcpy) | \ + grep -v -E \ + -e 'cups_debug|Apple|BackChannel|Backend|FileCheck|Filter|GSSService|SetNegotiate|SideChannel' \ + -e 'Block$$' | \ + sed -e '1,$$s/^_//' | sort >>libcups2.def + + # # testadmin (dependency on static CUPS library is intentional) # @@ -424,6 +397,16 @@ testarray: testarray.o $(LIBCUPSSTATIC) ./testarray +# +# testcache (dependency on static CUPS library is intentional) +# + +testcache: testcache.o $(LIBCUPSSTATIC) + echo Linking $@... + $(CC) $(LDFLAGS) -o $@ testcache.o $(LIBCUPSSTATIC) \ + $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) + + # # testconflicts (dependency on static CUPS library is intentional) # @@ -444,6 +427,16 @@ testcups: testcups.o $(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) +# +# testdest (dependency on static CUPS library is intentional) +# + +testdest: testdest.o $(LIBCUPSSTATIC) + echo Linking $@... + $(CC) $(LDFLAGS) -o $@ testdest.o $(LIBCUPSSTATIC) \ + $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) + + # # testfile (dependency on static CUPS library is intentional) # @@ -550,6 +543,16 @@ testsnmp: testsnmp.o $(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) +# +# tlscheck (dependency on static CUPS library is intentional) +# + +tlscheck: tlscheck.o $(LIBCUPSSTATIC) + echo Linking $@... + $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ tlscheck.o $(LIBCUPSSTATIC) \ + $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) + + # # Automatic API help files... # @@ -561,6 +564,13 @@ apihelp: --css ../doc/cups-printable.css \ --header api-overview.header --intro api-overview.shtml \ >../doc/help/api-overview.html + mxmldoc --section "Programming" --title "Administration APIs" \ + --css ../doc/cups-printable.css \ + --header api-admin.header --intro api-admin.shtml \ + api-admin.xml \ + adminutil.c adminutil.h getdevices.c >../doc/help/api-admin.html + mxmldoc --tokens help/api-admin.html api-admin.xml >../doc/help/api-admin.tokens + $(RM) api-admin.xml mxmldoc --section "Programming" --title "Array API" \ --css ../doc/cups-printable.css \ --header api-array.header --intro api-array.shtml \ @@ -572,8 +582,8 @@ apihelp: --css ../doc/cups-printable.css \ --header api-cups.header --intro api-cups.shtml \ api-cups.xml \ - cups.h adminutil.c dest.c language.c notify.c \ - options.c tempfile.c usersys.c \ + cups.h pwg.h adminutil.c dest*.c language.c notify.c \ + options.c pwg-media.c tempfile.c usersys.c \ util.c >../doc/help/api-cups.html mxmldoc --tokens help/api-cups.html api-cups.xml >../doc/help/api-cups.tokens $(RM) api-cups.xml @@ -584,12 +594,10 @@ apihelp: file.h file.c dir.h dir.c >../doc/help/api-filedir.html mxmldoc --tokens api-filedir.xml >../doc/help/api-filedir.tokens $(RM) api-filedir.xml - mxmldoc --section "Programming" --title "PPD API" \ + mxmldoc --section "Programming" --title "PPD API (DEPRECATED)" \ --css ../doc/cups-printable.css \ --header api-ppd.header --intro api-ppd.shtml \ - api-ppd.xml \ - ppd.h attr.c conflicts.c custom.c emit.c localize.c mark.c page.c \ - ppd.c >../doc/help/api-ppd.html + api-ppd.xml ppd.h ppd-*.c >../doc/help/api-ppd.html mxmldoc --tokens help/api-ppd.html api-ppd.xml >../doc/help/api-ppd.tokens $(RM) api-ppd.xml mxmldoc --section "Programming" --title "HTTP and IPP APIs" \ @@ -611,50 +619,6 @@ apihelp: mxmldoc --tokens help/api-filter.html api-filter.xml >../doc/help/api-filter.tokens $(RM) api-filter.xml -framedhelp: - echo Generating CUPS API help files... - mxmldoc --framed api-overview \ - --section "Programming" \ - --title "Introduction to CUPS Programming" \ - --css ../doc/cups-printable.css \ - --header api-overview.header --intro api-overview.shtml - mxmldoc --framed api-array \ - --section "Programming" --title "Array API" \ - --css ../doc/cups-printable.css \ - --header api-array.header --intro api-array.shtml \ - array.h array.c - mxmldoc --framed api-cups \ - --section "Programming" --title "CUPS API" \ - --css ../doc/cups-printable.css \ - --header api-cups.header --intro api-cups.shtml \ - cups.h adminutil.c dest.c language.c notify.c \ - options.c tempfile.c usersys.c \ - util.c - mxmldoc --framed api-filedir \ - --section "Programming" --title "File and Directory APIs" \ - --css ../doc/cups-printable.css \ - --header api-filedir.header --intro api-filedir.shtml \ - file.h file.c dir.h dir.c - mxmldoc --framed api-ppd \ - --section "Programming" --title "PPD API" \ - --css ../doc/cups-printable.css \ - --header api-ppd.header --intro api-ppd.shtml \ - ppd.h attr.c conflicts.c custom.c emit.c localize.c mark.c \ - page.c ppd.c - mxmldoc --framed api-httpipp \ - --section "Programming" --title "HTTP and IPP APIs" \ - --css ../doc/cups-printable.css \ - --header api-httpipp.header --intro api-httpipp.shtml \ - http.h ipp.h auth.c getdevices.c getputfile.c encode.c \ - http.c http-addr.c http-support.c ipp.c ipp-support.c \ - md5passwd.c request.c - mxmldoc --framed api-filter \ - --section "Programming" \ - --title "Filter and Backend Programming" \ - --css ../doc/cups-printable.css \ - --header api-filter.header --intro api-filter.shtml \ - backchannel.c backend.h backend.c sidechannel.c sidechannel.h - # # Lines of code computation... @@ -672,8 +636,4 @@ sloc: # include Dependencies - - -# -# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". -# +tls.o: tls-darwin.c tls-gnutls.c tls-sspi.c