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