]> git.ipfire.org Git - thirdparty/cups.git/blame - scheduler/Makefile
Stop advertising the HTTP methods that are supported (Issue #5540)
[thirdparty/cups.git] / scheduler / Makefile
CommitLineData
ef416fc2 1#
5a1d7a17 2# Scheduler Makefile for CUPS.
ef416fc2 3#
c2532688
MS
4# Copyright © 2007-2018 by Apple Inc.
5# Copyright © 1997-2007 by Easy Software Products, all rights reserved.
ef416fc2 6#
c2532688
MS
7# Licensed under Apache License v2.0. See the file "LICENSE" for more
8# information.
ef416fc2 9#
10
11include ../Makedefs
12
13CUPSDOBJS = \
14 auth.o \
15 banners.o \
16 cert.o \
17 classes.o \
18 client.o \
a29fd7dd 19 colorman.o \
ef416fc2 20 conf.o \
21 dirsvc.o \
22 env.o \
321d8d57 23 file.o \
ef416fc2 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 \
f7deaa1a 34 select.o \
ef416fc2 35 server.o \
36 statbuf.o \
09ec0018 37 subscriptions.o \
d3d89474 38 sysman.o
50fe7201 39LIBOBJS = \
ef416fc2 40 filter.o \
41 mime.o \
42 type.o
4509bb49 43COBJS = \
b94f7488 44 $(CUPSDOBJS) \
50fe7201 45 $(LIBOBJS) \
bc44d920 46 cupsfilter.o \
ef416fc2 47 cups-deviced.o \
0268488e 48 cups-exec.o \
ef416fc2 49 cups-lpd.o \
d09495fa 50 testlpd.o \
ef416fc2 51 testmime.o \
52 testspeed.o \
07725fee 53 testsub.o \
ef416fc2 54 util.o
4509bb49
MS
55CXXOBJS = \
56 cups-driverd.o
57OBJS = \
b94f7488 58 $(COBJS) \
c2532688 59 $(CXXOBJS)
c9fc04c6 60LIBTARGETS = \
9a4f8274
MS
61 libcupsmime.a
62
63UNITTARGETS = \
9a4f8274
MS
64 testlpd \
65 testmime \
66 testspeed \
67 testsub
c9fc04c6 68
0268488e 69PROGRAMS = \
ef416fc2 70 cupsd \
bc44d920 71 cupsfilter \
ef416fc2 72 cups-deviced \
73 cups-driverd \
0268488e 74 cups-exec \
a2326b5b 75 cups-lpd
f8b3a85b
MS
76
77TARGETS = \
78 $(LIBTARGETS) \
0268488e 79 $(PROGRAMS)
ef416fc2 80
81
82#
83# Make everything...
84#
85
86all: $(TARGETS)
87
88
c9fc04c6
MS
89#
90# Make library targets...
91#
92
78312b3c 93libs:
c9fc04c6
MS
94
95
5f64df29
MS
96#
97# Make unit tests...
98#
99
9a4f8274 100unittests: $(UNITTARGETS)
5f64df29
MS
101
102
ef416fc2 103#
104# Clean all object files...
105#
106
107clean:
108 $(RM) $(OBJS)
9a4f8274 109 $(RM) $(TARGETS) $(UNITTARGETS) convert
ef416fc2 110
111
112#
113# Update dependencies (without system header dependencies...)
114#
115
116depend:
b94f7488 117 $(CC) -MM $(ALL_CFLAGS) $(COBJS:.o=.c) >Dependencies
123979a9 118 $(CXX) -MM $(ALL_CXXFLAGS) $(CXXOBJS:.o=.cxx) >>Dependencies
ef416fc2 119
120
6961465f
MS
121#
122# Run oclint to check code coverage...
123#
124
125oclint:
b94f7488 126 oclint -o=oclint.html -html $(CUPSDOBJS:.o=.c) $(LIBOBJS:.o=.c) -- $(ALL_CFLAGS)
6961465f
MS
127
128
ef416fc2 129#
50fe7201 130# Install all targets...
ef416fc2 131#
132
50fe7201
MS
133install: all install-data install-headers install-libs install-exec
134
135
136#
137# Install data files...
138#
139
140install-data:
ef416fc2 141 echo Creating $(SERVERBIN)/driver...
923edb68 142 $(INSTALL_DIR) -m 755 $(SERVERBIN)/driver
ef416fc2 143 echo Creating $(SERVERROOT)...
b94f7488 144 $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)
ef416fc2 145 echo Creating $(SERVERROOT)/ppd...
b94f7488 146 $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/ppd
e07d4801 147 if test "x`uname`" != xDarwin; then \
bc44d920 148 echo Creating $(SERVERROOT)/ssl...; \
b94f7488 149 $(INSTALL_DIR) -m 700 -g $(CUPS_GROUP) $(SERVERROOT)/ssl; \
e07d4801
MS
150 fi
151 if test "$(STATEDIR)" != "$(SERVERROOT)"; then \
09a101d6 152 echo Creating $(STATEDIR)...; \
153 $(INSTALL_DIR) -m 755 $(STATEDIR); \
09a101d6 154 fi
e07d4801 155 echo Creating $(STATEDIR)/certs...
b94f7488 156 $(INSTALL_DIR) -m 511 -o $(CUPS_USER) -g $(CUPS_PRIMARY_SYSTEM_GROUP) \
f11a948a 157 $(STATEDIR)/certs
ef416fc2 158 echo Creating $(LOGDIR)...
923edb68 159 $(INSTALL_DIR) -m 755 $(LOGDIR)
ef416fc2 160 echo Creating $(REQUESTS)...
b94f7488 161 $(INSTALL_DIR) -m 710 -g $(CUPS_GROUP) $(REQUESTS)
923edb68 162 echo Creating $(REQUESTS)/tmp...
b94f7488
MS
163 $(INSTALL_DIR) -m 1770 -g $(CUPS_GROUP) $(REQUESTS)/tmp
164 echo Creating $(CACHEDIR)...
165 $(INSTALL_DIR) -m 770 -g $(CUPS_GROUP) $(CACHEDIR)
4d301e69
MS
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; \
4d301e69
MS
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
f2b8078b
MS
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 \
db6ac615 184 echo Installing launchd configuration files...; \
f2b8078b 185 $(INSTALL_DIR) $(BUILDROOT)$(LAUNCHD_DIR); \
db6ac615
MS
186 $(INSTALL_DATA) org.cups.cupsd.plist $(BUILDROOT)$(LAUNCHD_DIR); \
187 $(INSTALL_DATA) org.cups.cups-lpd.plist $(BUILDROOT)$(LAUNCHD_DIR); \
4d301e69
MS
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
f2b8078b 194 if test "x$(SYSTEMD_DIR)" != x; then \
db6ac615 195 echo Installing systemd configuration files...; \
f2b8078b 196 $(INSTALL_DIR) $(BUILDROOT)$(SYSTEMD_DIR); \
db6ac615
MS
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); \
451d5797
MS
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 \
4d301e69
MS
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
50fe7201
MS
207
208
209#
210# Install programs...
211#
212
213install-exec:
214 echo Installing programs in $(SBINDIR)...
215 $(INSTALL_DIR) -m 755 $(SBINDIR)
b94f7488 216 $(INSTALL_BIN) -m $(CUPS_CUPSD_FILE_PERM) cupsd $(SBINDIR)
50fe7201 217 $(INSTALL_BIN) cupsfilter $(SBINDIR)
50fe7201
MS
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
0268488e 223 $(INSTALL_BIN) cups-exec $(SERVERBIN)/daemon
50fe7201 224 $(INSTALL_BIN) cups-lpd $(SERVERBIN)/daemon
09a101d6 225 if test "x$(SYMROOT)" != "x"; then \
226 $(INSTALL_DIR) $(SYMROOT); \
84315f46 227 for file in $(PROGRAMS); do \
09a101d6 228 cp $$file $(SYMROOT); \
cb7f98ee 229 dsymutil $(SYMROOT)/$$file; \
09a101d6 230 done \
231 fi
ef416fc2 232
233
50fe7201
MS
234#
235# Install headers...
236#
237
238install-headers:
50fe7201
MS
239
240
241#
242# Install libraries...
243#
244
78312b3c 245install-libs:
50fe7201 246
50fe7201 247
757d2cad 248#
249# Uninstall the scheduler...
250#
251
e6013cfa 252uninstall:
757d2cad 253 $(RM) $(SBINDIR)/cupsd
cc0d019f 254 $(RM) $(SBINDIR)/cupsfilter
757d2cad 255 $(RM) $(SERVERBIN)/daemon/cups-deviced
256 $(RM) $(SERVERBIN)/daemon/cups-driverd
0268488e 257 $(RM) $(SERVERBIN)/daemon/cups-exec
757d2cad 258 $(RM) $(SERVERBIN)/daemon/cups-lpd
757d2cad 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)
b94f7488 271 -$(RMDIR) $(CACHEDIR)
4d301e69 272 if test "x$(INITDIR)" != x; then \
1720786e 273 echo Uninstalling init scripts...; \
4d301e69
MS
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
1720786e
MS
285 if test "x$(INITDDIR)" != x; then \
286 echo Uninstalling startup script...; \
287 $(RM) $(BUILDROOT)$(INITDDIR)/cups.sh; \
4d301e69
MS
288 $(RMDIR) $(BUILDROOT)$(INITDDIR); \
289 fi
db6ac615
MS
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; \
1720786e 294 fi
db6ac615
MS
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; \
1720786e 300 fi
4d301e69 301 if test "x$(SMFMANIFESTDIR)" != x; then \
1720786e 302 echo Uninstalling SMF manifest file...;\
4d301e69
MS
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
50fe7201 309
50fe7201 310
ef416fc2 311#
312# Make the scheduler executable, "cupsd".
313#
314
14435106 315cupsd: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPS)
ef416fc2 316 echo Linking $@...
14435106 317 $(LD_CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) libcupsmime.a \
b423cd4c 318 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
1720786e
MS
319 $(LIBPAPER) $(LIBMALLOC) $(SERVERLIBS) $(ONDEMANDLIBS) \
320 $(DNSSDLIBS) $(LIBS) $(LIBGSSAPI) $(LIBWRAP)
00dbe99f 321 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 322
b94f7488 323cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC)
ef416fc2 324 echo Linking $@...
b94f7488 325 $(LD_CC) $(LDFLAGS) -o cupsd-static $(CUPSDOBJS) libcupsmime.a \
b423cd4c 326 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
b94f7488 327 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
1720786e
MS
328 $(LIBMALLOC) $(SERVERLIBS) $(ONDEMANDLIBS) $(DNSSDLIBS) \
329 $(LIBGSSAPI) $(LIBWRAP)
00dbe99f 330 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 331
332
bc44d920 333#
334# Make the cupsfilter utility.
335#
336
14435106 337cupsfilter: cupsfilter.o libcupsmime.a ../cups/$(LIBCUPS)
bc44d920 338 echo Linking $@...
14435106 339 $(LD_CC) $(LDFLAGS) -o cupsfilter cupsfilter.o libcupsmime.a $(LIBS)
00dbe99f 340 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
cc0d019f
MS
341 $(RM) convert
342 $(LN) cupsfilter convert
bc44d920 343
fb458c34
MS
344cupsfilter-static: cupsfilter.o libcupsmime.a ../cups/$(LIBCUPSSTATIC)
345 echo Linking $@...
a621d151 346 $(LD_CC) $(LDFLAGS) -o cupsfilter-static cupsfilter.o libcupsmime.a \
b94f7488 347 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(LIBZ) $(SSLLIBS) \
fb458c34 348 $(DNSSDLIBS) $(LIBGSSAPI)
00dbe99f 349 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
fb458c34 350
bc44d920 351
ef416fc2 352#
353# Make the device daemon, "cups-deviced".
354#
355
356cups-deviced: cups-deviced.o util.o ../cups/$(LIBCUPS)
357 echo Linking $@...
a621d151 358 $(LD_CC) $(LDFLAGS) -o cups-deviced cups-deviced.o util.o $(LIBS)
00dbe99f 359 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 360
361
362#
363# Make the driver daemon, "cups-driverd".
364#
365
14435106 366cups-driverd: cups-driverd.o util.o ../cups/$(LIBCUPS) ../ppdc/libcupsppdc.a
ef416fc2 367 echo Linking $@...
a621d151 368 $(LD_CXX) $(LDFLAGS) -o cups-driverd cups-driverd.o util.o \
14435106 369 ../ppdc/libcupsppdc.a $(LIBS)
00dbe99f 370 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 371
372
0268488e
MS
373#
374# Make the sandbox execution helper, "cups-exec".
375#
376
377cups-exec: cups-exec.o
378 echo Linking $@...
a621d151 379 $(LD_CC) $(LDFLAGS) -o cups-exec cups-exec.o $(LIBS)
00dbe99f 380 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
0268488e
MS
381
382
ef416fc2 383#
384# Make the line printer daemon, "cups-lpd".
385#
386
387cups-lpd: cups-lpd.o ../cups/$(LIBCUPS)
388 echo Linking $@...
a621d151 389 $(LD_CC) $(LDFLAGS) -o cups-lpd cups-lpd.o $(LIBS)
00dbe99f 390 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 391
392
50fe7201
MS
393#
394# libcupsmime.a
ef416fc2 395#
396
50fe7201 397libcupsmime.a: $(LIBOBJS)
ef416fc2 398 echo Archiving $@...
399 $(RM) $@
50fe7201 400 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
ef416fc2 401 $(RANLIB) $@
402
403
d09495fa 404#
405# Make the test program, "testlpd".
406#
407
f8b3a85b 408testlpd: testlpd.o ../cups/$(LIBCUPSSTATIC) cups-lpd
d09495fa 409 echo Linking $@...
a621d151 410 $(LD_CC) $(LDFLAGS) -o testlpd testlpd.o ../cups/$(LIBCUPSSTATIC) \
b94f7488 411 $(COMMONLIBS) $(LIBZ) $(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
d09495fa 412
413
ef416fc2 414#
415# testmime
416#
417
f8b3a85b 418testmime: testmime.o libcupsmime.a ../cups/$(LIBCUPSSTATIC)
ef416fc2 419 echo Linking $@...
a621d151 420 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testmime.o libcupsmime.a \
b94f7488 421 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(LIBZ) $(SSLLIBS) \
c168a833 422 $(DNSSDLIBS) $(LIBGSSAPI)
00dbe99f 423 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
c9fc04c6
MS
424 echo Running MIME tests...
425 ./testmime
ef416fc2 426
427
428#
429# Make the test program, "testspeed".
430#
431
f8b3a85b 432testspeed: testspeed.o ../cups/$(LIBCUPSSTATIC)
ef416fc2 433 echo Linking $@...
a621d151 434 $(LD_CC) $(LDFLAGS) -o testspeed testspeed.o ../cups/$(LIBCUPSSTATIC) \
b94f7488 435 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
00dbe99f 436 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 437
438
07725fee 439#
440# Make the test program, "testsub".
441#
442
f8b3a85b 443testsub: testsub.o ../cups/$(LIBCUPSSTATIC)
07725fee 444 echo Linking $@...
a621d151 445 $(LD_CC) $(LDFLAGS) -o testsub testsub.o ../cups/$(LIBCUPSSTATIC) \
b94f7488 446 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
00dbe99f 447 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
07725fee 448
449
84315f46
MS
450#
451# Lines of code computation...
452#
453
454sloc:
455 echo "cupsd: \c"
b94f7488 456 sloccount $(CUPSDOBJS:.o=.c) $(LIBOBJS:.o=.c) cups-driverd.cxx cups-lpd.c 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
84315f46
MS
457
458
ef416fc2 459#
460# Dependencies...
461#
321d8d57 462
ef416fc2 463include Dependencies