]> git.ipfire.org Git - thirdparty/cups.git/blob - backend/Makefile
License change: Apache License, Version 2.0.
[thirdparty/cups.git] / backend / Makefile
1 #
2 # Backend makefile for CUPS.
3 #
4 # Copyright 2007-2017 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
207
208 #
209 # testbackend
210 #
211
212 testbackend: testbackend.o ../cups/$(LIBCUPSSTATIC)
213 echo Linking $@...
214 $(LD_CC) $(LDFLAGS) -o testbackend testbackend.o ../cups/$(LIBCUPSSTATIC) \
215 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
216
217
218 #
219 # testsupplies
220 #
221
222 testsupplies: testsupplies.o libbackend.a ../cups/$(LIBCUPSSTATIC)
223 echo Linking $@...
224 $(LD_CC) $(LDFLAGS) -o testsupplies testsupplies.o libbackend.a \
225 ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
226 $(COMMONLIBS) $(LIBZ)
227
228
229 #
230 # libbackend.a
231 #
232
233 libbackend.a: $(LIBOBJS)
234 echo Archiving $@...
235 $(RM) $@
236 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
237 $(RANLIB) $@
238
239
240 #
241 # dnssd
242 #
243
244 dnssd: dnssd.o ../cups/$(LIBCUPS) libbackend.a
245 echo Linking $@...
246 $(LD_CC) $(LDFLAGS) -o dnssd dnssd.o libbackend.a $(LIBS)
247 if test `uname` = Darwin; then \
248 $(RM) mdns; \
249 $(LN) dnssd mdns; \
250 fi
251
252
253 #
254 # ipp
255 #
256
257 ipp: ipp.o ../cups/$(LIBCUPS) libbackend.a
258 echo Linking $@...
259 $(LD_CC) $(LDFLAGS) -o ipp ipp.o libbackend.a $(LIBS)
260 $(RM) http
261 $(LN) ipp http
262
263
264 #
265 # lpd
266 #
267
268 lpd: lpd.o ../cups/$(LIBCUPS) libbackend.a
269 echo Linking $@...
270 $(LD_CC) $(LDFLAGS) -o lpd lpd.o libbackend.a $(LIBS)
271
272
273 #
274 # snmp
275 #
276
277 snmp: snmp.o ../cups/$(LIBCUPS) libbackend.a
278 echo Linking $@...
279 $(LD_CC) $(LDFLAGS) -o snmp snmp.o libbackend.a $(LIBS)
280
281
282 #
283 # socket
284 #
285
286 socket: socket.o ../cups/$(LIBCUPS) libbackend.a
287 echo Linking $@...
288 $(LD_CC) $(LDFLAGS) -o socket socket.o libbackend.a $(LIBS)
289
290 socket-static: socket.o ../cups/$(LIBCUPSSTATIC) libbackend.a
291 echo Linking $@...
292 $(LD_CC) $(LDFLAGS) -o socket-static socket.o libbackend.a \
293 ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
294 $(COMMONLIBS) $(LIBZ)
295
296
297 #
298 # usb
299 #
300
301 usb: usb.o ../cups/$(LIBCUPS) libbackend.a
302 echo Linking $@...
303 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o usb usb.o libbackend.a $(LIBUSB) \
304 $(BACKLIBS) $(LIBS)
305 usb.o: usb.c usb-darwin.c usb-libusb.c usb-unix.c
306
307
308 #
309 # Dependencies...
310 #
311
312 include Dependencies