#
-# "$Id: Makefile 7589 2008-05-19 00:13:23Z mike $"
+# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $"
#
-# API library Makefile for the Common UNIX Printing System (CUPS).
+# API library Makefile for CUPS.
#
-# Copyright 2007-2008 by Apple Inc.
+# Copyright 2007-2010 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
options.o \
page.o \
ppd.o \
+ pwg-file.o \
+ pwg-media.o \
+ pwg-ppd.o \
request.o \
sidechannel.o \
snmp.o \
testoptions.o \
testlang.o \
testppd.o \
+ testpwg.o \
testsnmp.o \
php_cups_wrap.o
#
LIBTARGETS = \
+ $(LIBCUPSSTATIC) \
$(LIBCUPS) \
$(LIB32CUPS) \
- $(LIB64CUPS) \
- libcups.a \
+ $(LIB64CUPS)
+
+UNITTARGETS = \
+ testadmin \
testarray \
+ testconflicts \
+ testcups \
testfile \
testhttp \
testi18n \
testipp \
testlang \
testoptions \
- testppd
+ testppd \
+ testpwg \
+ testsnmp
TARGETS = \
- $(LIBTARGETS) \
- testadmin \
- testconflicts \
- testcups \
- testsnmp
+ $(LIBTARGETS)
#
# Make all targets...
#
-all: $(TARGETS)
+all: $(TARGETS)
#
libs: $(LIBTARGETS)
+#
+# Make unit tests...
+#
+
+unittests: $(UNITTARGETS)
+
+
#
# Remove object and target files...
#
clean:
- $(RM) $(OBJS) $(TARGETS)
+ $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
$(RM) libcups.so libcups.sl libcups.dylib
$(RM) -r 32bit 64bit
installstatic:
$(INSTALL_DIR) -m 755 $(LIBDIR)
- $(INSTALL_LIB) libcups.a $(LIBDIR)
- $(RANLIB) $(LIBDIR)/libcups.a
+ $(INSTALL_LIB) -m 755 $(LIBCUPSSTATIC) $(LIBDIR)
+ $(RANLIB) $(LIBDIR)/$(LIBCUPSSTATIC)
+ $(CHMOD) 555 $(LIBDIR)/$(LIBCUPSSTATIC)
install32bit:
echo Installing libraries in $(LIB32DIR)...
libcups.so.2 libcups.sl.2: $(LIBOBJS)
echo Linking $@...
- $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBGSSAPI) \
+ $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
$(RM) `basename $@ .2`
$(LN) $@ `basename $@ .2`
32bit/libcups.so.2: $(LIB32OBJS)
echo Linking 32-bit $@...
-mkdir 32bit
- $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(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: $(LIB64OBJS)
echo Linking 64-bit $@...
-mkdir 64bit
- $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(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) libcups.exp
+libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER)
+ echo Creating export list for $@...
+ nm $(LIBOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}' | \
+ grep -v -e '^(_cupsConnect|_cupsSetDefaults|_cupsSetHTTPError|_cupsUserDefault|_httpWait)$$' | \
+ sort >t.exp
echo Linking $@...
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
-install_name $(libdir)/$@ \
-current_version 2.8.0 \
-compatibility_version 2.0.0 \
- -exported_symbols_list libcups.exp \
+ -exported_symbols_list t.exp \
-sectorder __TEXT __text $(LIBCUPSORDER) \
- $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
- $(RM) libcups.dylib
+ $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+ $(COMMONLIBS) $(LIBZ)
+ $(RM) libcups.dylib t.exp
$(LN) $@ libcups.dylib
libcups_s.a: $(LIBOBJS) libcups_s.exp
echo Creating $@...
- $(DSO) $(DSOFLAGS) -Wl,-bexport:libcups_s.exp -o libcups_s.o $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ) -lm
+ $(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: $(LIBOBJS)
echo Linking $@...
- $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
- -version-info 2:8 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) \
+ -rpath $(LIBDIR) -version-info 2:8 $(LIBGSSAPI) $(SSLLIBS) \
+ $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
$(RANLIB) $@
-#
-# CUPS language bindings for various scripting languages...
-#
-# NOTE: Not currently used or functional - see the scripting/php directory
-# for the hand-written bindings...
-#
-
-phpcups.so: $(LIBCUPS) php_cups_wrap.o
- echo Linking $@...
- if test `uname` = Darwin; then \
- DSOFLAGS="-bundle -flat_namespace -undefined suppress"; \
- else \
- DSOFLAGS="$(DSOFLAGS)"; \
- fi; \
- $(DSO) $$DSOFLAGS -o $@ php_cups_wrap.o $(LIBS) `php-config --ldflags --libs`
-
-php_cups_wrap.o: php_cups_wrap.c
- echo Compiling $<...
- $(CC) $(CFLAGS) `php-config --includes` -c $<
-php_cups_wrap.c: cups.h
- echo Creating $< using SWIG...
- swig -php -o $@ -module cups cups.h
-
-
#
# testadmin (dependency on static CUPS library is intentional)
#
-testadmin: testadmin.o libcups.a
+testadmin: testadmin.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ testadmin.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(LDFLAGS) -o $@ testadmin.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
# testarray (dependency on static CUPS library is intentional)
#
-testarray: testarray.o libcups.a
+testarray: testarray.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testarray.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testarray.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
echo Running array API tests...
./testarray
# testconflicts (dependency on static CUPS library is intentional)
#
-testconflicts: testconflicts.o libcups.a
+testconflicts: testconflicts.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ testconflicts.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(LDFLAGS) -o $@ testconflicts.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
# testcups (dependency on static CUPS library is intentional)
#
-testcups: testcups.o libcups.a
+testcups: testcups.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ testcups.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(LDFLAGS) -o $@ testcups.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
# testfile (dependency on static CUPS library is intentional)
#
-testfile: testfile.o libcups.a
+testfile: testfile.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testfile.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testfile.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
echo Running file API tests...
./testfile
# testhttp (dependency on static CUPS library is intentional)
#
-testhttp: testhttp.o libcups.a
+testhttp: testhttp.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhttp.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhttp.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
echo Running HTTP API tests...
./testhttp
# testipp (dependency on static CUPS library is intentional)
#
-testipp: testipp.o libcups.a
+testipp: testipp.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testipp.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testipp.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
echo Running IPP API tests...
./testipp
# testi18n (dependency on static CUPS library is intentional)
#
-testi18n: testi18n.o libcups.a
+testi18n: testi18n.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testi18n.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testi18n.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
echo Running internationalization API tests...
./testi18n
# testlang (dependency on static CUPS library is intentional)
#
-testlang: testlang.o libcups.a
+testlang: testlang.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testlang.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testlang.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
echo Running language API tests...
./testlang
# testoptions (dependency on static CUPS library is intentional)
#
-testoptions: testoptions.o libcups.a
+testoptions: testoptions.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testoptions.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testoptions.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
echo Running option API tests...
./testoptions
# testppd (dependency on static CUPS library is intentional)
#
-testppd: testppd.o libcups.a
+testppd: testppd.o $(LIBCUPSSTATIC) test.ppd test2.ppd
echo Linking $@...
- $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testppd.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testppd.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
echo Running PPD API tests...
./testppd
+#
+# testpwg (dependency on static CUPS library is intentional)
+#
+
+testpwg: testpwg.o $(LIBCUPSSTATIC) test.ppd
+ echo Linking $@...
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testpwg.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+ echo Running PWG API tests...
+ ./testpwg test.ppd
+
+
#
# testsnmp (dependency on static CUPS library is intentional)
#
-testsnmp: testsnmp.o libcups.a
+testsnmp: testsnmp.o $(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ testsnmp.o libcups.a \
- $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(CC) $(LDFLAGS) -o $@ testsnmp.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
mxmldoc --section "Programming" --title "Array API" \
--css ../doc/cups-printable.css \
--header api-array.header --intro api-array.shtml \
+ api-array.xml \
array.h array.c >../doc/help/api-array.html
+ mxmldoc --tokens help/api-array.html api-array.xml >../doc/help/api-array.tokens
+ $(RM) api-array.xml
mxmldoc --section "Programming" --title "CUPS API" \
--css ../doc/cups-printable.css \
--header api-cups.header --intro api-cups.shtml \
- cups.h dest.c language.c notify.c \
+ api-cups.xml \
+ cups.h adminutil.c dest.c language.c notify.c \
options.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
mxmldoc --section "Programming" --title "File and Directory APIs" \
--css ../doc/cups-printable.css \
--header api-filedir.header --intro api-filedir.shtml \
+ api-filedir.xml \
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" \
--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
+ 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" \
--css ../doc/cups-printable.css \
--header api-httpipp.header --intro api-httpipp.shtml \
+ api-httpipp.xml \
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 >../doc/help/api-httpipp.html
+ mxmldoc --tokens help/api-httpipp.html api-httpipp.xml >../doc/help/api-httpipp.tokens
+ $(RM) api-httpipp.xml
mxmldoc --section "Programming" \
--title "Filter and Backend Programming" \
--css ../doc/cups-printable.css \
--header api-filter.header --intro api-filter.shtml \
+ api-filter.xml \
backchannel.c backend.h backend.c sidechannel.c sidechannel.h \
>../doc/help/api-filter.html
+ 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...
--section "Programming" --title "CUPS API" \
--css ../doc/cups-printable.css \
--header api-cups.header --intro api-cups.shtml \
- cups.h dest.c language.c notify.c \
+ cups.h adminutil.c dest.c language.c notify.c \
options.c tempfile.c usersys.c \
util.c
mxmldoc --framed api-filedir \
#
-# End of "$Id: Makefile 7589 2008-05-19 00:13:23Z mike $".
+# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $".
#