]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - scheduler/Makefile
Merge changes from CUPS 1.5svn-r8849.
[thirdparty/cups.git] / scheduler / Makefile
index adbebbf54aba0600edba8c4a1994f4db67d2e07a..fe8ee6b1dc5ede1a07a10a5dbab57d67af98ff34 100644 (file)
@@ -1,25 +1,16 @@
 #
-# "$Id: Makefile 5116 2006-02-16 12:52:32Z mike $"
+# "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $"
 #
 #   Scheduler Makefile for the Common UNIX Printing System (CUPS).
 #
-#   Copyright 1997-2006 by Easy Software Products, all rights reserved.
+#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
-#   property of Easy Software Products 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 missing or damaged please contact Easy Software Products
-#   at:
-#
-#       Attn: CUPS Licensing Information
-#       Easy Software Products
-#       44141 Airport View Drive, Suite 204
-#       Hollywood, Maryland 20636 USA
-#
-#       Voice: (301) 373-9600
-#       EMail: cups-info@cups.org
-#         WWW: http://www.cups.org
+#   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/".
 #
 
 include ../Makedefs
@@ -43,35 +34,53 @@ CUPSDOBJS = \
                printers.o \
                process.o \
                quotas.o \
+               removefile.o \
+               select.o \
                server.o \
                statbuf.o \
                subscriptions.o \
                sysman.o
-MIMEOBJS =     \
+LIBOBJS =      \
                filter.o \
                mime.o \
                type.o
-OBJS   =       \
+COBJS  =       \
                $(CUPSDOBJS) \
-               $(MIMEOBJS) \
+               $(LIBOBJS) \
+               cupsfilter.o \
                cups-deviced.o \
-               cups-driverd.o \
                cups-lpd.o \
                cups-polld.o \
                testdirsvc.o \
+               testlpd.o \
                testmime.o \
                testspeed.o \
+               testsub.o \
                util.o
+CXXOBJS        =       \
+               cups-driverd.o
+OBJS   =       \
+               $(COBJS) \
+               $(CXXOBJS)
+LIBTARGETS =   \
+               $(LIBCUPSMIME) \
+               libcupsmime.a
+
+UNITTARGETS =  \
+               testdirsvc \
+               testlpd \
+               testmime \
+               testspeed \
+               testsub
+
 TARGETS        =       \
+               $(LIBTARGETS) \
                cupsd \
+               cupsfilter \
                cups-deviced \
                cups-driverd \
                cups-lpd \
                cups-polld \
-               libmime.a \
-               testdirsvc \
-               testmime \
-               testspeed
 
 
 #
@@ -81,13 +90,28 @@ TARGETS     =       \
 all:           $(TARGETS)
 
 
+#
+# Make library targets...
+#
+
+libs:          $(LIBTARGETS)
+
+
+#
+# Make unit tests...
+#
+
+unittests:     $(UNITTARGETS)
+
+
 #
 # Clean all object files...
 #
 
 clean:
        $(RM) $(OBJS)
-       $(RM) $(TARGETS)
+       $(RM) $(TARGETS) $(UNITTARGETS) convert
+       $(RM) libcupsmime.so libcupsmime.sl libcupsmime.dylib
 
 
 #
@@ -95,74 +119,279 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       makedepend -Y -I.. -fDependencies $(COBJS:.o=.c) \
+               $(CXXOBJS:.o=.cxx) >/dev/null 2>&1
 
 
 #
-# Install the scheduler...
+# Install all targets...
 #
 
-install:       all
-       echo Creating $(SBINDIR)...
-       $(INSTALL_DIR) -m 755 $(SBINDIR)
-       echo Installing cupsd in $(SBINDIR)...
-       $(INSTALL_BIN) cupsd $(SBINDIR)
-       echo Creating $(SERVERBIN)...
-       $(INSTALL_DIR) -m 755 $(SERVERBIN)
-       echo Creating $(SERVERBIN)/daemon...
-       $(INSTALL_DIR) -m 755 $(SERVERBIN)/daemon
-       echo Installing cups-deviced, cups-driverd, cups-lpd, and cups-polld in $(SERVERBIN)/daemon...
-       $(INSTALL_BIN) cups-deviced $(SERVERBIN)/daemon
-       $(INSTALL_BIN) cups-driverd $(SERVERBIN)/daemon
-       $(INSTALL_BIN) cups-lpd $(SERVERBIN)/daemon
-       $(INSTALL_BIN) cups-polld $(SERVERBIN)/daemon
+install:       all install-data install-headers install-libs install-exec
+
+
+#
+# Install data files...
+#
+
+install-data:
        echo Creating $(SERVERBIN)/driver...
        $(INSTALL_DIR) -m 755 $(SERVERBIN)/driver
        echo Creating $(SERVERROOT)...
