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