Blame backend/Makefile

Packit 2fc92b
#
Packit 2fc92b
# Backend makefile for CUPS.
Packit 2fc92b
#
Packit 2fc92b
# Copyright 2007-2017 by Apple Inc.
Packit 2fc92b
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
Packit 2fc92b
#
Packit 2fc92b
# These coded instructions, statements, and computer programs are the
Packit 2fc92b
# property of Apple Inc. and are protected by Federal copyright
Packit 2fc92b
# law.  Distribution and use rights are outlined in the file "LICENSE.txt"
Packit 2fc92b
# which should have been included with this file.  If this file is
Packit 2fc92b
# missing or damaged, see the license at "http://www.cups.org/".
Packit 2fc92b
#
Packit 2fc92b
# This file is subject to the Apple OS-Developed Software exception.
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
include ../Makedefs
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Object files...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
# RBACKENDS are installed mode 0700 so cupsd will run them as root...
Packit 2fc92b
#
Packit 2fc92b
# UBACKENDS and ULBACKENDS are installed mode 0755 so cupsd will run them as
Packit 2fc92b
# an unprivileged user...
Packit 2fc92b
#
Packit 2fc92b
# See http://www.cups.org/doc/api-filter.html for more info...
Packit 2fc92b
RBACKENDS =	\
Packit 2fc92b
		ipp \
Packit 2fc92b
		lpd \
Packit 2fc92b
		$(DNSSD_BACKEND)
Packit 2fc92b
UBACKENDS =	\
Packit 2fc92b
		snmp \
Packit 2fc92b
		socket
Packit 2fc92b
ULBACKENDS =	\
Packit 2fc92b
		usb
Packit 2fc92b
UNITTESTS =	\
Packit 2fc92b
		test1284 \
Packit 2fc92b
		testbackend \
Packit 2fc92b
		testsupplies
Packit 2fc92b
TARGETS =	\
Packit 2fc92b
		libbackend.a \
Packit 2fc92b
		$(RBACKENDS) \
Packit 2fc92b
		$(UBACKENDS) \
Packit 2fc92b
		$(ULBACKENDS)
Packit 2fc92b
LIBOBJS	=	\
Packit 2fc92b
		ieee1284.o \
Packit 2fc92b
		network.o \
Packit 2fc92b
		runloop.o \
Packit 2fc92b
		snmp-supplies.o
Packit 2fc92b
OBJS	=	\
Packit 2fc92b
		ipp.o \
Packit 2fc92b
		lpd.o \
Packit 2fc92b
		dnssd.o \
Packit 2fc92b
		snmp.o \
Packit 2fc92b
		socket.o \
Packit 2fc92b
		test1284.o \
Packit 2fc92b
		testbackend.o \
Packit 2fc92b
		testsupplies.o \
