#
-# "$Id$"
+# Backend makefile for CUPS.
#
-# Backend makefile for the Common UNIX Printing System (CUPS).
+# Copyright 2007-2016 by Apple Inc.
+# Copyright 1997-2007 by Easy Software Products, all rights reserved.
#
-# Copyright 1997-2006 by Easy Software Products, all rights reserved.
+# These coded instructions, statements, and computer programs are the
+# 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/".
#
-# 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
-#
-# This file is subject to the Apple OS-Developed Software exception.
+# This file is subject to the Apple OS-Developed Software exception.
#
include ../Makedefs
-RBACKENDS = ipp lpd
-UBACKENDS = $(PAP) parallel scsi serial snmp socket usb
-TARGETS = betest test1284 libbackend.a $(RBACKENDS) $(UBACKENDS)
-LIBOBJS = ieee1284.o runloop.o
-OBJS = betest.o ipp.o lpd.o pap.o parallel.o scsi.o \
- serial.o snmp.o socket.o test1284.o usb.o
+#
+# Object files...
+#
+
+# RBACKENDS are installed mode 0700 so cupsd will run them as root...
+#
+# UBACKENDS and ULBACKENDS 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
+ULBACKENDS = \
+ usb
+UNITTESTS = \
+ test1284 \
+ testbackend \
+ testsupplies
+TARGETS = \
+ libbackend.a \
+ $(RBACKENDS) \
+ $(UBACKENDS) \
+ $(ULBACKENDS)
+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
#
all: $(TARGETS)
+#
+# Make library targets...
+#
+
+libs: $(ULBACKENDS)
+
+
+#
+# Make unit tests...
+#
+
+unittests: $(UNITTESTS)
+
+
#
# Clean all object files...
#
clean:
- $(RM) $(OBJS) $(TARGETS) http
+ $(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns socket-static
#
#
depend:
- makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+ $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
#
# Install all targets...
#
-install: all
+install: all install-data install-headers install-libs install-exec
+
+
+#
+# Install data files...
+#
+
+install-data:
+ if test "x$(USBQUIRKS)" != x; then \
+ echo Installing USB quirks in $(USBQUIRKS); \
+ $(INSTALL_DIR) -m 755 $(USBQUIRKS); \
+ $(INSTALL_DATA) org.cups.usb-quirks $(USBQUIRKS); \
+ fi
+
+
+#
+# Install programs...
+#
+
+install-exec: $(INSTALLXPC)
+ echo Installing backends in $(SERVERBIN)/backend
$(INSTALL_DIR) -m 755 $(SERVERBIN)/backend
for file in $(RBACKENDS); do \
- $(LIBTOOL) $(INSTALL) -m 700 $$file $(SERVERBIN)/backend; \
+ $(LIBTOOL) $(INSTALL_BIN) -m 700 $$file $(SERVERBIN)/backend; \
done
for file in $(UBACKENDS); do \
$(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
done
- $(RM) $(SERVERBIN)/backend/http
- $(LN) ipp $(SERVERBIN)/backend/http
-
-
-#
-# Uninstall all targets...
-#
-
-uninstall:
- for file in $(RBACKENDS) $(UBACKENDS); do \
+ 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
- $(RM) $(SERVERBIN)/backend/http
- -$(RMDIR) $(SERVERBIN)/backend
- -$(RMDIR) $(SERVERBIN)
#
-# betest
+# Install headers...
#
-betest: betest.o ../cups/$(LIBCUPS)
- echo Linking $@...
- $(CC) $(LDFLAGS) -o betest betest.o $(LIBS)
+install-headers:
#
-# test1284
+# Install libraries...
#
-test1284: test1284.o ../cups/libcups.a
- echo Linking $@...
- $(CC) $(LDFLAGS) -o test1284 test1284.o ../cups/libcups.a \
- $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+install-libs:
+ echo Installing backends in $(SERVERBIN)/backend
+ $(INSTALL_DIR) -m 755 $(SERVERBIN)/backend
+ for file in $(ULBACKENDS); do \
+ $(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
+ done
+ if test "x$(SYMROOT)" != "x"; then \
+ $(INSTALL_DIR) $(SYMROOT); \
+ for file in $(ULBACKENDS); do \
+ cp $$file $(SYMROOT); \
+ dsymutil $(SYMROOT)/$$file; \
+ done \
+ fi
#
-# libbackend.a
+# Uninstall all targets...
#
-libbackend.a: $(LIBOBJS)
- echo Archiving $@...
- $(RM) $@
- $(AR) $(ARFLAGS) $@ $(LIBOBJS)
- $(RANLIB) $@
+uninstall:
+ $(RM) $(SERVERBIN)/apple/ipp
+ for file in $(IPPALIASES); do \
+ $(RM) $(SERVERBIN)/apple/$$file; \
+ done
+ -$(RMDIR) $(SERVERBIN)/apple
+ for file in $(RBACKENDS) $(UBACKENDS) $(ULBACKENDS); do \
+ $(RM) $(SERVERBIN)/backend/$$file; \
+ done
+ for file in $(IPPALIASES); do \
+ $(RM) $(SERVERBIN)/backend/$$file; \
+ done
+ -$(RMDIR) $(SERVERBIN)/backend
+ -$(RMDIR) $(SERVERBIN)
#
-# ieee1394
+# test1284
#
-ieee1394: ieee1394.o ieee1394-linux.o
+test1284: test1284.o ../cups/$(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(LDFLAGS) -o ieee1394 ieee1394.o ieee1394-linux.o -lraw1394 $(LIBS)
-
-ieee1394.o: ieee1394.h
-ieee1394-linux.o: ieee1394.h
+ $(CC) $(LDFLAGS) -o test1284 test1284.o ../cups/$(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
-# ipp
+# testbackend
#
-ipp: ipp.o ../cups/$(LIBCUPS)
+testbackend: testbackend.o ../cups/$(LIBCUPSSTATIC)
echo Linking $@...
- $(CC) $(LDFLAGS) -o ipp ipp.o $(LIBS)
- $(RM) http
- $(LN) ipp http
+ $(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)
#
-# pap
+# libbackend.a
#
-pap: pap.o ../cups/$(LIBCUPS)
- echo Linking $@...
- $(CC) $(LDFLAGS) -o pap pap.o $(BACKLIBS) $(LIBS) -framework AppleTalk
+libbackend.a: $(LIBOBJS)
+ echo Archiving $@...
+ $(RM) $@
+ $(AR) $(ARFLAGS) $@ $(LIBOBJS)
+ $(RANLIB) $@
#
-# parallel
+# dnssd
#
-parallel: parallel.o ../cups/$(LIBCUPS) libbackend.a
+dnssd: dnssd.o ../cups/$(LIBCUPS) libbackend.a
echo Linking $@...
- $(CC) $(LDFLAGS) -o parallel parallel.o libbackend.a $(LIBS)
+ $(CC) $(LDFLAGS) -o dnssd dnssd.o libbackend.a $(LIBS)
+ if test `uname` = Darwin; then \
+ $(RM) mdns; \
+ $(LN) dnssd mdns; \
+ fi
#
-# scsi
+# ipp
#
-scsi: scsi.o ../cups/$(LIBCUPS)
+ipp: ipp.o ../cups/$(LIBCUPS) libbackend.a
echo Linking $@...
- $(CC) $(LDFLAGS) -o scsi scsi.o $(LIBS)
-
-scsi.o: scsi.c scsi-irix.c scsi-linux.c
+ $(CC) $(LDFLAGS) -o ipp ipp.o libbackend.a $(LIBS)
+ $(RM) http
+ $(LN) ipp http
#
-# serial
+# lpd
#
-serial: serial.o ../cups/$(LIBCUPS) libbackend.a
+lpd: lpd.o ../cups/$(LIBCUPS) libbackend.a
echo Linking $@...
- $(CC) $(LDFLAGS) -o serial serial.o libbackend.a $(BACKLIBS) $(LIBS)
+ $(CC) $(LDFLAGS) -o lpd lpd.o libbackend.a $(LIBS)
#
echo Linking $@...
$(CC) $(LDFLAGS) -o socket socket.o libbackend.a $(LIBS)
+socket-static: socket.o ../cups/$(LIBCUPSSTATIC) libbackend.a
+ echo Linking $@...
+ $(CC) $(LDFLAGS) -o socket-static socket.o libbackend.a \
+ ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+ $(COMMONLIBS) $(LIBZ)
+
#
# usb
usb: usb.o ../cups/$(LIBCUPS) libbackend.a
echo Linking $@...
- $(CC) $(LDFLAGS) -o usb usb.o libbackend.a $(BACKLIBS) $(LIBS)
-usb.o: usb.c usb-darwin.c usb-unix.c
+ $(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
#
#
include Dependencies
-
-
-#
-# End of "$Id$".
-#