]> git.ipfire.org Git - thirdparty/cups.git/blob - scheduler/Makefile
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / scheduler / Makefile
1 #
2 # Scheduler Makefile for CUPS.
3 #
4 # Copyright © 2007-2019 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
8 # information.
9 #
10
11 include ../Makedefs
12
13 CUPSDOBJS = \
14 auth.o \
15 banners.o \
16 cert.o \
17 classes.o \
18 client.o \
19 colorman.o \
20 conf.o \
21 dirsvc.o \
22 env.o \
23 file.o \
24 main.o \
25 ipp.o \
26 listen.o \
27 job.o \
28 log.o \
29 network.o \
30 policy.o \
31 printers.o \
32 process.o \
33 quotas.o \
34 select.o \
35 server.o \
36 statbuf.o \
37 subscriptions.o \
38 sysman.o
39 LIBOBJS = \
40 filter.o \
41 mime.o \
42 type.o
43 COBJS = \
44 $(CUPSDOBJS) \
45 $(LIBOBJS) \
46 cupsfilter.o \
47 cups-deviced.o \
48 cups-exec.o \
49 cups-lpd.o \
50 testlpd.o \
51 testmime.o \
52 testspeed.o \
53 testsub.o \
54 util.o
55 CXXOBJS = \
56 cups-driverd.o
57 OBJS = \
58 $(COBJS) \
59 $(CXXOBJS)
60 LIBTARGETS = \
61 libcupsmime.a
62
63 UNITTARGETS = \
64 testlpd \
65 testmime \
66 testspeed \
67 testsub
68
69 PROGRAMS = \
70 cupsd \
71 cupsfilter \
72 cups-deviced \
73 cups-driverd \
74 cups-exec \
75 cups-lpd
76
77 TARGETS = \
78 $(LIBTARGETS) \
79 $(PROGRAMS)
80
81
82 #
83 # Make everything...
84 #
85
86 all: $(TARGETS)
87
88
89 #
90 # Make library targets...
91 #
92
93 libs:
94
95
96 #
97 # Make unit tests...
98 #
99
100 unittests: $(UNITTARGETS)
101
102
103 #
104 # Clean all object files...
105 #
106
107 clean:
108 $(RM) $(OBJS)
109 $(RM) $(TARGETS) $(UNITTARGETS) convert
110
111
112 #
113 # Update dependencies (without system header dependencies...)
114 #
115
116 depend:
117 $(CC) -MM $(ALL_CFLAGS) $(COBJS:.o=.c) >Dependencies
118 $(CXX) -MM $(ALL_CXXFLAGS) $(CXXOBJS:.o=.cxx) >>Dependencies
119
120
121 #
122 # Run oclint to check code coverage...
123 #
124
125 oclint:
126 oclint -o=oclint.html -html $(CUPSDOBJS:.o=.c) $(LIBOBJS:.o=.c) -- $(ALL_CFLAGS)
127
128
129 #
130 # Install all targets...
131 #
132
133 install: all install-data install-headers install-libs install-exec
134
135
136 #
137 # Install data files...
138 #
139
140 install-data:
141 echo Creating $(SERVERBIN)/driver...
142 $(INSTALL_DIR) -m 755 $(SERVERBIN)/driver
143 echo Creating $(SERVERROOT)...
144 $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)
145 echo Creating $(SERVERROOT)/ppd...
146 $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/ppd
147 if test "x`uname`" != xDarwin; then \
148 echo Creating $(SERVERROOT)/ssl...; \
149 $(INSTALL_DIR) -m 700 -g $(CUPS_GROUP) $(SERVERROOT)/ssl; \
150 fi
151 if test "$(STATEDIR)" != "$(SERVERROOT)"; then \
152 echo Creating $(STATEDIR)...; \
153 $(INSTALL_DIR) -m 755 $(STATEDIR); \
154 fi
155 echo Creating $(STATEDIR)/certs...
156 $(INSTALL_DIR) -m 511 -o $(CUPS_USER) -g $(CUPS_PRIMARY_SYSTEM_GROUP) \
157 $(STATEDIR)/certs
158 echo Creating $(LOGDIR)...
159 $(INSTALL_DIR) -m 755 $(LOGDIR)
160 echo Creating $(REQUESTS)...
161 $(INSTALL_DIR) -m 710 -g $(CUPS_GROUP) $(REQUESTS)
162 echo Creating $(REQUESTS)/tmp...
163 $(INSTALL_DIR) -m 1770 -g $(CUPS_GROUP) $(REQUESTS)/tmp
164 echo Creating $(CACHEDIR)...
165 $(INSTALL_DIR) -m 770 -g $(CUPS_GROUP) $(CACHEDIR)
166 if test "x$(INITDIR)" != x; then \
167 echo Installing init scripts...; \
168 $(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/init.d; \
169 $(INSTALL_SCRIPT) cups.sh $(BUILDROOT)$(INITDIR)/init.d/cups; \
170 for level in $(RCLEVELS); do \
171 $(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/rc$${level}.d; \
172 $(LN) ../init.d/cups $(BUILDROOT)$(INITDIR)/rc$${level}.d/S$(RCSTART)cups; \
173 $(LN) ../init.d/cups $(BUILDROOT)$(INITDIR)/rc$${level}.d/K$(RCSTOP)cups; \
174 done; \
175 $(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/rc0.d; \
176 $(LN) ../init.d/cups $(BUILDROOT)$(INITDIR)/rc0.d/K$(RCSTOP)cups; \
177 fi
178 if test "x$(INITDDIR)" != x; then \
179 echo Installing init script...; \
180 $(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDDIR); \
181 $(INSTALL_SCRIPT) cups.sh $(BUILDROOT)$(INITDDIR); \
182 fi
183 if test "x$(LAUNCHD_DIR)" != x; then \
184 echo Installing launchd configuration files...; \
185 $(INSTALL_DIR) $(BUILDROOT)$(LAUNCHD_DIR); \
186 $(INSTALL_DATA) org.cups.cupsd.plist $(BUILDROOT)$(LAUNCHD_DIR); \
187 $(INSTALL_DATA) org.cups.cups-lpd.plist $(BUILDROOT)$(LAUNCHD_DIR); \
188 fi
189 if test "x$(SMFMANIFESTDIR)" != x; then \
190 echo Installing SMF manifest in $(SMFMANIFESTDIR)...;\
191 $(INSTALL_DIR) $(BUILDROOT)/$(SMFMANIFESTDIR); \
192 $(INSTALL_SCRIPT) cups.xml $(BUILDROOT)$(SMFMANIFESTDIR)/cups.xml; \
193 fi
194 if test "x$(SYSTEMD_DIR)" != x; then \
195 echo Installing systemd configuration files...; \
196 $(INSTALL_DIR) $(BUILDROOT)$(SYSTEMD_DIR); \
197 $(INSTALL_DATA) org.cups.cupsd.path $(BUILDROOT)$(SYSTEMD_DIR); \
198 $(INSTALL_DATA) org.cups.cupsd.service $(BUILDROOT)$(SYSTEMD_DIR); \
199 $(INSTALL_DATA) org.cups.cupsd.socket $(BUILDROOT)$(SYSTEMD_DIR); \
200 $(INSTALL_DATA) org.cups.cups-lpdAT.service $(BUILDROOT)$(SYSTEMD_DIR)/org.cups.cups-lpd@.service; \
201 $(INSTALL_DATA) org.cups.cups-lpd.socket $(BUILDROOT)$(SYSTEMD_DIR); \
202 elif test "x$(XINETD)" != x; then \
203 echo Installing xinetd configuration file for cups-lpd...; \
204 $(INSTALL_DIR) -m 755 $(BUILDROOT)$(XINETD); \
205 $(INSTALL_DATA) cups-lpd.xinetd $(BUILDROOT)$(XINETD)/cups-lpd; \
206 fi
207
208
209 #
210 # Install programs...
211 #
212
213 install-exec:
214 echo Installing programs in $(SBINDIR)...
215 $(INSTALL_DIR) -m 755 $(SBINDIR)
216 $(INSTALL_BIN) -m $(CUPS_CUPSD_FILE_PERM) cupsd $(SBINDIR)
217 $(INSTALL_BIN) cupsfilter $(SBINDIR)
218 echo Installing programs in $(SERVERBIN)/daemon...
219 $(INSTALL_DIR) -m 755 $(SERVERBIN)
220 $(INSTALL_DIR) -m 755 $(SERVERBIN)/daemon
221 $(INSTALL_BIN) cups-deviced $(SERVERBIN)/daemon
222 $(INSTALL_BIN) cups-driverd $(SERVERBIN)/daemon
223 $(INSTALL_BIN) cups-exec $(SERVERBIN)/daemon
224 $(INSTALL_BIN) cups-lpd $(SERVERBIN)/daemon
225 if test "x$(SYMROOT)" != "x"; then \
226 $(INSTALL_DIR) $(SYMROOT); \
227 for file in $(PROGRAMS); do \
228 cp $$file $(SYMROOT); \
229 dsymutil $(SYMROOT)/$$file; \
230 done \
231 fi
232
233
234 #
235 # Install headers...
236 #
237
238 install-headers:
239
240
241 #
242 # Install libraries...
243 #
244
245 install-libs:
246
247
248 #
249 # Uninstall the scheduler...
250 #
251
252 uninstall:
253 $(RM) $(SBINDIR)/cupsd
254 $(RM) $(SBINDIR)/cupsfilter
255 $(RM) $(SERVERBIN)/daemon/cups-deviced
256 $(RM) $(SERVERBIN)/daemon/cups-driverd
257 $(RM) $(SERVERBIN)/daemon/cups-exec
258 $(RM) $(SERVERBIN)/daemon/cups-lpd
259 -$(RMDIR) $(STATEDIR)/certs
260 -$(RMDIR) $(STATEDIR)
261 -$(RMDIR) $(SERVERROOT)/ppd
262 -$(RMDIR) $(SERVERROOT)/interfaces
263 -$(RMDIR) $(SERVERROOT)
264 -$(RMDIR) $(SERVERBIN)/driver
265 -$(RMDIR) $(SERVERBIN)/daemon
266 -$(RMDIR) $(SERVERBIN)
267 -$(RMDIR) $(SBINDIR)
268 -$(RMDIR) $(REQUESTS)/tmp
269 -$(RMDIR) $(REQUESTS)
270 -$(RMDIR) $(LOGDIR)
271 -$(RMDIR) $(CACHEDIR)
272 if test "x$(INITDIR)" != x; then \
273 echo Uninstalling init scripts...; \
274 $(RM) $(BUILDROOT)$(INITDIR)/init.d/cups; \
275 $(RMDIR) $(BUILDROOT)$(INITDIR)/init.d; \
276 $(RM) $(BUILDROOT)$(INITDIR)/rc0.d/K00cups; \
277 $(RMDIR) $(BUILDROOT)$(INITDIR)/rc0.d; \
278 $(RM) $(BUILDROOT)$(INITDIR)/rc2.d/S99cups; \
279 $(RMDIR) $(BUILDROOT)$(INITDIR)/rc2.d; \
280 $(RM) $(BUILDROOT)$(INITDIR)/rc3.d/S99cups; \
281 $(RMDIR) $(BUILDROOT)$(INITDIR)/rc3.d; \
282 $(RM) $(BUILDROOT)$(INITDIR)/rc5.d/S99cups; \
283 $(RMDIR) $(BUILDROOT)$(INITDIR)/rc5.d; \
284 fi
285 if test "x$(INITDDIR)" != x; then \
286 echo Uninstalling startup script...; \
287 $(RM) $(BUILDROOT)$(INITDDIR)/cups.sh; \
288 $(RMDIR) $(BUILDROOT)$(INITDDIR); \
289 fi
290 if test "x$LAUNCHD_DIR" != x; then \
291 echo Uninstalling launchd files...; \
292 $(RM) $(BUILDROOT)$(LAUNCHD_DIR)/org.cups.cupsd.plist; \
293 $(RM) $(BUILDROOT)$(LAUNCHD_DIR)/org.cups.cups-lpd.plist; \
294 fi
295 if test "x$SYSTEMD_DIR" != x; then \
296 echo Uninstalling systemd files...; \
297 $(RM) $(BUILDROOT)$(SYSTEMD_DIR)/org.cups.cupsd.path; \
298 $(RM) $(BUILDROOT)$(SYSTEMD_DIR)/org.cups.cupsd.service; \
299 $(RM) $(BUILDROOT)$(SYSTEMD_DIR)/org.cups.cupsd.socket; \
300 fi
301 if test "x$(SMFMANIFESTDIR)" != x; then \
302 echo Uninstalling SMF manifest file...;\
303 $(RM) $(BUILDROOT)$(SMFMANIFESTDIR)/cups.xml; \
304 fi
305 if test "x$(XINETD)" != x; then \
306 echo Uninstalling xinetd configuration file for cups-lpd...; \
307 $(RM) $(BUILDROOT)$(XINETD)/cups-lpd; \
308 fi
309
310
311 #
312 # Make the scheduler executable, "cupsd".
313 #
314
315 cupsd: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPS)
316 echo Linking $@...
317 $(LD_CC) $(ALL_LDFLAGS) -o cupsd $(CUPSDOBJS) libcupsmime.a \
318 $(PAMLIBS) $(LIBPAPER) $(LIBMALLOC) $(DNSSDLIBS) $(SERVERLIBS) \
319 $(ONDEMANDLIBS) $(LIBWRAP) $(LIBGSSAPI) $(COMMONLIBS) $(LINKCUPS)
320 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
321
322 cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC)
323 echo Linking $@...
324 $(LD_CC) $(ALL_LDFLAGS) -o cupsd-static $(CUPSDOBJS) libcupsmime.a \
325 $(PAMLIBS) $(LIBPAPER) $(LIBMALLOC) $(SERVERLIBS) $(ONDEMANDLIBS) \ $(LIBWRAP) $(LINKCUPSSTATIC)
326 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
327
328
329 #
330 # Make the cupsfilter utility.
331 #
332
333 cupsfilter: cupsfilter.o libcupsmime.a ../cups/$(LIBCUPS)
334 echo Linking $@...
335 $(LD_CC) $(ALL_LDFLAGS) -o cupsfilter cupsfilter.o libcupsmime.a $(LINKCUPS)
336 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
337 $(RM) convert
338 $(LN) cupsfilter convert
339
340 cupsfilter-static: cupsfilter.o libcupsmime.a ../cups/$(LIBCUPSSTATIC)
341 echo Linking $@...
342 $(LD_CC) $(ALL_LDFLAGS) -o cupsfilter-static cupsfilter.o libcupsmime.a \
343 $(LINKCUPSSTATIC)
344 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
345
346
347 #
348 # Make the device daemon, "cups-deviced".
349 #
350
351 cups-deviced: cups-deviced.o util.o ../cups/$(LIBCUPS)
352 echo Linking $@...
353 $(LD_CC) $(ALL_LDFLAGS) -o cups-deviced cups-deviced.o util.o $(LINKCUPS)
354 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
355
356
357 #
358 # Make the driver daemon, "cups-driverd".
359 #
360
361 cups-driverd: cups-driverd.o util.o ../cups/$(LIBCUPS) ../ppdc/libcupsppdc.a
362 echo Linking $@...
363 $(LD_CXX) $(ALL_LDFLAGS) -o cups-driverd cups-driverd.o util.o \
364 ../ppdc/libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
365 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
366
367
368 #
369 # Make the sandbox execution helper, "cups-exec".
370 #
371
372 cups-exec: cups-exec.o
373 echo Linking $@...
374 $(LD_CC) $(ALL_LDFLAGS) -o cups-exec cups-exec.o $(LINKCUPS)
375 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
376
377
378 #
379 # Make the line printer daemon, "cups-lpd".
380 #
381
382 cups-lpd: cups-lpd.o ../cups/$(LIBCUPS)
383 echo Linking $@...
384 $(LD_CC) $(ALL_LDFLAGS) -o cups-lpd cups-lpd.o $(LINKCUPS)
385 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
386
387
388 #
389 # libcupsmime.a
390 #
391
392 libcupsmime.a: $(LIBOBJS)
393 echo Archiving $@...
394 $(RM) $@
395 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
396 $(RANLIB) $@
397
398
399 #
400 # Make the test program, "testlpd".
401 #
402
403 testlpd: testlpd.o ../cups/$(LIBCUPSSTATIC) cups-lpd
404 echo Linking $@...
405 $(LD_CC) $(ALL_LDFLAGS) -o testlpd testlpd.o $(LINKCUPSSTATIC)
406
407
408 #
409 # testmime
410 #
411
412 testmime: testmime.o libcupsmime.a ../cups/$(LIBCUPSSTATIC)
413 echo Linking $@...
414 $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testmime.o libcupsmime.a \
415 $(LINKCUPSSTATIC)
416 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
417 echo Running MIME tests...
418 ./testmime
419
420
421 #
422 # Make the test program, "testspeed".
423 #
424
425 testspeed: testspeed.o ../cups/$(LIBCUPSSTATIC)
426 echo Linking $@...
427 $(LD_CC) $(ALL_LDFLAGS) -o testspeed testspeed.o $(LINKCUPSSTATIC)
428 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
429
430
431 #
432 # Make the test program, "testsub".
433 #
434
435 testsub: testsub.o ../cups/$(LIBCUPSSTATIC)
436 echo Linking $@...
437 $(LD_CC) $(ALL_LDFLAGS) -o testsub testsub.o $(LINKCUPSSTATIC)
438 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
439
440
441 #
442 # Lines of code computation...
443 #
444
445 sloc:
446 echo "cupsd: \c"
447 sloccount $(CUPSDOBJS:.o=.c) $(LIBOBJS:.o=.c) cups-driverd.cxx cups-lpd.c 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
448
449
450 #
451 # Dependencies...
452 #
453
454 include Dependencies