2 # Backend makefile for CUPS.
4 # Copyright © 2020-2024 by OpenPrinting.
5 # Copyright © 2007-2019 by Apple Inc.
6 # Copyright © 1997-2007 by Easy Software Products, all rights reserved.
8 # Licensed under Apache License v2.0. See the file "LICENSE" for more
18 # RBACKENDS are installed mode 0744 so cupsd will run them as root...
20 # UBACKENDS are installed mode 0755 so cupsd will run them as an unprivileged
23 # See <http://openprinting.github.io/cups/doc/api-filter.html> for more info...
65 # Make library targets...
75 unittests
: $(UNITTESTS
)
79 # Clean all object files...
83 $(RM
) $(OBJS
) $(TARGETS
) $(UNITTESTS
) $(LIBOBJS
) http https ipps mdns socket-static
87 # Update dependencies (without system header dependencies...)
91 $(CC
) -MM
$(ALL_CFLAGS
) $(OBJS
:.o
=.c
) | sed
-e
'1,$$s/ \/usr\/include\/[^ ]*//g' -e
'1,$$s/ \/usr\/local\/include\/[^ ]*//g' >Dependencies
95 # Install all targets...
98 install: all install-data install-headers install-libs install-exec
102 # Install data files...
106 if
test "x$(USBQUIRKS)" != x
; then \
107 echo Installing USB quirks in
$(USBQUIRKS
); \
108 $(INSTALL_DIR
) -m
755 $(USBQUIRKS
); \
109 $(INSTALL_DATA
) org.cups.usb-quirks
$(USBQUIRKS
); \
114 # Install programs...
117 install-exec
: $(INSTALLXPC
)
118 echo Installing backends in
$(SERVERBIN
)/backend
119 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)/backend
120 for file in
$(RBACKENDS
); do \
121 $(INSTALL_BIN
) -m
744 $$file $(SERVERBIN
)/backend
; \
123 for file in
$(UBACKENDS
); do \
124 $(INSTALL_BIN
) $$file $(SERVERBIN
)/backend
; \
126 $(RM
) $(SERVERBIN
)/backend
/ipps
; \
127 $(LN
) ipp
$(SERVERBIN
)/backend
/ipps
; \
128 if
test "x$(SYMROOT)" != "x"; then \
129 $(INSTALL_DIR
) $(SYMROOT
); \
130 for file in
$(RBACKENDS
) $(UBACKENDS
); do \
131 cp
$$file $(SYMROOT
); \
132 dsymutil
$(SYMROOT
)/$$file; \
137 echo Installing XPC backends in
$(SERVERBIN
)/apple
138 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)/apple
139 $(INSTALL_BIN
) ipp
$(SERVERBIN
)/apple
140 $(RM
) $(SERVERBIN
)/apple
/ipps
141 $(LN
) ipp
$(SERVERBIN
)/apple
/ipps
152 # Install libraries...
159 # Uninstall all targets...
163 $(RM
) $(SERVERBIN
)/apple
/ipp
164 $(RM
) $(SERVERBIN
)/apple
/ipps
165 -$(RMDIR
) $(SERVERBIN
)/apple
166 for file in
$(RBACKENDS
) $(UBACKENDS
); do \
167 $(RM
) $(SERVERBIN
)/backend
/$$file; \
169 $(RM
) $(SERVERBIN
)/backend
/ipps
170 -$(RMDIR
) $(SERVERBIN
)/backend
171 -$(RMDIR
) $(SERVERBIN
)
175 # Run unit tests... (doesn't actually run these currently)
185 test1284
: test1284.o ..
/cups
/$(LIBCUPSSTATIC
)
187 $(LD_CC
) $(ALL_LDFLAGS
) -o test1284 test1284.o
$(LINKCUPSSTATIC
)
188 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
195 testbackend
: testbackend.o ..
/cups
/$(LIBCUPSSTATIC
)
197 $(LD_CC
) $(ALL_LDFLAGS
) -o testbackend testbackend.o
$(LINKCUPSSTATIC
)
198 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
205 testsupplies
: testsupplies.o libbackend.a ..
/cups
/$(LIBCUPSSTATIC
)
207 $(LD_CC
) $(ALL_LDFLAGS
) -o testsupplies testsupplies.o libbackend.a \
209 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
216 libbackend.a
: $(LIBOBJS
)
219 $(AR
) $(ARFLAGS
) $@
$(LIBOBJS
)
227 dnssd
: dnssd.o ..
/cups
/$(LIBCUPS
) libbackend.a
229 $(LD_CC
) $(ALL_LDFLAGS
) -o dnssd dnssd.o libbackend.a
$(DNSSDLIBS
) $(LINKCUPS
)
230 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
231 if
test `uname` = Darwin
; then \
241 ipp
: ipp.o ..
/cups
/$(LIBCUPS
) libbackend.a
243 $(LD_CC
) $(ALL_LDFLAGS
) -o ipp ipp.o libbackend.a
$(LINKCUPS
)
244 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
253 lpd
: lpd.o ..
/cups
/$(LIBCUPS
) libbackend.a
255 $(LD_CC
) $(ALL_LDFLAGS
) -o lpd lpd.o libbackend.a
$(LINKCUPS
)
256 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
263 snmp
: snmp.o ..
/cups
/$(LIBCUPS
) libbackend.a
265 $(LD_CC
) $(ALL_LDFLAGS
) -o snmp snmp.o libbackend.a
$(LINKCUPS
)
266 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
273 socket
: socket.o ..
/cups
/$(LIBCUPS
) libbackend.a
275 $(LD_CC
) $(ALL_LDFLAGS
) -o socket socket.o libbackend.a
$(LINKCUPS
)
276 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
278 socket-static
: socket.o ..
/cups
/$(LIBCUPSSTATIC
) libbackend.a
280 $(LD_CC
) $(ALL_LDFLAGS
) -o socket-static socket.o libbackend.a \
282 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
289 usb
: usb.o ..
/cups
/$(LIBCUPS
) libbackend.a
291 $(LD_CC
) $(ARCHFLAGS
) $(ALL_LDFLAGS
) -o usb usb.o libbackend.a
$(LIBUSB
) \
292 $(BACKLIBS
) $(COMMONLIBS
) $(LINKCUPS
)
293 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
294 usb.o
: usb.c usb-darwin.c usb-libusb.c usb-unix.c