-       $(INSTALL_DIR) -m 755 $(SERVERROOT)
-       -chgrp $(CUPS_GROUP) $(SERVERROOT)
+       $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)
        echo Creating $(SERVERROOT)/interfaces...
-       $(INSTALL_DIR) -m 755 $(SERVERROOT)/interfaces
-       -chgrp $(CUPS_GROUP) $(SERVERROOT)/interfaces
+       $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/interfaces
        echo Creating $(SERVERROOT)/ppd...
-       $(INSTALL_DIR) -m 755 $(SERVERROOT)/ppd
-       -chgrp $(CUPS_GROUP) $(SERVERROOT)/ppd
-       echo Creating $(STATEDIR)...
-       $(INSTALL_DIR) -m 755 $(STATEDIR)
+       $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/ppd
+       if test "x`uname`" != xDarwin; then \
+               echo Creating $(SERVERROOT)/ssl...; \
+               $(INSTALL_DIR) -m 700 -g $(CUPS_GROUP) $(SERVERROOT)/ssl; \
+       fi
+       if test "$(STATEDIR)" != "$(SERVERROOT)"; then \
+               echo Creating $(STATEDIR)...; \
+               $(INSTALL_DIR) -m 755 $(STATEDIR); \
+       fi
        echo Creating $(STATEDIR)/certs...
-       $(INSTALL_DIR) -m 511 $(STATEDIR)/certs
-       -chgrp $(CUPS_PRIMARY_SYSTEM_GROUP) $(STATEDIR)/certs
+       $(INSTALL_DIR) -m 511 -o $(CUPS_USER) -g $(CUPS_PRIMARY_SYSTEM_GROUP) \
+               $(STATEDIR)/certs
        echo Creating $(LOGDIR)...
        $(INSTALL_DIR) -m 755 $(LOGDIR)
        echo Creating $(REQUESTS)...
-       $(INSTALL_DIR) -m 710 $(REQUESTS)
-       -chgrp $(CUPS_GROUP) $(REQUESTS)
+       $(INSTALL_DIR) -m 710 -g $(CUPS_GROUP) $(REQUESTS)
        echo Creating $(REQUESTS)/tmp...
-       $(INSTALL_DIR) -m 1770 $(REQUESTS)/tmp
-       -chgrp $(CUPS_GROUP) $(REQUESTS)/tmp
+       $(INSTALL_DIR) -m 1770 -g $(CUPS_GROUP) $(REQUESTS)/tmp
        echo Creating $(CACHEDIR)...
