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