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