]> git.ipfire.org Git - thirdparty/cups.git/blame - scheduler/Makefile
Update version to 2.3.3 for:
[thirdparty/cups.git] / scheduler / Makefile
CommitLineData
ef416fc2 1#
5a1d7a17 2# Scheduler Makefile for CUPS.
ef416fc2 3#
21609267 4# Copyright © 2007-2019 by Apple Inc.
c2532688 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 $@...
21609267 317 $(LD_CC) $(ALL_LDFLAGS) -o cupsd $(CUPSDOBJS) libcupsmime.a \
7c11d5ae 318 $(PAMLIBS) $(LIBPAPER) $(LIBMALLOC) $(DNSSDLIBS) $(SERVERLIBS) \
3e391a8e 319 $(ONDEMANDLIBS) $(LIBWRAP) $(LIBGSSAPI) $(COMMONLIBS) $(LINKCUPS)
00dbe99f 320 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 321
b94f7488 322cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC)
ef416fc2 323 echo Linking $@...
21609267 324 $(LD_CC) $(ALL_LDFLAGS) -o cupsd-static $(CUPSDOBJS) libcupsmime.a \
3e391a8e 325 $(PAMLIBS) $(LIBPAPER) $(LIBMALLOC) $(SERVERLIBS) $(ONDEMANDLIBS) \ $(LIBWRAP) $(LINKCUPSSTATIC)
00dbe99f 326 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 327
328
bc44d920 329#
330# Make the cupsfilter utility.
331#
332
14435106 333cupsfilter: cupsfilter.o libcupsmime.a ../cups/$(LIBCUPS)
bc44d920 334 echo Linking $@...
3e391a8e 335 $(LD_CC) $(ALL_LDFLAGS) -o cupsfilter cupsfilter.o libcupsmime.a $(LINKCUPS)
00dbe99f 336 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
cc0d019f
MS
337 $(RM) convert
338 $(LN) cupsfilter convert
bc44d920 339
fb458c34
MS
340cupsfilter-static: cupsfilter.o libcupsmime.a ../cups/$(LIBCUPSSTATIC)
341 echo Linking $@...
21609267 342 $(LD_CC) $(ALL_LDFLAGS) -o cupsfilter-static cupsfilter.o libcupsmime.a \
3e391a8e 343 $(LINKCUPSSTATIC)
00dbe99f 344 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
fb458c34 345
bc44d920 346
ef416fc2 347#
348# Make the device daemon, "cups-deviced".
349#
350
351cups-deviced: cups-deviced.o util.o ../cups/$(LIBCUPS)
352 echo Linking $@...
3e391a8e 353 $(LD_CC) $(ALL_LDFLAGS) -o cups-deviced cups-deviced.o util.o $(LINKCUPS)
00dbe99f 354 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 355
356
357#
358# Make the driver daemon, "cups-driverd".
359#
360
14435106 361cups-driverd: cups-driverd.o util.o ../cups/$(LIBCUPS) ../ppdc/libcupsppdc.a
ef416fc2 362 echo Linking $@...
21609267 363 $(LD_CXX) $(ALL_LDFLAGS) -o cups-driverd cups-driverd.o util.o \
3e391a8e 364 ../ppdc/libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
00dbe99f 365 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 366
367
0268488e
MS
368#
369# Make the sandbox execution helper, "cups-exec".
370#
371
372cups-exec: cups-exec.o
373 echo Linking $@...
3e391a8e 374 $(LD_CC) $(ALL_LDFLAGS) -o cups-exec cups-exec.o $(LINKCUPS)
00dbe99f 375 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
0268488e
MS
376
377
ef416fc2 378#
379# Make the line printer daemon, "cups-lpd".
380#
381
382cups-lpd: cups-lpd.o ../cups/$(LIBCUPS)
383 echo Linking $@...
3e391a8e 384 $(LD_CC) $(ALL_LDFLAGS) -o cups-lpd cups-lpd.o $(LINKCUPS)
00dbe99f 385 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 386
387
50fe7201
MS
388#
389# libcupsmime.a
ef416fc2 390#
391
50fe7201 392libcupsmime.a: $(LIBOBJS)
ef416fc2 393 echo Archiving $@...
394 $(RM) $@
50fe7201 395 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
ef416fc2 396 $(RANLIB) $@
397
398
d09495fa 399#
400# Make the test program, "testlpd".
401#
402
f8b3a85b 403testlpd: testlpd.o ../cups/$(LIBCUPSSTATIC) cups-lpd
d09495fa 404 echo Linking $@...
3e391a8e 405 $(LD_CC) $(ALL_LDFLAGS) -o testlpd testlpd.o $(LINKCUPSSTATIC)
d09495fa 406
407
ef416fc2 408#
409# testmime
410#
411
f8b3a85b 412testmime: testmime.o libcupsmime.a ../cups/$(LIBCUPSSTATIC)
ef416fc2 413 echo Linking $@...
21609267 414 $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ testmime.o libcupsmime.a \
3e391a8e 415 $(LINKCUPSSTATIC)
00dbe99f 416 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
c9fc04c6
MS
417 echo Running MIME tests...
418 ./testmime
ef416fc2 419
420
421#
422# Make the test program, "testspeed".
423#
424
f8b3a85b 425testspeed: testspeed.o ../cups/$(LIBCUPSSTATIC)
ef416fc2 426 echo Linking $@...
3e391a8e 427 $(LD_CC) $(ALL_LDFLAGS) -o testspeed testspeed.o $(LINKCUPSSTATIC)
00dbe99f 428 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
ef416fc2 429
430
07725fee 431#
432# Make the test program, "testsub".
433#
434
f8b3a85b 435testsub: testsub.o ../cups/$(LIBCUPSSTATIC)
07725fee 436 echo Linking $@...
3e391a8e 437 $(LD_CC) $(ALL_LDFLAGS) -o testsub testsub.o $(LINKCUPSSTATIC)
00dbe99f 438 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
07725fee 439
440
84315f46
MS
441#
442# Lines of code computation...
443#
444
445sloc:
446 echo "cupsd: \c"
b94f7488 447 sloccount $(CUPSDOBJS:.o=.c) $(LIBOBJS:.o=.c) cups-driverd.cxx cups-lpd.c 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
84315f46
MS
448
449
ef416fc2 450#
451# Dependencies...
452#
321d8d57 453
ef416fc2 454include Dependencies