| # |
| # Library Makefile for CUPS. |
| # |
| # Copyright © 2007-2019 by Apple Inc. |
| # Copyright © 1997-2006 by Easy Software Products, all rights reserved. |
| # |
| # Licensed under Apache License v2.0. See the file "LICENSE" for more |
| # information. |
| # |
| |
| include ../Makedefs |
| |
| |
| # |
| # Object files... |
| # |
| |
| COREOBJS = \ |
| array.o \ |
| auth.o \ |
| debug.o \ |
| dest.o \ |
| dest-job.o \ |
| dest-localization.o \ |
| dest-options.o \ |
| dir.o \ |
| encode.o \ |
| file.o \ |
| getputfile.o \ |
| globals.o \ |
| hash.o \ |
| http.o \ |
| http-addr.o \ |
| http-addrlist.o \ |
| http-support.o \ |
| ipp.o \ |
| ipp-file.o \ |
| ipp-vars.o \ |
| ipp-support.o \ |
| langprintf.o \ |
| language.o \ |
| md5.o \ |
| md5passwd.o \ |
| notify.o \ |
| options.o \ |
| pwg-media.o \ |
| raster-error.o \ |
| raster-stream.o \ |
| raster-stubs.o \ |
| request.o \ |
| snprintf.o \ |
| string.o \ |
| tempfile.o \ |
| thread.o \ |
| tls.o \ |
| transcode.o \ |
| usersys.o \ |
| util.o |
| |
| DRIVEROBJS = \ |
| adminutil.o \ |
| backchannel.o \ |
| backend.o \ |
| getdevices.o \ |
| getifaddrs.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 \ |
| raster-interpret.o \ |
| raster-interstub.o \ |
| sidechannel.o \ |
| snmp.o |
| |
| LIBOBJS = \ |
| $(LIBCUPSOBJS) |
| |
| IMAGEOBJS = \ |
| raster-interstub.o \ |
| raster-stubs.o |
| |
| TESTOBJS = \ |
| rasterbench.o \ |
| testadmin.o \ |
| testarray.o \ |
| testcache.o \ |
| testclient.o \ |
| testconflicts.o \ |
| testcreds.o \ |
| testcups.o \ |
| testdest.o \ |
| testfile.o \ |
| testgetdests.o \ |
| testhttp.o \ |
| testi18n.o \ |
| testipp.o \ |
| testoptions.o \ |
| testlang.o \ |
| testppd.o \ |
| testpwg.o \ |
| testraster.o \ |
| testsnmp.o \ |
| testthreads.o \ |
| tlscheck.o |
| OBJS = \ |
| $(LIBOBJS) \ |
| $(IMAGEOBJS) \ |
| $(TESTOBJS) |
| |
| |
| # |
| # Header files to install... |
| # |
| |
| COREHEADERS = \ |
| array.h \ |
| cups.h \ |
| dir.h \ |
| file.h \ |
| http.h \ |
| ipp.h \ |
| language.h \ |
| pwg.h \ |
| raster.h \ |
| transcode.h \ |
| versioning.h |
| |
| DRIVERHEADERS = \ |
| adminutil.h \ |
| backend.h \ |
| ppd.h \ |
| sidechannel.h |
| |
| HEADERS = \ |
| $(LIBHEADERS) |
| |
| COREHEADERSPRIV = \ |
| array-private.h \ |
| cups-private.h \ |
| debug-private.h \ |
| file-private.h \ |
| http-private.h \ |
| ipp-private.h \ |
| language-private.h \ |
| pwg-private.h \ |
| raster-private.h \ |
| string-private.h \ |
| thread-private.h |
| |
| DRIVERHEADERSPRIV = \ |
| ppd-private.h \ |
| snmp-private.h |
| |
| HEADERSPRIV = \ |
| $(LIBHEADERSPRIV) |
| |
| |
| # |
| # Targets in this directory... |
| # |
| |
| LIBTARGETS = \ |
| $(LIBCUPSIMAGE) \ |
| $(LIBCUPSSTATIC) \ |
| $(LIBCUPS) \ |
| libcupsimage.a |
| |
| UNITTARGETS = \ |
| rasterbench \ |
| testadmin \ |
| testarray \ |
| testcache \ |
| testclient \ |
| testconflicts \ |
| testcreds \ |
| testcups \ |
| testdest \ |
| testfile \ |
| testgetdests \ |
| testhttp \ |
| testi18n \ |
| testipp \ |
| testlang \ |
| testoptions \ |
| testppd \ |
| testpwg \ |
| testraster \ |
| testsnmp \ |
| testthreads \ |
| tlscheck |
| |
| TARGETS = \ |
| $(LIBTARGETS) |
| |
| |
| # |
| # Make all targets... |
| # |
| |
| all: $(TARGETS) |
| |
| |
| # |
| # Make library targets... |
| # |
| |
| libs: $(LIBTARGETS) |
| |
| |
| # |
| # Make unit tests... |
| # |
| |
| unittests: $(UNITTARGETS) |
| |
| |
| # |
| # Remove object and target files... |
| # |
| |
| clean: |
| $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS) |
| $(RM) libcups.so libcups.dylib |
| $(RM) libcupsimage.so libcupsimage.dylib |
| |
| |
| # |
| # Update dependencies (without system header dependencies...) |
| # |
| |
| depend: |
| $(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) |
| |
| |
| # |
| # Install all targets... |
| # |
| |
| install: all install-data install-headers install-libs install-exec |
| |
| |
| # |
| # Install data files... |
| # |
| |
| install-data: |
| |
| |
| # |
| # Install programs... |
| # |
| |
| install-exec: |
| |
| |
| # |
| # Install headers... |
| # |
| |
| install-headers: |
| echo Installing header files into $(INCLUDEDIR)/cups... |
| $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups |
| for file in $(HEADERS); do \ |
| $(INSTALL_DATA) $$file $(INCLUDEDIR)/cups; \ |
| done |
| if test "x$(privateinclude)" != x; then \ |
| echo Installing private header files into $(PRIVATEINCLUDE)...; \ |
| $(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \ |
| for file in $(HEADERSPRIV); do \ |
| $(INSTALL_DATA) $$file $(PRIVATEINCLUDE)/$$file; \ |
| done; \ |
| fi |
| |
| |
| # |
| # Install libraries... |
| # |
| |
| install-libs: $(LIBTARGETS) $(INSTALLSTATIC) |
| echo Installing libraries in $(LIBDIR)... |
| $(INSTALL_DIR) -m 755 $(LIBDIR) |
| $(INSTALL_LIB) $(LIBCUPS) $(LIBDIR) |
| if test $(LIBCUPS) = "libcups.so.2"; then \ |
| $(RM) $(LIBDIR)/`basename $(LIBCUPS) .2`; \ |
| $(LN) $(LIBCUPS) $(LIBDIR)/`basename $(LIBCUPS) .2`; \ |
| fi |
| if test $(LIBCUPS) = "libcups.2.dylib"; then \ |
| $(RM) $(LIBDIR)/libcups.dylib; \ |
| $(LN) $(LIBCUPS) $(LIBDIR)/libcups.dylib; \ |
| fi |
| -if test "x$(LIBCUPSIMAGE)" != x; then \ |
| $(INSTALL_LIB) $(LIBCUPSIMAGE) $(LIBDIR); \ |
| fi |
| -if test "x$(LIBCUPSIMAGE)" = "xlibcupsimage.so.2"; then \ |
| $(RM) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \ |
| $(LN) $(LIBCUPSIMAGE) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \ |
| fi |
| -if test "x$(LIBCUPSIMAGE)" = "xlibcupsimage.2.dylib"; then \ |
| $(RM) $(LIBDIR)/libcupsimage.dylib; \ |
| $(LN) $(LIBCUPSIMAGE) $(LIBDIR)/libcupsimage.dylib; \ |
| fi |
| if test "x$(SYMROOT)" != "x"; then \ |
| $(INSTALL_DIR) $(SYMROOT); \ |
| cp $(LIBCUPS) $(SYMROOT); \ |
| dsymutil $(SYMROOT)/$(LIBCUPS); \ |
| if test "x$(LIBCUPSIMAGE)" != x; then \ |
| cp $(LIBCUPSIMAGE) $(SYMROOT); \ |
| dsymutil $(SYMROOT)/$(LIBCUPSIMAGE); \ |
| fi; \ |
| fi |
| |
| installstatic: |
| $(INSTALL_DIR) -m 755 $(LIBDIR) |
| $(INSTALL_LIB) -m 755 $(LIBCUPSSTATIC) $(LIBDIR) |
| $(RANLIB) $(LIBDIR)/$(LIBCUPSSTATIC) |
| $(CHMOD) 555 $(LIBDIR)/$(LIBCUPSSTATIC) |
| $(INSTALL_LIB) -m 755 libcupsimage.a $(LIBDIR) |
| $(RANLIB) $(LIBDIR)/libcupsimage.a |
| $(CHMOD) 555 $(LIBDIR)/libcupsimage.a |
| |
| |
| # |
| # Uninstall object and target files... |
| # |
| |
| uninstall: |
| $(RM) $(LIBDIR)/libcups.2.dylib |
| $(RM) $(LIBDIR)/libcups.a |
| $(RM) $(LIBDIR)/libcups.dylib |
| $(RM) $(LIBDIR)/libcups.so |
| $(RM) $(LIBDIR)/libcups.so.2 |
| $(RM) $(LIBDIR)/libcupsimage.2.dylib |
| $(RM) $(LIBDIR)/libcupsimage.a |
| $(RM) $(LIBDIR)/libcupsimage.dylib |
| $(RM) $(LIBDIR)/libcupsimage.so |
| $(RM) $(LIBDIR)/libcupsimage.so.2 |
| -$(RMDIR) $(LIBDIR) |
| for file in $(HEADERS); do \ |
| $(RM) $(INCLUDEDIR)/cups/$$file; \ |
| done |
| -$(RMDIR) $(INCLUDEDIR)/cups |
| if test "x$(privateinclude)" != x; then \ |
| for file in $(HEADERSPRIV); do \ |
| $(RM) $(PRIVATEINCLUDE)/cups/$$file; \ |
| done |
| $(RMDIR) $(PRIVATEINCLUDE)/cups; \ |
| fi |
| |
| |
| # |
| # libcups.so.2 |
| # |
| |
| libcups.so.2: $(LIBOBJS) |
| echo Linking $@... |
| $(DSO) $(ARCHFLAGS) $(ALL_DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS) |
| $(RM) `basename $@ .2` |
| $(LN) $@ `basename $@ .2` |
| |
| |
| # |
| # libcups.2.dylib |
| # |
| |
| libcups.2.dylib: $(LIBOBJS) |
| echo Linking $@... |
| $(DSO) $(ARCHFLAGS) $(ALL_DSOFLAGS) -o $@ \ |
| -install_name $(libdir)/$@ \ |
| -current_version 2.14.0 \ |
| -compatibility_version 2.0.0 \ |
| $(LIBOBJS) $(LIBS) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| $(RM) libcups.dylib |
| $(LN) $@ libcups.dylib |
| |
| |
| # |
| # libcups.la |
| # |
| |
| libcups.la: $(LIBOBJS) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) \ |
| -rpath $(LIBDIR) -version-info 2:14 $(LIBS) |
| |
| |
| # |
| # libcups.a |
| # |
| |
| libcups.a: $(LIBOBJS) |
| echo Archiving $@... |
| $(RM) $@ |
| $(AR) $(ARFLAGS) $@ $(LIBOBJS) |
| $(RANLIB) $@ |
| |
| |
| # |
| # libcups2.def (Windows DLL exports file...) |
| # |
| |
| libcups2.def: $(LIBOBJS) $(IMAGEOBJS) Makefile |
| echo Generating $@... |
| echo "LIBRARY libcups2" >libcups2.def |
| echo "VERSION 2.14" >>libcups2.def |
| echo "EXPORTS" >>libcups2.def |
| (nm $(LIBOBJS) $(IMAGEOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}'; \ |
| echo __cups_strcpy; echo __cups_strlcat; echo __cups_strlcpy; \ |
| echo __cups_snprintf; echo __cups_vsnprintf; echo __cups_gettimeofday) | \ |
| grep -v -E \ |
| -e 'cups_debug|Apple|BackChannel|Backend|FileCheck|Filter|GSSService|SetNegotiate|SideChannel|SNMP' \ |
| -e 'Block$$' | \ |
| sed -e '1,$$s/^_//' | sort >>libcups2.def |
| |
| |
| # |
| # libcupsimage.so.2 |
| # |
| |
| libcupsimage.so.2: $(IMAGEOBJS) libcups.so.2 |
| echo Linking $@... |
| $(DSO) $(ARCHFLAGS) $(ALL_DSOFLAGS) -o $@ $(IMAGEOBJS) $(LINKCUPS) |
| $(RM) `basename $@ .2` |
| $(LN) $@ `basename $@ .2` |
| |
| |
| # |
| # libcupsimage.2.dylib |
| # |
| |
| libcupsimage.2.dylib: $(IMAGEOBJS) libcups.2.dylib |
| echo Linking $@... |
| $(DSO) $(ARCHFLAGS) $(ALL_DSOFLAGS) -o $@ \ |
| -install_name $(libdir)/$@ \ |
| -current_version 2.3.0 \ |
| -compatibility_version 2.0.0 \ |
| $(IMAGEOBJS) $(LINKCUPS) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| $(RM) libcupsimage.dylib |
| $(LN) $@ libcupsimage.dylib |
| |
| |
| # |
| # libcupsimage.la |
| # |
| |
| libcupsimage.la: $(IMAGEOBJS) libcups.la |
| echo Linking $@... |
| $(DSO) $(ARCHFLAGS) $(ALL_DSOFLAGS) -o $@ $(IMAGEOBJS:.o=.lo) \ |
| $(LINKCUPS) -rpath $(LIBDIR) -version-info 2:3 |
| |
| |
| # |
| # libcupsimage.a |
| # |
| |
| libcupsimage.a: $(IMAGEOBJS) |
| echo Archiving $@... |
| $(RM) $@ |
| $(AR) $(ARFLAGS) $@ $(IMAGEOBJS) |
| $(RANLIB) $@ |
| |
| |
| # |
| # rasterbench (dependency on static CUPS library is intentional) |
| # |
| |
| rasterbench: rasterbench.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ rasterbench.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testadmin (dependency on static CUPS library is intentional) |
| # |
| |
| testadmin: testadmin.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ testadmin.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testarray (dependency on static CUPS library is intentional) |
| # |
| |
| testarray: testarray.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testarray.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Running array API tests... |
| ./testarray |
| |
| |
| # |
| # testcache (dependency on static CUPS library is intentional) |
| # |
| |
| testcache: testcache.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ testcache.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testclient (dependency on static libraries is intentional) |
| # |
| |
| testclient: testclient.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ testclient.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testconflicts (dependency on static CUPS library is intentional) |
| # |
| |
| testconflicts: testconflicts.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ testconflicts.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testcreds (dependency on static CUPS library is intentional) |
| # |
| |
| testcreds: testcreds.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testcreds.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testcups (dependency on static CUPS library is intentional) |
| # |
| |
| testcups: testcups.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ testcups.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testdest (dependency on static CUPS library is intentional) |
| # |
| |
| testdest: testdest.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ testdest.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testfile (dependency on static CUPS library is intentional) |
| # |
| |
| testfile: testfile.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testfile.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Running file API tests... |
| ./testfile |
| |
| |
| # |
| # testgetdests (dependency on static CUPS library is intentional) |
| # |
| |
| testgetdests: testgetdests.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ testgetdests.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testhttp (dependency on static CUPS library is intentional) |
| # |
| |
| testhttp: testhttp.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testhttp.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Running HTTP API tests... |
| ./testhttp |
| |
| |
| # |
| # testipp (dependency on static CUPS library is intentional) |
| # |
| |
| testipp: testipp.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testipp.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Running IPP API tests... |
| ./testipp |
| |
| |
| # |
| # testi18n (dependency on static CUPS library is intentional) |
| # |
| |
| testi18n: testi18n.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testi18n.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Running internationalization API tests... |
| ./testi18n |
| |
| |
| # |
| # testlang (dependency on static CUPS library is intentional) |
| # |
| |
| testlang: testlang.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testlang.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Creating locale directory structure... |
| $(RM) -r locale |
| for po in ../locale/cups_*.po; do \ |
| lang=`basename $$po .po | sed -e '1,$$s/^cups_//'`; \ |
| $(MKDIR) locale/$$lang; \ |
| $(LN) ../../$$po locale/$$lang; \ |
| done |
| echo Running language API tests... |
| LOCALEDIR=locale ./testlang |
| |
| |
| # |
| # testoptions (dependency on static CUPS library is intentional) |
| # |
| |
| testoptions: testoptions.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testoptions.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Running option API tests... |
| ./testoptions |
| |
| |
| # |
| # testppd (dependency on static CUPS library is intentional) |
| # |
| |
| testppd: testppd.o $(LIBCUPSSTATIC) test.ppd test2.ppd |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testppd.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Running PPD API tests... |
| ./testppd |
| |
| |
| # |
| # testpwg (dependency on static CUPS library is intentional) |
| # |
| |
| testpwg: testpwg.o $(LIBCUPSSTATIC) test.ppd |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testpwg.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Running PWG API tests... |
| ./testpwg test.ppd |
| |
| |
| # |
| # testraster (dependency on static CUPS library is intentional) |
| # |
| |
| testraster: testraster.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testraster.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| echo Running raster API tests... |
| ./testraster |
| |
| |
| # |
| # testsnmp (dependency on static CUPS library is intentional) |
| # |
| |
| testsnmp: testsnmp.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ testsnmp.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # testthreads (dependency on static CUPS library is intentional) |
| # |
| |
| testthreads: testthreads.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ALL_LDFLAGS) -o $@ testthreads.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # tlscheck (dependency on static CUPS library is intentional) |
| # |
| |
| tlscheck: tlscheck.o $(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ tlscheck.o $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # Automatic API help files... |
| # |
| |
| apihelp: |
| echo Generating CUPS API help files... |
| $(RM) cupspm.xml |
| codedoc --section "Programming" --body cupspm.md \ |
| cupspm.xml \ |
| auth.c cups.h dest*.c encode.c http.h http*.c ipp.h ipp*.c \ |
| options.c tls-darwin.c usersys.c util.c \ |
| --coverimage cupspm.png \ |
| --epub ../doc/help/cupspm.epub |
| codedoc --section "Programming" --body cupspm.md \ |
| cupspm.xml > ../doc/help/cupspm.html |
| $(RM) cupspm.xml |
| codedoc --section "Programming" --title "Administration APIs" \ |
| --css ../doc/cups-printable.css \ |
| --header api-admin.header --body api-admin.shtml \ |
| adminutil.c adminutil.h getdevices.c >../doc/help/api-admin.html |
| codedoc --section "Programming" --title "PPD API (DEPRECATED)" \ |
| --css ../doc/cups-printable.css \ |
| --header api-ppd.header --body api-ppd.shtml \ |
| ppd.h ppd-*.c raster-interstub.c >../doc/help/api-ppd.html |
| codedoc --section "Programming" --title "Raster API" \ |
| --css ../doc/cups-printable.css \ |
| --header api-raster.header --body api-raster.shtml \ |
| ../cups/raster.h raster-stubs.c \ |
| >../doc/help/api-raster.html |
| codedoc --section "Programming" \ |
| --title "Filter and Backend Programming" \ |
| --css ../doc/cups-printable.css \ |
| --header api-filter.header --body api-filter.shtml \ |
| backchannel.c backend.h backend.c sidechannel.c sidechannel.h \ |
| >../doc/help/api-filter.html |
| |
| |
| # |
| # Lines of code computation... |
| # |
| |
| sloc: |
| echo "libcups: \c" |
| sloccount $(LIBOBJS:.o=.c) 2>/dev/null | grep "Total Physical" | awk '{print $$9}' |
| echo "libcupsimage: \c" |
| sloccount $(IMAGEOBJS:.o=.c) 2>/dev/null | grep "Total Physical" | awk '{print $$9}' |
| |
| |
| # |
| # Dependencies... |
| # |
| |
| include Dependencies |
| tls.o: tls-darwin.c tls-gnutls.c tls-sspi.c |