]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - backend/Makefile
Changelog.
[thirdparty/cups.git] / backend / Makefile
index e0ed0a0cf0cf1d70f8f53a44aa9d3d16eac41b7f..adb8f67004534a4f09a6376e943d70d8dccff469 100644 (file)
@@ -1,31 +1,63 @@
 #
-# "$Id: Makefile,v 1.16 2000/02/11 05:04:12 mike Exp $"
+# "$Id$"
 #
-#   Backend makefile for the Common UNIX Printing System (CUPS).
+#   Backend makefile for CUPS.
 #
-#   Copyright 1997-2000 by Easy Software Products, all rights reserved.
+#   Copyright 2007-2012 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:
+#   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/".
 #
-#       Attn: CUPS Licensing Information
-#       Easy Software Products
-#       44141 Airport View Drive, Suite 204
-#       Hollywood, Maryland 20636-3111 USA
-#
-#       Voice: (301) 373-9603
-#       EMail: cups-info@cups.org
-#         WWW: http://www.cups.org
+#   This file is subject to the Apple OS-Developed Software exception.
 #
 
 include ../Makedefs
 
-TARGETS        =       betest ipp lpd parallel serial socket usb
-OBJS   =       betest.o ipp.o lpd.o parallel.o serial.o socket.o usb.o
+#
+# Object files...
+#
+
+# RBACKENDS are installed mode 0700 so cupsd will run them as root...
+#
+# UBACKENDS are installed mode 0755 so cupsd will run them as an unprivileged
+# user...
+#
+# See http://www.cups.org/documentation.php/api-filter.html for more info...
+RBACKENDS =    \
+               ipp \
+               lpd \
+               $(DNSSD_BACKEND)
+UBACKENDS =    \
+               snmp \
+               socket \
+               usb
+UNITTESTS =    \
+               test1284 \
+               testbackend \
+               testsupplies
+TARGETS =      \
+               libbackend.a \
+               $(RBACKENDS) \
+               $(UBACKENDS)
+LIBOBJS        =       \
+               ieee1284.o \
+               network.o \
+               runloop.o \
+               snmp-supplies.o
+OBJS   =       \
+               ipp.o \
+               lpd.o \
+               dnssd.o \
+               snmp.o \
+               socket.o \
+               test1284.o \
+               testbackend.o \
+               testsupplies.o \
+               usb.o
 
 
 #
@@ -35,102 +67,234 @@ OBJS      =       betest.o ipp.o lpd.o parallel.o serial.o socket.o usb.o
 all:   $(TARGETS)
 
 
+#
+# Make library targets...
+#
+
+libs:
+
+
+#
+# Make unit tests...
+#
+
+unittests:     $(UNITTESTS)
+
+
 #
 # Clean all object files...
 #
 
 clean:
