]> git.ipfire.org Git - thirdparty/cups.git/blame - scheduler/Makefile
<rdar://problem/5792631> dependency cycle in cups-144 / PrintingCore-250 / Applicatio...
[thirdparty/cups.git] / scheduler / Makefile
CommitLineData
ef416fc2 1#
2e4ff8af 2# "$Id: Makefile 6801 2007-08-16 18:42:49Z mike $"
ef416fc2 3#
4# Scheduler Makefile for the Common UNIX Printing System (CUPS).
5#
50fe7201 6# Copyright 2007-2008 by Apple Inc.
f7deaa1a 7# Copyright 1997-2007 by Easy Software Products, all rights reserved.
ef416fc2 8#
9# These coded instructions, statements, and computer programs are the
bc44d920 10# property of Apple Inc. and are protected by Federal copyright
11# law. Distribution and use rights are outlined in the file "LICENSE.txt"
12# which should have been included with this file. If this file is
13# file is missing or damaged, see the license at "http://www.cups.org/".
ef416fc2 14#
15
16include ../Makedefs
17
18CUPSDOBJS = \
19 auth.o \
20 banners.o \
21 cert.o \
22 classes.o \
23 client.o \
24 conf.o \
25 dirsvc.o \
26 env.o \
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 \
cc0d019f 37 removefile.o \
f7deaa1a 38 select.o \
ef416fc2 39 server.o \
40 statbuf.o \
09ec0018 41 subscriptions.o \
42 sysman.o
50fe7201 43LIBOBJS = \
ef416fc2 44 filter.o \
45 mime.o \
46 type.o
50fe7201
MS
47LIB32OBJS = $(LIBOBJS:.o=.32.o)
48LIB64OBJS = $(LIBOBJS:.o=.64.o)
ef416fc2 49OBJS = \
50 $(CUPSDOBJS) \
50fe7201
MS
51 $(LIBOBJS) \
52 $(LIB32OBJS) \
53 $(LIB64OBJS) \
bc44d920 54 cupsfilter.o \
ef416fc2 55 cups-deviced.o \
56 cups-driverd.o \
57 cups-lpd.o \
58 cups-polld.o \
59 testdirsvc.o \
d09495fa 60 testlpd.o \
ef416fc2 61 testmime.o \
62 testspeed.o \
07725fee 63 testsub.o \
ef416fc2 64 util.o
65TARGETS = \
66 cupsd \
bc44d920 67 cupsfilter \
ef416fc2 68 cups-deviced \
69 cups-driverd \
70 cups-lpd \
71 cups-polld \
50fe7201
MS
72 $(LIBCUPSMIME) \
73 $(LIB32CUPSMIME) \
74 $(LIB64CUPSMIME) \
75 libcupsmime.a \
ef416fc2 76 testdirsvc \
d09495fa 77 testlpd \
ef416fc2 78 testmime \
07725fee 79 testspeed \
80 testsub
ef416fc2 81
82
83#
84# Make everything...
85#
86
87all: $(TARGETS)
88
89
90#
91# Clean all object files...
92#
93
94clean:
95 $(RM) $(OBJS)
cc0d019f 96 $(RM) $(TARGETS) convert
50fe7201
MS
97 $(RM) libcupsmime.so libcupsmime.sl libcupsmime.dylib
98 $(RM) -r 32bit 64bit
ef416fc2 99
100
101#
102# Update dependencies (without system header dependencies...)
103#
104
105depend:
50fe7201
MS
106 touch Dependencies.tmp
107 makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1
108 $(RM) Dependencies
109 cp Dependencies.tmp Dependencies
110 sed -E -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies
111 sed -E -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies
112 $(RM) Dependencies.tmp
ef416fc2 113
114
115#
50fe7201 116# Install all targets...
ef416fc2 117#
118
50fe7201
MS
119install: all install-data install-headers install-libs install-exec
120
121
122#
123# Install data files...
124#
125
126install-data:
ef416fc2 127 echo Creating $(SERVERBIN)/driver...
923edb68 128 $(INSTALL_DIR) -m 755 $(SERVERBIN)/driver
ef416fc2 129 echo Creating $(SERVERROOT)...
923edb68 130 $(INSTALL_DIR) -m 755 $(SERVERROOT)
bd7854cb 131 -chgrp $(CUPS_GROUP) $(SERVERROOT)
ef416fc2 132 echo Creating $(SERVERROOT)/interfaces...
bd7854cb 133 $(INSTALL_DIR) -m 755 $(SERVERROOT)/interfaces
134 -chgrp $(CUPS_GROUP) $(SERVERROOT)/interfaces
ef416fc2 135 echo Creating $(SERVERROOT)/ppd...
bd7854cb 136 $(INSTALL_DIR) -m 755 $(SERVERROOT)/ppd
137 -chgrp $(CUPS_GROUP) $(SERVERROOT)/ppd
50fe7201 138 -if test "x`uname`" != xDarwin; then \
bc44d920 139 echo Creating $(SERVERROOT)/ssl...; \
140 $(INSTALL_DIR) -m 700 $(SERVERROOT)/ssl; \
db1f069b 141 chgrp $(CUPS_GROUP) $(SERVERROOT)/ssl || true; \
09a101d6 142 echo Creating $(STATEDIR)...; \
143 $(INSTALL_DIR) -m 755 $(STATEDIR); \
144 echo Creating $(STATEDIR)/certs...; \
145 $(INSTALL_DIR) -m 511 $(STATEDIR)/certs; \
db1f069b 146 chgrp $(CUPS_PRIMARY_SYSTEM_GROUP) $(STATEDIR)/certs || true; \
09a101d6 147 fi
ef416fc2 148 echo Creating $(LOGDIR)...
923edb68 149 $(INSTALL_DIR) -m 755 $(LOGDIR)
ef416fc2 150 echo Creating $(REQUESTS)...
bd7854cb 151 $(INSTALL_DIR) -m 710 $(REQUESTS)
152 -chgrp $(CUPS_GROUP) $(REQUESTS)
923edb68 153 echo Creating $(REQUESTS)/tmp...
bd7854cb 154 $(INSTALL_DIR) -m 1770 $(REQUESTS)/tmp
155 -chgrp $(CUPS_GROUP) $(REQUESTS)/tmp
ef416fc2 156 echo Creating $(CACHEDIR)...
bd7854cb 157 $(INSTALL_DIR) -m 775 $(CACHEDIR)
158 -chgrp $(CUPS_GROUP) $(CACHEDIR)
923edb68 159# echo Creating $(CACHEDIR)/ppd...
160# $(INSTALL_DIR) -m 755 $(CACHEDIR)/ppd
bd7854cb 161# -chgrp $(CUPS_GROUP) $(CACHEDIR)/ppd
50fe7201
MS
162
163
164#
165# Install programs...
166#
167
168install-exec:
169 echo Installing programs in $(SBINDIR)...
170 $(INSTALL_DIR) -m 755 $(SBINDIR)
171 $(INSTALL_BIN) cupsd $(SBINDIR)
172 $(INSTALL_BIN) cupsfilter $(SBINDIR)
173 -if test "x`uname`" = xDarwin; then \
174 $(INSTALL_DIR) $(BUILDROOT)/System/Library/Printers/Libraries; \
175 $(LN) $(sbindir)/cupsfilter $(BUILDROOT)/System/Library/Printers/Libraries/convert; \
176 fi
177 echo Installing programs in $(SERVERBIN)/daemon...
178 $(INSTALL_DIR) -m 755 $(SERVERBIN)
179 $(INSTALL_DIR) -m 755 $(SERVERBIN)/daemon
180 $(INSTALL_BIN) cups-deviced $(SERVERBIN)/daemon
181 $(INSTALL_BIN) cups-driverd $(SERVERBIN)/daemon
182 $(INSTALL_BIN) cups-lpd $(SERVERBIN)/daemon
183 $(INSTALL_BIN) cups-polld $(SERVERBIN)/daemon
09a101d6 184 if test "x$(SYMROOT)" != "x"; then \
185 $(INSTALL_DIR) $(SYMROOT); \
186 for file in $(TARGETS); do \
187 cp $$file $(SYMROOT); \
188 done \
189 fi
ef416fc2 190
191
50fe7201
MS
192#
193# Install headers...
194#
195
196install-headers:
197 echo Installing header files in $(INCLUDEDIR)/cups...
198 $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
199 $(INSTALL_DATA) mime.h $(INCLUDEDIR)/cups
200
201
202#
203# Install libraries...
204#
205
206install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
207 echo Installing libraries in $(LIBDIR)...
208 $(INSTALL_DIR) -m 755 $(LIBDIR)
209 $(INSTALL_LIB) $(LIBCUPSMIME) $(LIBDIR)
210 if test $(LIBCUPSMIME) = "libcupsmime.so.1" -o $(LIBCUPSMIME) = "libcupsmime.sl.1"; then \
211 $(RM) $(LIBDIR)/`basename $(LIBCUPSMIME) .1`; \
212 $(LN) $(LIBCUPSMIME) $(LIBDIR)/`basename $(LIBCUPSMIME) .1`; \
213 fi
214 if test $(LIBCUPSMIME) = "libcupsmime.1.dylib"; then \
215 $(STRIP) -x $(LIBDIR)/$(LIBCUPSMIME); \
216 $(RM) $(LIBDIR)/libcupsmime.dylib; \
217 $(LN) $(LIBCUPSMIME) $(LIBDIR)/libcupsmime.dylib; \
218 fi
219 if test "x$(SYMROOT)" != "x"; then \
220 $(INSTALL_DIR) $(SYMROOT); \
221 cp $(LIBCUPSMIME) $(SYMROOT); \
222 fi
223
224installstatic:
225 $(INSTALL_DIR) -m 755 $(LIBDIR)
226 $(INSTALL_LIB) libcupsmime.a $(LIBDIR)
227 $(RANLIB) $(LIBDIR)/libcupsmime.a
228
229install32bit:
230 echo Installing libraries in $(LIB32DIR)...
231 $(INSTALL_DIR) -m 755 $(LIB32DIR)
232 $(INSTALL_LIB) 32bit/libcupsmime.so.1 $(LIB32DIR)/libcupsmime.so.1
233 $(LN) libcupsmime.so.1 $(LIB32DIR)/libcupsmime.so
234
235install64bit:
236 echo Installing libraries in $(LIB64DIR)...
237 $(INSTALL_DIR) -m 755 $(LIB64DIR)
238 $(INSTALL_LIB) 64bit/libcupsmime.so.1 $(LIB64DIR)/libcupsmime.so.1
239 $(LN) libcupsmime.so.1 $(LIB64DIR)/libcupsmime.so
240
241
757d2cad 242#
243# Uninstall the scheduler...
244#
245
50fe7201 246uninstall: $(UNINSTALL32) $(UNINSTALL64)
757d2cad 247 $(RM) $(SBINDIR)/cupsd
cc0d019f 248 $(RM) $(SBINDIR)/cupsfilter
757d2cad 249 $(RM) $(SERVERBIN)/daemon/cups-deviced
250 $(RM) $(SERVERBIN)/daemon/cups-driverd
251 $(RM) $(SERVERBIN)/daemon/cups-lpd
252 $(RM) $(SERVERBIN)/daemon/cups-polld
cc0d019f 253 $(RM) $(BUILDROOT)/System/Library/Printers/Libraries/convert
757d2cad 254 -$(RMDIR) $(STATEDIR)/certs
255 -$(RMDIR) $(STATEDIR)
256 -$(RMDIR) $(SERVERROOT)/ppd
257 -$(RMDIR) $(SERVERROOT)/interfaces
258 -$(RMDIR) $(SERVERROOT)
259 -$(RMDIR) $(SERVERBIN)/driver
260 -$(RMDIR) $(SERVERBIN)/daemon
261 -$(RMDIR) $(SERVERBIN)
262 -$(RMDIR) $(SBINDIR)
263 -$(RMDIR) $(REQUESTS)/tmp
264 -$(RMDIR) $(REQUESTS)
265 -$(RMDIR) $(LOGDIR)
266 -$(RMDIR) $(CACHEDIR)
50fe7201
MS
267 $(RM) $(LIBDIR)/libcupsmime.1.dylib
268 $(RM) $(LIBDIR)/libcupsmime.a
269 $(RM) $(LIBDIR)/libcupsmime.dylib
270 $(RM) $(LIBDIR)/libcupsmime_s.a
271 $(RM) $(LIBDIR)/libcupsmime.sl
272 $(RM) $(LIBDIR)/libcupsmime.sl.1
273 $(RM) $(LIBDIR)/libcupsmime.so
274 $(RM) $(LIBDIR)/libcupsmime.so.1
275 -$(RMDIR) $(LIBDIR)
276 $(RM) $(INCLUDEDIR)/cups/mime.h
277 -$(RMDIR) $(INCLUDEDIR)/cups
278
279uninstall32bit:
280 $(RM) $(LIB32DIR)/libcupsmime.so
281 $(RM) $(LIB32DIR)/libcupsmime.so.1
282 -$(RMDIR) $(LIB32DIR)
283
284uninstall64bit:
285 $(RM) $(LIB64DIR)/libcupsmime.so
286 $(RM) $(LIB64DIR)/libcupsmime.so.1
287 -$(RMDIR) $(LIB64DIR)
288
289
290#
291# Automatic API help files...
292#
293
294apihelp:
295 mxmldoc --section "Programming" \
296 --title "MIME API" \
297 --css ../doc/cups-printable.css \
298 --header api-mime.header --intro api-mime.shtml \
299 mime.h $(LIBOBJS:.o=.c) >../doc/help/api-mime.html
300
301framedhelp:
302 mxmldoc --framed api-mime \
303 --section "Programming" \
304 --title "MIME API" \
305 --css ../doc/cups-printable.css \
306 --header api-mime.header --intro api-mime.shtml \
307 mime.h $(LIBOBJS:.o=.c)
757d2cad 308
309
ef416fc2 310#
311# Make the scheduler executable, "cupsd".
312#
313
50fe7201 314cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cups/$(LIBCUPS)
ef416fc2 315 echo Linking $@...
50fe7201 316 $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
b423cd4c 317 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
f7deaa1a 318 $(LIBPAPER) $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBS) \
319 $(LIBGSSAPI)
ef416fc2 320
50fe7201 321cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/libcups.a
ef416fc2 322 echo Linking $@...
50fe7201 323 $(CC) $(LDFLAGS) -o cupsd-static $(CUPSDOBJS) libcupsmime.a \
b423cd4c 324 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
325 ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
f7deaa1a 326 $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
ef416fc2 327
328
bc44d920 329#
330# Make the cupsfilter utility.
331#
332
50fe7201 333cupsfilter: cupsfilter.o $(LIBCUPSMIME) ../cups/$(LIBCUPS)
bc44d920 334 echo Linking $@...
50fe7201 335 $(CC) $(LDFLAGS) -o cupsfilter cupsfilter.o -L. -lcupsmime $(LIBS)
cc0d019f
MS
336 $(RM) convert
337 $(LN) cupsfilter convert
bc44d920 338
339
ef416fc2 340#
341# Make the device daemon, "cups-deviced".
342#
343
344cups-deviced: cups-deviced.o util.o ../cups/$(LIBCUPS)
345 echo Linking $@...
346 $(CC) $(LDFLAGS) -o cups-deviced cups-deviced.o util.o $(LIBS)
347
348
349#
350# Make the driver daemon, "cups-driverd".
351#
352
353cups-driverd: cups-driverd.o util.o ../cups/$(LIBCUPS)
354 echo Linking $@...
355 $(CC) $(LDFLAGS) -o cups-driverd cups-driverd.o util.o $(LIBS)
356
357
358#
359# Make the line printer daemon, "cups-lpd".
360#
361
362cups-lpd: cups-lpd.o ../cups/$(LIBCUPS)
363 echo Linking $@...
364 $(CC) $(LDFLAGS) -o cups-lpd cups-lpd.o $(LIBS)
365
366
367#
368# Make the polling daemon, "cups-polld".
369#
370
371cups-polld: cups-polld.o ../cups/$(LIBCUPS)
372 echo Linking $@...
373 $(CC) $(LDFLAGS) -o cups-polld cups-polld.o $(LIBS)
374
375
376#
50fe7201
MS
377# libcupsmime.so.1, libcupsmime.sl.1
378#
379
380libcupsmime.so.1 libcupsmime.sl.1: $(LIBOBJS)
381 echo Linking $@...
382 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
383 $(RM) `basename $@ .1`
384 $(LN) $@ `basename $@ .1`
385
386
387#
388# 32bit/libcupsmime.so.1
389#
390
39132bit/libcupsmime.so.1: $(LIB32OBJS)
392 echo Linking 32-bit $@...
393 -mkdir 32bit
394 $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBS)
395 $(RM) 32bit/libcupsmime.so
396 $(LN) libcupsmime.so.1 32bit/libcupsmime.so
397
398
399#
400# 64bit/libcupsmime.so.1
401#
402
40364bit/libcupsmime.so.1: $(LIB64OBJS)
404 echo Linking 64-bit $@...
405 -mkdir 64bit
406 $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBS)
407 $(RM) 64bit/libcupsmime.so
408 $(LN) libcupsmime.so.1 64bit/libcupsmime.so
409
410
411#
412# libcupsmime.1.dylib
413#
414
415libcupsmime.1.dylib: $(LIBOBJS) libcupsmime.exp
416 echo Linking $@...
417 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
418 -install_name $(libdir)/$@ \
419 -current_version 1.0.0 \
420 -compatibility_version 1.0.0 \
421 -exported_symbols_list libcupsmime.exp \
422 $(LIBOBJS) $(LIBS)
423 $(RM) libcupsmime.dylib
424 $(LN) $@ libcupsmime.dylib
425
426
427#
428# libcupsmime_s.a
429#
430
431libcupsmime_s.a: $(LIBOBJS)
432 echo Creating $@...
433 $(DSO) $(DSOFLAGS) -o libcupsmime_s.o $(LIBOBJS) $(LIBS)
434 $(RM) $@
435 $(AR) $(ARFLAGS) $@ libcupsmime_s.o
436
437
438#
439# libcupsmime.la
440#
441
442libcupsmime.la: $(LIBOBJS)
443 echo Linking $@...
444 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
445 -version-info 1:0 $(LIBS)
446
447
448#
449# libcupsmime.a
ef416fc2 450#
451
50fe7201 452libcupsmime.a: $(LIBOBJS)
ef416fc2 453 echo Archiving $@...
454 $(RM) $@
50fe7201 455 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
ef416fc2 456 $(RANLIB) $@
457
458
459#
460# Make the test program, "testdirsvc".
461#
462
463testdirsvc: testdirsvc.o
464 echo Linking $@...
465 $(CC) $(LDFLAGS) -o testdirsvc testdirsvc.o $(COMMONLIBS) $(NETLIBS)
466
467
d09495fa 468#
469# Make the test program, "testlpd".
470#
471
472testlpd: testlpd.o ../cups/libcups.a cups-lpd
473 echo Linking $@...
474 $(CC) $(LDFLAGS) -o testlpd testlpd.o ../cups/libcups.a \
f7deaa1a 475 $(COMMONLIBS) $(LIBZ) $(SSLLIBS) $(LIBGSSAPI)
d09495fa 476
477
ef416fc2 478#
479# testmime
480#
481
50fe7201 482testmime: testmime.o libcupsmime.a ../cups/libcups.a
ef416fc2 483 echo Linking $@...
50fe7201 484 $(CC) $(LDFLAGS) -o $@ testmime.o libcupsmime.a ../cups/libcups.a \
f7deaa1a 485 $(COMMONLIBS) $(LIBZ) $(SSLLIBS) $(LIBGSSAPI)
ef416fc2 486
487
488#
489# Make the test program, "testspeed".
490#
491
d09495fa 492testspeed: testspeed.o ../cups/libcups.a
ef416fc2 493 echo Linking $@...
d09495fa 494 $(CC) $(LDFLAGS) -o testspeed testspeed.o ../cups/libcups.a \
f7deaa1a 495 $(SSLLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
ef416fc2 496
497
07725fee 498#
499# Make the test program, "testsub".
500#
501
502testsub: testsub.o ../cups/libcups.a
503 echo Linking $@...
504 $(CC) $(LDFLAGS) -o testsub testsub.o ../cups/libcups.a \
f7deaa1a 505 $(SSLLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
07725fee 506
507
ef416fc2 508#
509# Dependencies...
510#
511
512include Dependencies
513
514
515#
2e4ff8af 516# End of "$Id: Makefile 6801 2007-08-16 18:42:49Z mike $".
ef416fc2 517#