]> git.ipfire.org Git - thirdparty/cups.git/blob - backend/Makefile
Merge pull request #1310 from weblate/weblate-cups-cups
[thirdparty/cups.git] / backend / Makefile
1 #
2 # Backend makefile for CUPS.
3 #
4 # Copyright © 2020-2024 by OpenPrinting.
5 # Copyright © 2007-2019 by Apple Inc.
6 # Copyright © 1997-2007 by Easy Software Products, all rights reserved.
7 #
8 # Licensed under Apache License v2.0. See the file "LICENSE" for more
9 # information.
10 #
11
12 include ../Makedefs
13
14 #
15 # Object files...
16 #
17
18 # RBACKENDS are installed mode 0744 so cupsd will run them as root...
19 #
20 # UBACKENDS are installed mode 0755 so cupsd will run them as an unprivileged
21 # user...
22 #
23 # See <http://openprinting.github.io/cups/doc/api-filter.html> for more info...
24 RBACKENDS = \
25 ipp \
26 lpd \
27 usb \
28 $(DNSSD_BACKEND)
29 UBACKENDS = \
30 snmp \
31 socket
32 UNITTESTS = \
33 test1284 \
34 testbackend \
35 testsupplies
36 TARGETS = \
37 libbackend.a \
38 $(RBACKENDS) \
39 $(UBACKENDS)
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:
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) | sed -e '1,$$s/ \/usr\/include\/[^ ]*//g' -e '1,$$s/ \/usr\/local\/include\/[^ ]*//g' >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 $(INSTALL_BIN) -m 744 $$file $(SERVERBIN)/backend; \
122 done
123 for file in $(UBACKENDS); do \
124 $(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
125 done
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; \
133 done \
134 fi
135
136 install-xpc: ipp
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
142
143
144 #
145 # Install headers...
146 #
147
148 install-headers:
149
150
151 #
152 # Install libraries...
153 #
154
155 install-libs:
156
157
158 #
159 # Uninstall all targets...
160 #
161
162 uninstall:
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; \
168 done
169 $(RM) $(SERVERBIN)/backend/ipps
170 -$(RMDIR) $(SERVERBIN)/backend
171 -$(RMDIR) $(SERVERBIN)
172
173
174 #
175 # Run unit tests... (doesn't actually run these currently)
176 #
177
178 test: unittests
179
180
181 #
182 # test1284
183 #
184
185 test1284: test1284.o ../cups/$(LIBCUPSSTATIC)
186 echo Linking $@...
187 $(LD_CC) $(ALL_LDFLAGS) -o test1284 test1284.o $(LINKCUPSSTATIC)
188 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
189
190
191 #
192 # testbackend
193 #
194
195 testbackend: testbackend.o ../cups/$(LIBCUPSSTATIC)
196 echo Linking $@...
197 $(LD_CC) $(ALL_LDFLAGS) -o testbackend testbackend.o $(LINKCUPSSTATIC)
198 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
199
200
201 #
202 # testsupplies
203 #
204
205 testsupplies: testsupplies.o libbackend.a ../cups/$(LIBCUPSSTATIC)
206 echo Linking $@...
207 $(LD_CC) $(ALL_LDFLAGS) -o testsupplies testsupplies.o libbackend.a \
208 $(LINKCUPSSTATIC)
209 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
210
211
212 #
213 # libbackend.a
214 #
215
216 libbackend.a: $(LIBOBJS)
217 echo Archiving $@...
218 $(RM) $@
219 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
220 $(RANLIB) $@
221
222
223 #
224 # dnssd
225 #
226
227 dnssd: dnssd.o ../cups/$(LIBCUPS) libbackend.a
228 echo Linking $@...
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 \
232 $(RM) mdns; \
233 $(LN) dnssd mdns; \
234 fi
235
236
237 #
238 # ipp
239 #
240
241 ipp: ipp.o ../cups/$(LIBCUPS) libbackend.a
242 echo Linking $@...
243 $(LD_CC) $(ALL_LDFLAGS) -o ipp ipp.o libbackend.a $(LINKCUPS)
244 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
245 $(RM) ipps
246 $(LN) ipp ipps
247
248
249 #
250 # lpd
251 #
252
253 lpd: lpd.o ../cups/$(LIBCUPS) libbackend.a
254 echo Linking $@...
255 $(LD_CC) $(ALL_LDFLAGS) -o lpd lpd.o libbackend.a $(LINKCUPS)
256 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
257
258
259 #
260 # snmp
261 #
262
263 snmp: snmp.o ../cups/$(LIBCUPS) libbackend.a
264 echo Linking $@...
265 $(LD_CC) $(ALL_LDFLAGS) -o snmp snmp.o libbackend.a $(LINKCUPS)
266 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
267
268
269 #
270 # socket
271 #
272
273 socket: socket.o ../cups/$(LIBCUPS) libbackend.a
274 echo Linking $@...
275 $(LD_CC) $(ALL_LDFLAGS) -o socket socket.o libbackend.a $(LINKCUPS)
276 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
277
278 socket-static: socket.o ../cups/$(LIBCUPSSTATIC) libbackend.a
279 echo Linking $@...
280 $(LD_CC) $(ALL_LDFLAGS) -o socket-static socket.o libbackend.a \
281 $(LINKCUPSSTATIC)
282 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
283
284
285 #
286 # usb
287 #
288
289 usb: usb.o ../cups/$(LIBCUPS) libbackend.a
290 echo Linking $@...
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
295
296
297 #
298 # Dependencies...
299 #
300
301 include Dependencies