-       $(INSTALL_DIR) -m 775 $(CACHEDIR)
-       -chgrp $(CUPS_GROUP) $(CACHEDIR)
-#      echo Creating $(CACHEDIR)/ppd...
-#      $(INSTALL_DIR) -m 755 $(CACHEDIR)/ppd
-#      -chgrp $(CUPS_GROUP) $(CACHEDIR)/ppd
+       $(INSTALL_DIR) -m 775 -g $(CUPS_GROUP) $(CACHEDIR)
+       if test "x$(INITDIR)" != x; then \
+               echo Installing init scripts...; \
+               $(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/init.d; \
+               $(INSTALL_SCRIPT) cups.sh $(BUILDROOT)$(INITDIR)/init.d/cups; \
+               for level in $(RCLEVELS); do \
+                       $(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/rc$${level}.d; \
+                       $(LN) ../init.d/cups $(BUILDROOT)$(INITDIR)/rc$${level}.d/S$(RCSTART)cups; \
+                       if test `uname` = HP-UX; then \
+                               level=`expr $$level - 1`; \
+                               $(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/rc$${level}.d; \
+                       fi; \
+                       $(LN) ../init.d/cups $(BUILDROOT)$(INITDIR)/rc$${level}.d/K$(RCSTOP)cups; \
+               done; \
+               $(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/rc0.d; \
+               $(LN) ../init.d/cups $(BUILDROOT)$(INITDIR)/rc0.d/K$(RCSTOP)cups; \
+       fi
+       if test "x$(INITDIR)" = x -a "x$(INITDDIR)" != x; then \
+               $(INSTALL_DIR) $(BUILDROOT)$(INITDDIR); \
+               if test "$(INITDDIR)" = "/System/Library/LaunchDaemons"; then \
+                       echo Installing LaunchDaemons configuration files...; \
+                       $(INSTALL_DATA) org.cups.cupsd.plist $(BUILDROOT)$(DEFAULT_LAUNCHD_CONF); \
+                       $(INSTALL_DATA) org.cups.cups-lpd.plist $(BUILDROOT)/System/Library/LaunchDaemons; \
+               else \
+                       echo Installing RC script...; \
+                       $(INSTALL_SCRIPT) cups.sh $(BUILDROOT)$(INITDDIR)/cups; \
+               fi \
+       fi
+       if test "x$(SMFMANIFESTDIR)" != x; then \
+               echo Installing SMF manifest in $(SMFMANIFESTDIR)...;\
+               $(INSTALL_DIR) $(BUILDROOT)/$(SMFMANIFESTDIR); \
+               $(INSTALL_SCRIPT) cups.xml $(BUILDROOT)$(SMFMANIFESTDIR)/cups.xml; \
+       fi
+       if test "x$(XINETD)" != x; then \
+               echo Installing xinetd configuration file for cups-lpd...; \
+               $(INSTALL_DIR) -m 755 $(BUILDROOT)$(XINETD); \
+               $(INSTALL_DATA) cups-lpd.xinetd $(BUILDROOT)$(XINETD)/cups-lpd; \
+       fi
+
+
+#
+# Install programs...
+#
+
+install-exec:
+       echo Installing programs in $(SBINDIR)...
+       $(INSTALL_DIR) -m 755 $(SBINDIR)
+       $(INSTALL_BIN) -m 500 cupsd $(SBINDIR)
+       $(INSTALL_BIN) cupsfilter $(SBINDIR)
+       -if test "x`uname`" = xDarwin; then \
+               $(INSTALL_DIR) $(BUILDROOT)/System/Library/Printers/Libraries; \
+               $(LN) $(sbindir)/cupsfilter $(BUILDROOT)/System/Library/Printers/Libraries/convert; \
+       fi
+       echo Installing programs in $(SERVERBIN)/daemon...
+       $(INSTALL_DIR) -m 755 $(SERVERBIN)
+       $(INSTALL_DIR) -m 755 $(SERVERBIN)/daemon
+       $(INSTALL_BIN) cups-deviced $(SERVERBIN)/daemon
+       $(INSTALL_BIN) cups-driverd $(SERVERBIN)/daemon
+       $(INSTALL_BIN) cups-lpd $(SERVERBIN)/daemon
+       $(INSTALL_BIN) cups-polld $(SERVERBIN)/daemon
+       if test "x$(SYMROOT)" != "x"; then \
+               $(INSTALL_DIR) $(SYMROOT); \
+               for file in $(TARGETS); do \
+                       cp $$file $(SYMROOT); \
+               done \
+       fi
+
+
+#
+# Install headers...
+#
+
+install-headers:
+       echo Installing header files in $(INCLUDEDIR)/cups...
+       $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
+       $(INSTALL_DATA) mime.h $(INCLUDEDIR)/cups
+
+
+#
+# Install libraries...
+#
+
+install-libs: $(INSTALLSTATIC)
+       echo Installing libraries in $(LIBDIR)...
+       $(INSTALL_DIR) -m 755 $(LIBDIR)
+       $(INSTALL_LIB) $(LIBCUPSMIME) $(LIBDIR)
+       if test $(LIBCUPSMIME) = "libcupsmime.so.1" -o $(LIBCUPSMIME) = "libcupsmime.sl.1"; then \
+               $(RM) $(LIBDIR)/`basename $(LIBCUPSMIME) .1`; \
+               $(LN) $(LIBCUPSMIME) $(LIBDIR)/`basename $(LIBCUPSMIME) .1`; \
+       fi
+       if test $(LIBCUPSMIME) = "libcupsmime.1.dylib"; then \
+               $(RM) $(LIBDIR)/libcupsmime.dylib; \
+               $(LN) $(LIBCUPSMIME) $(LIBDIR)/libcupsmime.dylib; \
+       fi
+       if test "x$(SYMROOT)" != "x"; then \
+               $(INSTALL_DIR) $(SYMROOT); \
+               cp $(LIBCUPSMIME) $(SYMROOT); \
+       fi
+
+installstatic:
+       $(INSTALL_DIR) -m 755 $(LIBDIR)
+       $(INSTALL_LIB) -m 755 libcupsmime.a $(LIBDIR)
+       $(RANLIB) $(LIBDIR)/libcupsmime.a
+       $(CHMOD) 555 $(LIBDIR)/libcupsmime.a
+
+
+#
+# Uninstall the scheduler...
+#
+
+uninstall:
+       $(RM) $(SBINDIR)/cupsd
+       $(RM) $(SBINDIR)/cupsfilter
+       $(RM) $(SERVERBIN)/daemon/cups-deviced
+       $(RM) $(SERVERBIN)/daemon/cups-driverd
+       $(RM) $(SERVERBIN)/daemon/cups-lpd
+       $(RM) $(SERVERBIN)/daemon/cups-polld
+       $(RM) $(BUILDROOT)/System/Library/Printers/Libraries/convert
+       -$(RMDIR) $(STATEDIR)/certs
+       -$(RMDIR) $(STATEDIR)
+       -$(RMDIR) $(SERVERROOT)/ppd
+       -$(RMDIR) $(SERVERROOT)/interfaces
+       -$(RMDIR) $(SERVERROOT)
+       -$(RMDIR) $(SERVERBIN)/driver
+       -$(RMDIR) $(SERVERBIN)/daemon
+       -$(RMDIR) $(SERVERBIN)
+       -$(RMDIR) $(SBINDIR)
+       -$(RMDIR) $(REQUESTS)/tmp
+       -$(RMDIR) $(REQUESTS)
+       -$(RMDIR) $(LOGDIR)
+       -$(RMDIR) $(CACHEDIR)
+       $(RM) $(LIBDIR)/libcupsmime.1.dylib
+       $(RM) $(LIBDIR)/libcupsmime.a
+       $(RM) $(LIBDIR)/libcupsmime.dylib
+       $(RM) $(LIBDIR)/libcupsmime_s.a
+       $(RM) $(LIBDIR)/libcupsmime.sl
+       $(RM) $(LIBDIR)/libcupsmime.sl.1
+       $(RM) $(LIBDIR)/libcupsmime.so
+       $(RM) $(LIBDIR)/libcupsmime.so.1
+       -$(RMDIR) $(LIBDIR)
+       $(RM) $(INCLUDEDIR)/cups/mime.h
+       -$(RMDIR) $(INCLUDEDIR)/cups
+       echo Uninstalling startup script...
+       if test "x$(INITDIR)" != x; then \
+               $(RM) $(BUILDROOT)$(INITDIR)/init.d/cups; \
+               $(RMDIR) $(BUILDROOT)$(INITDIR)/init.d; \
+               $(RM)  $(BUILDROOT)$(INITDIR)/rc0.d/K00cups; \
+               $(RMDIR) $(BUILDROOT)$(INITDIR)/rc0.d; \
+               $(RM) $(BUILDROOT)$(INITDIR)/rc2.d/S99cups; \
+               $(RMDIR) $(BUILDROOT)$(INITDIR)/rc2.d; \
+               $(RM) $(BUILDROOT)$(INITDIR)/rc3.d/S99cups; \
+               $(RMDIR) $(BUILDROOT)$(INITDIR)/rc3.d; \
+               $(RM) $(BUILDROOT)$(INITDIR)/rc5.d/S99cups; \
+               $(RMDIR) $(BUILDROOT)$(INITDIR)/rc5.d; \
+       fi
+       if test "x$(INITDIR)" = x -a "x$(INITDDIR)" != x; then \
+               if test "$(INITDDIR)" = "/System/Library/StartupItems/PrintingServices"; then \
+                       $(RM) $(BUILDROOT)$(INITDDIR)/PrintingServices; \
+                       $(RM) $(BUILDROOT)$(INITDDIR)/StartupParameters.plist; \
+                       $(RM) $(BUILDROOT)$(INITDDIR)/Resources/English.lproj/Localizable.strings; \
+                       $(RMDIR) $(BUILDROOT)$(INITDDIR)/Resources/English.lproj; \
+               elif test "$(INITDDIR)" = "/System/Library/LaunchDaemons"; then \
+                       $(RM) $(BUILDROOT)$(INITDDIR)/org.cups.cupsd.plist; \
+                       $(RM) $(BUILDROOT)$(INITDDIR)/org.cups.cups-lpd.plist; \
+                       $(RMDIR) $(BUILDROOT)/System/Library/StartupItems/PrintingServices; \
+               else \
+                       $(INSTALL_SCRIPT) init/cups.sh $(BUILDROOT)$(INITDDIR)/cups; \
+               fi \
+               $(RMDIR) $(BUILDROOT)$(INITDDIR); \
+       fi
+       if test "x$(SMFMANIFESTDIR)" != x; then \
+               echo Uninstalling SMF manifest in $(SMFMANIFESTDIR)...;\
+               $(RM) $(BUILDROOT)$(SMFMANIFESTDIR)/cups.xml; \
+       fi
+       if test "x$(XINETD)" != x; then \
+               echo Uninstalling xinetd configuration file for cups-lpd...; \
+               $(RM) $(BUILDROOT)$(XINETD)/cups-lpd; \
+       fi
+
+
+#
+# Automatic API help files...
+#
+
+apihelp:
+       mxmldoc --section "Programming" \
+               --title "MIME API" \
+               --css ../doc/cups-printable.css \
+               --header api-mime.header --intro api-mime.shtml \
+               mime.h $(LIBOBJS:.o=.c) >../doc/help/api-mime.html
+       mxmldoc --tokens help/api-mime.html api-mime.xml >../doc/help/api-mime.tokens
+       $(RM) api-mime.xml
+
+framedhelp:
+       mxmldoc --framed api-mime \
+               --section "Programming" \
+               --title "MIME API" \
+               --css ../doc/cups-printable.css \
+               --header api-mime.header --intro api-mime.shtml \
+               mime.h $(LIBOBJS:.o=.c)
 
 
 #
 # Make the scheduler executable, "cupsd".
 #
 
-cupsd: $(CUPSDOBJS) libmime.a ../cups/$(LIBCUPS)
+cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cups/$(LIBCUPS)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) libmime.a \
-               $(LIBZ) $(SSLLIBS) $(LIBSLP) $(PAMLIBS) \
-               $(LIBPAPER) $(LIBMALLOC) $(CUPSDLIBS) $(LIBS)
+       $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
+               $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
+               $(LIBPAPER) $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBS) \
+               $(LIBGSSAPI) $(LIBWRAP)
 
-cupsd-static:  $(CUPSDOBJS) libmime.a ../cups/libcups.a
+cupsd-static:  $(CUPSDOBJS) libcupsmime.a ../cups/libcups.a
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o cupsd-static $(CUPSDOBJS) libmime.a \
-               $(LIBZ) $(SSLLIBS) $(LIBSLP) $(PAMLIBS) ../cups/libcups.a \
-               $(COMMONLIBS) $(LIBZ) $(LIBPAPER) $(LIBMALLOC) $(CUPSDLIBS)
+       $(CC) $(LDFLAGS) -o cupsd-static $(CUPSDOBJS) libcupsmime.a \
+               $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
+               ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
+               $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \
+               $(LIBWRAP)
+
+
+#
+# Make the cupsfilter utility.
+#
+
+cupsfilter:    cupsfilter.o $(LIBCUPSMIME) ../cups/$(LIBCUPS)
+       echo Linking $@...
+       $(CC) $(LDFLAGS) -o cupsfilter cupsfilter.o -L. -lcupsmime $(LIBS)
+       $(RM) convert
+       $(LN) cupsfilter convert
 
 
 #
@@ -178,9 +407,10 @@ cups-deviced:      cups-deviced.o util.o ../cups/$(LIBCUPS)
 # Make the driver daemon, "cups-driverd".
 #
 
-cups-driverd:  cups-driverd.o util.o ../cups/$(LIBCUPS)
+cups-driverd:  cups-driverd.o util.o ../cups/$(LIBCUPS) ../ppdc/$(LIBCUPSPPDC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o cups-driverd cups-driverd.o util.o $(LIBS)
+       $(CXX) $(LDFLAGS) -o cups-driverd cups-driverd.o util.o \
+               -L../ppdc -lcupsppdc $(LIBS)
 
 
 #
@@ -202,13 +432,61 @@ cups-polld:       cups-polld.o ../cups/$(LIBCUPS)
 
 
 #
-# libmime.a
+# libcupsmime.so.1, libcupsmime.sl.1
+#
+
+libcupsmime.so.1 libcupsmime.sl.1:     $(LIBOBJS)
+       echo Linking $@...
+       $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
+       $(RM) `basename $@ .1`
+       $(LN) $@ `basename $@ .1`
+
+
+#
+# libcupsmime.1.dylib
+#
+
+libcupsmime.1.dylib:   $(LIBOBJS) libcupsmime.exp
+       echo Linking $@...
+       $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
+               -install_name $(libdir)/$@ \
+               -current_version 1.0.0 \
+               -compatibility_version 1.0.0 \
+               -exported_symbols_list libcupsmime.exp \
+               $(LIBOBJS) $(LIBS)
+       $(RM) libcupsmime.dylib
+       $(LN) $@ libcupsmime.dylib
+
+
+#
+# libcupsmime_s.a
+#
+
+libcupsmime_s.a:       $(LIBOBJS)
+       echo Creating $@...
+       $(DSO) $(DSOFLAGS) -o libcupsmime_s.o $(LIBOBJS) $(LIBS)
+       $(RM) $@
+       $(AR) $(ARFLAGS) $@ libcupsmime_s.o
+
+
+#
+# libcupsmime.la
+#
+
+libcupsmime.la:    $(LIBOBJS)
+       echo Linking $@...
+       $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
+               -version-info 1:0 $(LIBS)
+
+
+#
+# libcupsmime.a
 #
 
-libmime.a:     $(MIMEOBJS)
+libcupsmime.a: $(LIBOBJS)
        echo Archiving $@...
        $(RM) $@
-       $(AR) $(ARFLAGS) $@ $(MIMEOBJS)
+       $(AR) $(ARFLAGS) $@ $(LIBOBJS)
        $(RANLIB) $@
 
 
@@ -221,23 +499,47 @@ testdirsvc:       testdirsvc.o
        $(CC) $(LDFLAGS) -o testdirsvc testdirsvc.o $(COMMONLIBS) $(NETLIBS)
 
 
+#
+# Make the test program, "testlpd".
+#
+
+testlpd:       testlpd.o ../cups/libcups.a cups-lpd
+       echo Linking $@...
+       $(CC) $(LDFLAGS) -o testlpd testlpd.o ../cups/libcups.a \
+               $(COMMONLIBS) $(LIBZ) $(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
+
+
 #
 # testmime
 #
 
-testmime:      testmime.o libmime.a ../cups/libcups.a
+testmime:      testmime.o libcupsmime.a ../cups/libcups.a
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ testmime.o libmime.a ../cups/libcups.a \
-               $(COMMONLIBS) $(LIBZ) $(SSLLIBS)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testmime.o libcupsmime.a \
+               ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(SSLLIBS) \
+               $(DNSSDLIBS) $(LIBGSSAPI)
+       echo Running MIME tests...
+       ./testmime
 
 
 #
 # Make the test program, "testspeed".
 #
 
-testspeed:     testspeed.o ../cups/$(LIBCUPS)
+testspeed:     testspeed.o ../cups/libcups.a
+       echo Linking $@...
+       $(CC) $(LDFLAGS) -o testspeed testspeed.o ../cups/libcups.a \
+               $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
+
+
+#
+# Make the test program, "testsub".
+#
+
+testsub:       testsub.o ../cups/libcups.a
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o testspeed testspeed.o $(LIBS)
+       $(CC) $(LDFLAGS) -o testsub testsub.o ../cups/libcups.a \
+               $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
 
 
 #
@@ -248,5 +550,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 5116 2006-02-16 12:52:32Z mike $".
+# End of "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $".
 #