-       rm -f $(OBJS) $(TARGETS)
+       $(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns
+
+
+#
+# Update dependencies (without system header dependencies...)
+#
+
+depend:
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
 # Install all targets...
 #
 
-install:
-       -$(MKDIR) $(SERVERBIN)/backend
-       $(CP) $(TARGETS) $(SERVERBIN)/backend
-       -$(LN) ipp $(SERVERBIN)/backend/http
+install:       all install-data install-headers install-libs install-exec
 
 
 #
-# betest
+# Install data files...
 #
 
-betest:        betest.o ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o betest betest.o $(LIBS)
+install-data:
 
-betest.o:      ../cups/string.h ../Makedefs
+
+#
+# Install programs...
+#
+
+install-exec:  $(INSTALLXPC)
+       echo Installing backends in $(SERVERBIN)/backend
+       $(INSTALL_DIR) -m 755 $(SERVERBIN)/backend
+       for file in $(RBACKENDS); do \
+               $(LIBTOOL) $(INSTALL_BIN) -m 700 $$file $(SERVERBIN)/backend; \
+       done
+       for file in $(UBACKENDS); do \
+               $(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
+       done
+       for file in $(IPPALIASES); do \
+               $(RM) $(SERVERBIN)/backend/$$file; \
+               $(LN) ipp $(SERVERBIN)/backend/$$file; \
+       done
+       if test "x$(DNSSD_BACKEND)" != x -a `uname` = Darwin; then \
+               $(RM) $(SERVERBIN)/backend/mdns; \
+               $(LN) $(DNSSD_BACKEND) $(SERVERBIN)/backend/mdns; \
+       fi
+       if test "x$(SYMROOT)" != "x"; then \
+               $(INSTALL_DIR) $(SYMROOT); \
+               for file in $(RBACKENDS) $(UBACKENDS); do \
+                       cp $$file $(SYMROOT); \
+                       dsymutil $(SYMROOT)/$$file; \
+               done \
+       fi
+
+install-xpc:   ipp
+       echo Installing XPC backends in $(SERVERBIN)/apple
+       $(INSTALL_DIR) -m 755 $(SERVERBIN)/apple
+       $(LIBTOOL) $(INSTALL_BIN) ipp $(SERVERBIN)/apple
+       for file in $(IPPALIASES); do \
+               $(RM) $(SERVERBIN)/apple/$$file; \
+               $(LN) ipp $(SERVERBIN)/apple/$$file; \
+       done
 
 
 #
-# ipp
+# Install headers...
 #
 
-ipp:   ipp.o ../cups/$(LIBCUPS)
+install-headers:
+
+
+#
+# Install libraries...
+#
+
+install-libs:
+
+
+#
+# Uninstall all targets...
+#
+
+uninstall:
+       $(RM) $(SERVERBIN)/apple/ipp
+       for file in $(IPPALIASES); do \
+               $(RM) $(SERVERBIN)/apple/$$file; \
+       done
+       -$(RMDIR) $(SERVERBIN)/apple
+       for file in $(RBACKENDS) $(UBACKENDS); do \
+               $(RM) $(SERVERBIN)/backend/$$file; \
+       done
+       for file in $(IPPALIASES); do \
+               $(RM) $(SERVERBIN)/backend/$$file; \
+       done
+       -$(RMDIR) $(SERVERBIN)/backend
+       -$(RMDIR) $(SERVERBIN)
+
+
+#
+# test1284
+#
+
+test1284:      test1284.o ../cups/$(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o ipp ipp.o $(LIBS)
-       -$(LN) ipp http
+       $(CC) $(LDFLAGS) -o test1284 test1284.o ../cups/$(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
-ipp.o: ../cups/cups.h ../Makedefs
+
+#
+# testbackend
+#
+
+testbackend:   testbackend.o ../cups/$(LIBCUPSSTATIC)
+       echo Linking $@...
+       $(CC) $(LDFLAGS) -o testbackend testbackend.o ../cups/$(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
 
 #
-# lpd
+# testsupplies
 #
 
-lpd:   lpd.o ../cups/$(LIBCUPS)
+testsupplies:  testsupplies.o libbackend.a ../cups/$(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o lpd lpd.o $(LIBS)
+       $(CC) $(LDFLAGS) -o testsupplies testsupplies.o libbackend.a \
+               ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
+
+
+#
+# libbackend.a
+#
 
-lpd.o: ../cups/cups.h ../Makedefs
+libbackend.a:  $(LIBOBJS)
+       echo Archiving $@...
+       $(RM) $@
+       $(AR) $(ARFLAGS) $@ $(LIBOBJS)
+       $(RANLIB) $@
 
 
 #
-# parallel
+# dnssd
 #
 
-parallel:      parallel.o ../cups/$(LIBCUPS)
+dnssd: dnssd.o ../cups/$(LIBCUPS) libbackend.a
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o parallel parallel.o $(LIBS)
+       $(CC) $(LDFLAGS) -o dnssd dnssd.o libbackend.a $(LIBS)
+       if test `uname` = Darwin; then \
+               $(RM) mdns; \
+               $(LN) dnssd mdns; \
+       fi
 
-parallel.o:    ../cups/cups.h ../Makedefs
+
+#
+# ipp
+#
+
+ipp:   ipp.o ../cups/$(LIBCUPS) libbackend.a
+       echo Linking $@...
+       $(CC) $(LDFLAGS) -o ipp ipp.o libbackend.a $(LIBS)
+       $(RM) http
+       $(LN) ipp http
 
 
 #
-# serial
+# lpd
 #
 
-serial:        serial.o ../cups/$(LIBCUPS)
+lpd:   lpd.o ../cups/$(LIBCUPS) libbackend.a
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o serial serial.o $(LIBS)
+       $(CC) $(LDFLAGS) -o lpd lpd.o libbackend.a $(LIBS)
 
-serial.o:      ../cups/cups.h ../Makedefs
+
+#
+# snmp
+#
+
+snmp:  snmp.o ../cups/$(LIBCUPS) libbackend.a
+       echo Linking $@...
+       $(CC) $(LDFLAGS) -o snmp snmp.o libbackend.a $(LIBS)
 
 
 #
 # socket
 #
 
-socket:        socket.o ../cups/$(LIBCUPS)
+socket:        socket.o ../cups/$(LIBCUPS) libbackend.a
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o socket socket.o $(LIBS)
-
-socket.o:      ../cups/cups.h ../Makedefs
+       $(CC) $(LDFLAGS) -o socket socket.o libbackend.a $(LIBS)
 
 
 #
 # usb
 #
 
-usb:   usb.o ../cups/$(LIBCUPS)
+usb:   usb.o ../cups/$(LIBCUPS) libbackend.a
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o usb usb.o $(LIBS)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o usb usb.o libbackend.a $(LIBUSB) \
+               $(BACKLIBS) $(LIBS)
+usb.o: usb.c usb-darwin.c usb-libusb.c usb-unix.c
+
+
+#
+# Dependencies...
+#
 
-usb.o: ../cups/cups.h ../Makedefs
+include Dependencies
 
 
 #
-# End of "$Id: Makefile,v 1.16 2000/02/11 05:04:12 mike Exp $".
+# End of "$Id$".
 #