]> git.ipfire.org Git - thirdparty/cups.git/blob - backend/Makefile
Fix lpadmin error reporting for IPP Everywhere printers (Issue #5370)
[thirdparty/cups.git] / backend / Makefile
1 #
2 # Backend makefile for CUPS.
3 #
4 # Copyright 2007-2018 by Apple Inc.
5 # Copyright 1997-2007 by Easy Software Products, all rights reserved.
6 #
7 # Licensed under Apache License v2.0. See the file "LICENSE" for more information.
8 #
9
10 include ../Makedefs
11
12 #
13 # Object files...
14 #
15
16 # RBACKENDS are installed mode 0700 so cupsd will run them as root...
17 #
18 # UBACKENDS and ULBACKENDS are installed mode 0755 so cupsd will run them as
19 # an unprivileged user...
20 #
21 # See http://www.cups.org/doc/api-filter.html for more info...
22 RBACKENDS = \
23 ipp \
24 lpd \
25 $(DNSSD_BACKEND)
26 UBACKENDS = \
27 snmp \
28 socket
29 ULBACKENDS = \
30 usb
31 UNITTESTS = \
32 test1284 \
33 testbackend \
34 testsupplies
35 TARGETS = \
36 libbackend.a \
37 $(RBACKENDS) \
38 $(UBACKENDS) \
39 $(ULBACKENDS)
40 LIBOBJS = \
41 ieee1284.o \
42 network.o \
43 runloop.o \
44 snmp-supplies.o
45 OBJS = \
46 ipp.o \
47 lpd.o \
48 dnssd.o \
49 snmp.o \
50 socket.o \
51 test1284.o \
52 testbackend.o \
53 testsupplies.o \
54 usb.o
55
56
57 #
58 # Make all targets...
59 #
60
61 all: $(TARGETS)
62
63
64 #
65 # Make library targets...
66 #
67
68 libs: $(ULBACKENDS)
69
70
71 #
72 # Make unit tests...
73 #
74
75 unittests: $(UNITTESTS)
76
77
78 #
79 # Clean all object files...
80 #
81
82 clean:
83 $(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns socket-static
84
85
86 #
87 # Update dependencies (without system header dependencies...)
88 #
89
90 depend:
91 $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
92
93
94 #
95 # Install all targets...
96 #
97
98 install: all install-data install-headers install-libs install-exec
99
100
101 #
102 # Install data files...
103 #
104
105 install-data:
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); \
110 fi
111
112
113 #
114 # Install programs...
115 #
116
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 $(LIBTOOL) $(INSTALL_BIN) -m 700 $$file $(SERVERBIN)/backend; \
122 done
123 for file in $(UBACKENDS); do \
124 $(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
125 done
126 for file in $(IPPALIASES); do \
127 $(RM) $(SERVERBIN)/backend/$$file; \
128 $(LN) ipp $(SERVERBIN)/backend/$$file; \
129 done
130 if test "x$(DNSSD_BACKEND)" != x -a `uname` = Darwin; then \
131 $(RM) $(SERVERBIN)/backend/mdns; \
132 $(LN) $(DNSSD_BACKEND) $(SERVERBIN)/backend/mdns; \
133 fi
134 if test "x$(SYMROOT)" != "x"; then \
135 $(INSTALL_DIR) $(SYMROOT); \
136 for file in $(RBACKENDS) $(UBACKENDS); do \
137 cp $$file $(SYMROOT); \
138 dsymutil $(SYMROOT)/$$file; \
139 done \
140 fi
141
142 install-xpc: ipp
143 echo Installing XPC backends in $(SERVERBIN)/apple
144 $(INSTALL_DIR) -m 755 $(SERVERBIN)/apple
145 $(LIBTOOL) $(INSTALL_BIN) ipp $(SERVERBIN)/apple
146 for file in $(IPPALIASES); do \
147 $(RM) $(SERVERBIN)/apple/$$file; \
148 $(LN) ipp $(SERVERBIN)/apple/$$file; \
149 done
150
151
152 #
153 # Install headers...
154 #
155
156 install-headers:
157
158
159 #
160 # Install libraries...
161 #
162
163 install-libs:
164 echo Installing backends in $(SERVERBIN)/backend
165 $(INSTALL_DIR) -m 755 $(SERVERBIN)/backend
166 for file in $(ULBACKENDS); do \
167 $(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
168 done
169 if test "x$(SYMROOT)" != "x"; then \
170 $(INSTALL_DIR) $(SYMROOT); \
171 for file in $(ULBACKENDS); do \
172 cp $$file $(SYMROOT); \
173 dsymutil $(SYMROOT)/$$file; \
174 done \
175 fi
176
177
178 #
179 # Uninstall all targets...
180 #
181
182 uninstall:
183 $(RM) $(SERVERBIN)/apple/ipp
184 for file in $(IPPALIASES); do \
185 $(RM) $(SERVERBIN)/apple/$$file; \
186 done
187 -$(RMDIR) $(SERVERBIN)/apple
188 for file in $(RBACKENDS) $(UBACKENDS) $(ULBACKENDS); do \
189 $(RM) $(SERVERBIN)/backend/$$file; \
190 done
191 for file in $(IPPALIASES); do \
192 $(RM) $(SERVERBIN)/backend/$$file; \
193 done
194 -$(RMDIR) $(SERVERBIN)/backend
195 -$(RMDIR) $(SERVERBIN)
196
197
198 #
199 # test1284
200 #
201
202 test1284: test1284.o ../cups/$(LIBCUPSSTATIC)
203 echo Linking $@...
204 $(LD_CC) $(LDFLAGS) -o test1284 test1284.o ../cups/$(LIBCUPSSTATIC) \
205 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
206 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
207
208
209 #
210 # testbackend
211 #
212
213 testbackend: testbackend.o ../cups/$(LIBCUPSSTATIC)
214 echo Linking $@...
215 $(LD_CC) $(LDFLAGS) -o testbackend testbackend.o ../cups/$(LIBCUPSSTATIC) \
216 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
217 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
218
219
220 #
221 # testsupplies
222 #
223
224 testsupplies: testsupplies.o libbackend.a ../cups/$(LIBCUPSSTATIC)
225 echo Linking $@...
226 $(LD_CC) $(LDFLAGS) -o testsupplies testsupplies.o libbackend.a \
227 ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
228 $(COMMONLIBS) $(LIBZ)
229 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
230
231
232 #
233 # libbackend.a
234 #
235
236 libbackend.a: $(LIBOBJS)
237 echo Archiving $@...
238 $(RM) $@
239 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
240 $(RANLIB) $@
241
242
243 #
244 # dnssd
245 #
246
247 dnssd: dnssd.o ../cups/$(LIBCUPS) libbackend.a
248 echo Linking $@...
249 $(LD_CC) $(LDFLAGS) -o dnssd dnssd.o libbackend.a $(LIBS)
250 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
251 if test `uname` = Darwin; then \
252 $(RM) mdns; \
253 $(LN) dnssd mdns; \
254 fi
255
256
257 #
258 # ipp
259 #
260
261 ipp: ipp.o ../cups/$(LIBCUPS) libbackend.a
262 echo Linking $@...
263 $(LD_CC) $(LDFLAGS) -o ipp ipp.o libbackend.a $(LIBS)
264 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
265 $(RM) http https ipps
266 for file in $(IPPALIASES); do \
267 $(LN) ipp $$file; \
268 done
269
270
271 #
272 # lpd
273 #
274
275 lpd: lpd.o ../cups/$(LIBCUPS) libbackend.a
276 echo Linking $@...
277 $(LD_CC) $(LDFLAGS) -o lpd lpd.o libbackend.a $(LIBS)
278 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
279
280
281 #
282 # snmp
283 #
284
285 snmp: snmp.o ../cups/$(LIBCUPS) libbackend.a
286 echo Linking $@...
287 $(LD_CC) $(LDFLAGS) -o snmp snmp.o libbackend.a $(LIBS)
288 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
289
290
291 #
292 # socket
293 #
294
295 socket: socket.o ../cups/$(LIBCUPS) libbackend.a
296 echo Linking $@...
297 $(LD_CC) $(LDFLAGS) -o socket socket.o libbackend.a $(LIBS)
298 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
299
300 socket-static: socket.o ../cups/$(LIBCUPSSTATIC) libbackend.a
301 echo Linking $@...
302 $(LD_CC) $(LDFLAGS) -o socket-static socket.o libbackend.a \
303 ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
304 $(COMMONLIBS) $(LIBZ)
305 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
306
307
308 #
309 # usb
310 #
311
312 usb: usb.o ../cups/$(LIBCUPS) libbackend.a
313 echo Linking $@...
314 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o usb usb.o libbackend.a $(LIBUSB) \
315 $(BACKLIBS) $(LIBS)
316 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
317 usb.o: usb.c usb-darwin.c usb-libusb.c usb-unix.c
318
319
320 #
321 # Dependencies...
322 #
323
324 include Dependencies