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