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