Packit 2fc92b
		usb.o
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Make all targets...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
all:	$(TARGETS)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Make library targets...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
libs:	$(ULBACKENDS)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Make unit tests...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
unittests:	$(UNITTESTS)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Clean all object files...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
clean:
Packit 2fc92b
	$(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns socket-static
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Update dependencies (without system header dependencies...)
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
depend:
Packit 2fc92b
	$(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Install all targets...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
install:	all install-data install-headers install-libs install-exec
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Install data files...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
install-data:
Packit 2fc92b
	if test "x$(USBQUIRKS)" != x; then \
Packit 2fc92b
		echo Installing USB quirks in $(USBQUIRKS); \
Packit 2fc92b
		$(INSTALL_DIR) -m 755 $(USBQUIRKS); \
Packit 2fc92b
		$(INSTALL_DATA) org.cups.usb-quirks $(USBQUIRKS); \
Packit 2fc92b
	fi
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Install programs...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
install-exec:	$(INSTALLXPC)
Packit 2fc92b
	echo Installing backends in $(SERVERBIN)/backend
Packit 2fc92b
	$(INSTALL_DIR) -m 755 $(SERVERBIN)/backend
Packit 2fc92b
	for file in $(RBACKENDS); do \
Packit 2fc92b
		$(LIBTOOL) $(INSTALL_BIN) -m 700 $$file $(SERVERBIN)/backend; \
Packit 2fc92b
	done
Packit 2fc92b
	for file in $(UBACKENDS); do \
Packit 2fc92b
		$(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
Packit 2fc92b
	done
Packit 2fc92b
	for file in $(IPPALIASES); do \
Packit 2fc92b
		$(RM) $(SERVERBIN)/backend/$$file; \
Packit 2fc92b
		$(LN) ipp $(SERVERBIN)/backend/$$file; \
Packit 2fc92b
	done
Packit 2fc92b
	if test "x$(DNSSD_BACKEND)" != x -a `uname` = Darwin; then \
Packit 2fc92b
		$(RM) $(SERVERBIN)/backend/mdns; \
Packit 2fc92b
		$(LN) $(DNSSD_BACKEND) $(SERVERBIN)/backend/mdns; \
Packit 2fc92b
	fi
Packit 2fc92b
	if test "x$(SYMROOT)" != "x"; then \
Packit 2fc92b
		$(INSTALL_DIR) $(SYMROOT); \
Packit 2fc92b
		for file in $(RBACKENDS) $(UBACKENDS); do \
Packit 2fc92b
			cp $$file $(SYMROOT); \
Packit 2fc92b
			dsymutil $(SYMROOT)/$$file; \
Packit 2fc92b
		done \
Packit 2fc92b
	fi
Packit 2fc92b
Packit 2fc92b
install-xpc:	ipp
Packit 2fc92b
	echo Installing XPC backends in $(SERVERBIN)/apple
Packit 2fc92b
	$(INSTALL_DIR) -m 755 $(SERVERBIN)/apple
Packit 2fc92b
	$(LIBTOOL) $(INSTALL_BIN) ipp $(SERVERBIN)/apple
Packit 2fc92b
	for file in $(IPPALIASES); do \
Packit 2fc92b
		$(RM) $(SERVERBIN)/apple/$$file; \
Packit 2fc92b
		$(LN) ipp $(SERVERBIN)/apple/$$file; \
Packit 2fc92b
	done
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Install headers...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
install-headers:
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Install libraries...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
install-libs:
Packit 2fc92b
	echo Installing backends in $(SERVERBIN)/backend
Packit 2fc92b
	$(INSTALL_DIR) -m 755 $(SERVERBIN)/backend
Packit 2fc92b
	for file in $(ULBACKENDS); do \
Packit 2fc92b
		$(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
Packit 2fc92b
	done
Packit 2fc92b
	if test "x$(SYMROOT)" != "x"; then \
Packit 2fc92b
		$(INSTALL_DIR) $(SYMROOT); \
Packit 2fc92b
		for file in $(ULBACKENDS); do \
Packit 2fc92b
			cp $$file $(SYMROOT); \
Packit 2fc92b
			dsymutil $(SYMROOT)/$$file; \
Packit 2fc92b
		done \
Packit 2fc92b
	fi
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Uninstall all targets...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
uninstall:
Packit 2fc92b
	$(RM) $(SERVERBIN)/apple/ipp
Packit 2fc92b
	for file in $(IPPALIASES); do \
Packit 2fc92b
		$(RM) $(SERVERBIN)/apple/$$file; \
Packit 2fc92b
	done
Packit 2fc92b
	-$(RMDIR) $(SERVERBIN)/apple
Packit 2fc92b
	for file in $(RBACKENDS) $(UBACKENDS) $(ULBACKENDS); do \
Packit 2fc92b
		$(RM) $(SERVERBIN)/backend/$$file; \
Packit 2fc92b
	done
Packit 2fc92b
	for file in $(IPPALIASES); do \
Packit 2fc92b
		$(RM) $(SERVERBIN)/backend/$$file; \
Packit 2fc92b
	done
Packit 2fc92b
	-$(RMDIR) $(SERVERBIN)/backend
Packit 2fc92b
	-$(RMDIR) $(SERVERBIN)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# test1284
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
test1284:	test1284.o ../cups/$(LIBCUPSSTATIC)
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(LDFLAGS) -o test1284 test1284.o ../cups/$(LIBCUPSSTATIC) \
Packit 2fc92b
		$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# testbackend
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
testbackend:	testbackend.o ../cups/$(LIBCUPSSTATIC)
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(LDFLAGS) -o testbackend testbackend.o ../cups/$(LIBCUPSSTATIC) \
Packit 2fc92b
		$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# testsupplies
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
testsupplies:	testsupplies.o libbackend.a ../cups/$(LIBCUPSSTATIC)
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(LDFLAGS) -o testsupplies testsupplies.o libbackend.a \
Packit 2fc92b
		../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
Packit 2fc92b
		$(COMMONLIBS) $(LIBZ)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# libbackend.a
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
libbackend.a:	$(LIBOBJS)
Packit 2fc92b
	echo Archiving $@...
Packit 2fc92b
	$(RM) $@
Packit 2fc92b
	$(AR) $(ARFLAGS) $@ $(LIBOBJS)
Packit 2fc92b
	$(RANLIB) $@
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# dnssd
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
dnssd:	dnssd.o ../cups/$(LIBCUPS) libbackend.a
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(LDFLAGS) -o dnssd dnssd.o libbackend.a $(LIBS)
Packit 2fc92b
	if test `uname` = Darwin; then \
Packit 2fc92b
		$(RM) mdns; \
Packit 2fc92b
		$(LN) dnssd mdns; \
Packit 2fc92b
	fi
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# ipp
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
ipp:	ipp.o ../cups/$(LIBCUPS) libbackend.a
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(LDFLAGS) -o ipp ipp.o libbackend.a $(LIBS)
Packit 2fc92b
	$(RM) http
Packit 2fc92b
	$(LN) ipp http
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# lpd
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
lpd:	lpd.o ../cups/$(LIBCUPS) libbackend.a
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(LDFLAGS) -o lpd lpd.o libbackend.a $(LIBS)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# snmp
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
snmp:	snmp.o ../cups/$(LIBCUPS) libbackend.a
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(LDFLAGS) -o snmp snmp.o libbackend.a $(LIBS)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# socket
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
socket:	socket.o ../cups/$(LIBCUPS) libbackend.a
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(LDFLAGS) -o socket socket.o libbackend.a $(LIBS)
Packit 2fc92b
Packit 2fc92b
socket-static:	socket.o  ../cups/$(LIBCUPSSTATIC) libbackend.a
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(LDFLAGS) -o socket-static socket.o libbackend.a \
Packit 2fc92b
		../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
Packit 2fc92b
		$(COMMONLIBS) $(LIBZ)
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# usb
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
usb:	usb.o ../cups/$(LIBCUPS) libbackend.a
Packit 2fc92b
	echo Linking $@...
Packit 2fc92b
	$(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o usb usb.o libbackend.a $(LIBUSB) \
Packit 2fc92b
		$(BACKLIBS) $(LIBS)
Packit 2fc92b
usb.o:	usb.c usb-darwin.c usb-libusb.c usb-unix.c
Packit 2fc92b
Packit 2fc92b
Packit 2fc92b
#
Packit 2fc92b
# Dependencies...
Packit 2fc92b
#
Packit 2fc92b
Packit 2fc92b
include Dependencies