779 lines
16 KiB
Makefile
779 lines
16 KiB
Makefile
#
|
||
# 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
|