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