]> git.ipfire.org Git - thirdparty/cups.git/blame - scheduler/Makefile
Merge changes from CUPS 1.4svn-r8362.
[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#
c168a833 6# Copyright 2007-2009 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
4509bb49 47COBJS = \
ef416fc2 48 $(CUPSDOBJS) \
50fe7201 49 $(LIBOBJS) \
bc44d920 50 cupsfilter.o \
ef416fc2 51 cups-deviced.o \
ef416fc2 52 cups-lpd.o \
53 cups-polld.o \
54 testdirsvc.o \
d09495fa 55 testlpd.o \
ef416fc2 56 testmime.o \
57 testspeed.o \
07725fee 58 testsub.o \
ef416fc2 59 util.o
4509bb49
MS
60CXXOBJS = \
61 cups-driverd.o
62OBJS = \
63 $(COBJS) \
64 $(CXXOBJS)
c9fc04c6
MS
65LIBTARGETS = \
66 $(LIBCUPSMIME) \
9a4f8274
MS
67 libcupsmime.a
68
69UNITTARGETS = \
70 testdirsvc \
71 testlpd \
72 testmime \
73 testspeed \
74 testsub
c9fc04c6 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
85
86#
87# Make everything...
88#
89
90all: $(TARGETS)
91
92
c9fc04c6
MS
93#
94# Make library targets...
95#
96
97libs: $(LIBTARGETS)
98
99
5f64df29
MS
100#
101# Make unit tests...
102#
103
9a4f8274 104unittests: $(UNITTARGETS)
5f64df29
MS
105
106
ef416fc2 107#
108# Clean all object files...
109#
110
111clean:
112 $(RM) $(OBJS)
9a4f8274 113 $(RM) $(TARGETS) $(UNITTARGETS) convert
50fe7201 114 $(RM) libcupsmime.so libcupsmime.sl libcupsmime.dylib
ef416fc2 115
116
117#
118# Update dependencies (without system header dependencies...)
119#
120
121depend:
e6013cfa 122 makedepend -Y -I.. -fDependencies $(COBJS:.o=.c) \
4509bb49 123 $(CXXOBJS:.o=.cxx) >/dev/null 2>&1
ef416fc2 124
125
126#
50fe7201 127# Install all targets...
ef416fc2 128#
129
50fe7201
MS
130install: all install-data install-headers install-libs install-exec
131
132
133#
134# Install data files...
135#
136
137install-data:
ef416fc2 138 echo Creating $(SERVERBIN)/driver...
923edb68 139 $(INSTALL_DIR) -m 755 $(SERVERBIN)/driver
ef416fc2 140 echo Creating $(SERVERROOT)...
923edb68 141 $(INSTALL_DIR) -m 755 $(SERVERROOT)
bd7854cb 142 -chgrp $(CUPS_GROUP) $(SERVERROOT)
ef416fc2 143 echo Creating $(SERVERROOT)/interfaces...
bd7854cb 144 $(INSTALL_DIR) -m 755 $(SERVERROOT)/interfaces
145 -chgrp $(CUPS_GROUP) $(SERVERROOT)/interfaces
ef416fc2 146 echo Creating $(SERVERROOT)/ppd...
bd7854cb 147 $(INSTALL_DIR) -m 755 $(SERVERROOT)/ppd
148 -chgrp $(CUPS_GROUP) $(SERVERROOT)/ppd
50fe7201 149 -if test "x`uname`" != xDarwin; then \
bc44d920 150 echo Creating $(SERVERROOT)/ssl...; \
151 $(INSTALL_DIR) -m 700 $(SERVERROOT)/ssl; \
db1f069b 152 chgrp $(CUPS_GROUP) $(SERVERROOT)/ssl || true; \
09a101d6 153 echo Creating $(STATEDIR)...; \
154 $(INSTALL_DIR) -m 755 $(STATEDIR); \
155 echo Creating $(STATEDIR)/certs...; \
156 $(INSTALL_DIR) -m 511 $(STATEDIR)/certs; \
db1f069b 157 chgrp $(CUPS_PRIMARY_SYSTEM_GROUP) $(STATEDIR)/certs || true; \
09a101d6 158 fi
ef416fc2 159 echo Creating $(LOGDIR)...
923edb68 160 $(INSTALL_DIR) -m 755 $(LOGDIR)
ef416fc2 161 echo Creating $(REQUESTS)...
bd7854cb 162 $(INSTALL_DIR) -m 710 $(REQUESTS)
163 -chgrp $(CUPS_GROUP) $(REQUESTS)
923edb68 164 echo Creating $(REQUESTS)/tmp...
bd7854cb 165 $(INSTALL_DIR) -m 1770 $(REQUESTS)/tmp
166 -chgrp $(CUPS_GROUP) $(REQUESTS)/tmp
ef416fc2 167 echo Creating $(CACHEDIR)...
bd7854cb 168 $(INSTALL_DIR) -m 775 $(CACHEDIR)
169 -chgrp $(CUPS_GROUP) $(CACHEDIR)
923edb68 170# echo Creating $(CACHEDIR)/ppd...
171# $(INSTALL_DIR) -m 755 $(CACHEDIR)/ppd
bd7854cb 172# -chgrp $(CUPS_GROUP) $(CACHEDIR)/ppd
50fe7201
MS
173
174
175#
176# Install programs...
177#
178
179install-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
09a101d6 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
ef416fc2 201
202
50fe7201
MS
203#
204# Install headers...
205#
206
207install-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
e6013cfa 217install-libs: $(INSTALLSTATIC)
50fe7201
MS
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 \
50fe7201
MS
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
234installstatic:
235 $(INSTALL_DIR) -m 755 $(LIBDIR)
236 $(INSTALL_LIB) libcupsmime.a $(LIBDIR)
237 $(RANLIB) $(LIBDIR)/libcupsmime.a
238
50fe7201 239
757d2cad 240#
241# Uninstall the scheduler...
242#
243
e6013cfa 244uninstall:
757d2cad 245 $(RM) $(SBINDIR)/cupsd
cc0d019f 246 $(RM) $(SBINDIR)/cupsfilter
757d2cad 247 $(RM) $(SERVERBIN)/daemon/cups-deviced
248 $(RM) $(SERVERBIN)/daemon/cups-driverd
249 $(RM) $(SERVERBIN)/daemon/cups-lpd
250 $(RM) $(SERVERBIN)/daemon/cups-polld
cc0d019f 251 $(RM) $(BUILDROOT)/System/Library/Printers/Libraries/convert
757d2cad 252 -$(RMDIR) $(STATEDIR)/certs
253 -$(RMDIR) $(STATEDIR)
254 -$(RMDIR) $(SERVERROOT)/ppd
255 -$(RMDIR) $(SERVERROOT)/interfaces
256 -$(RMDIR) $(SERVERROOT)
257 -$(RMDIR) $(SERVERBIN)/driver
258 -$(RMDIR) $(SERVERBIN)/daemon
259 -$(RMDIR) $(SERVERBIN)
260 -$(RMDIR) $(SBINDIR)
261 -$(RMDIR) $(REQUESTS)/tmp
262 -$(RMDIR) $(REQUESTS)
263 -$(RMDIR) $(LOGDIR)
264 -$(RMDIR) $(CACHEDIR)
50fe7201
MS
265 $(RM) $(LIBDIR)/libcupsmime.1.dylib
266 $(RM) $(LIBDIR)/libcupsmime.a
267 $(RM) $(LIBDIR)/libcupsmime.dylib
268 $(RM) $(LIBDIR)/libcupsmime_s.a
269 $(RM) $(LIBDIR)/libcupsmime.sl
270 $(RM) $(LIBDIR)/libcupsmime.sl.1
271 $(RM) $(LIBDIR)/libcupsmime.so
272 $(RM) $(LIBDIR)/libcupsmime.so.1
273 -$(RMDIR) $(LIBDIR)
274 $(RM) $(INCLUDEDIR)/cups/mime.h
275 -$(RMDIR) $(INCLUDEDIR)/cups
276
50fe7201
MS
277
278#
279# Automatic API help files...
280#
281
282apihelp:
283 mxmldoc --section "Programming" \
284 --title "MIME API" \
285 --css ../doc/cups-printable.css \
286 --header api-mime.header --intro api-mime.shtml \
287 mime.h $(LIBOBJS:.o=.c) >../doc/help/api-mime.html
288
289framedhelp:
290 mxmldoc --framed api-mime \
291 --section "Programming" \
292 --title "MIME API" \
293 --css ../doc/cups-printable.css \
294 --header api-mime.header --intro api-mime.shtml \
295 mime.h $(LIBOBJS:.o=.c)
757d2cad 296
297
ef416fc2 298#
299# Make the scheduler executable, "cupsd".
300#
301
50fe7201 302cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cups/$(LIBCUPS)
ef416fc2 303 echo Linking $@...
50fe7201 304 $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
b423cd4c 305 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
f7deaa1a 306 $(LIBPAPER) $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBS) \
749b1e90 307 $(LIBGSSAPI) $(LIBWRAP)
ef416fc2 308
50fe7201 309cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/libcups.a
ef416fc2 310 echo Linking $@...
50fe7201 311 $(CC) $(LDFLAGS) -o cupsd-static $(CUPSDOBJS) libcupsmime.a \
b423cd4c 312 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
313 ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
749b1e90
MS
314 $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \
315 $(LIBWRAP)
ef416fc2 316
317
bc44d920 318#
319# Make the cupsfilter utility.
320#
321
50fe7201 322cupsfilter: cupsfilter.o $(LIBCUPSMIME) ../cups/$(LIBCUPS)
bc44d920 323 echo Linking $@...
50fe7201 324 $(CC) $(LDFLAGS) -o cupsfilter cupsfilter.o -L. -lcupsmime $(LIBS)
cc0d019f
MS
325 $(RM) convert
326 $(LN) cupsfilter convert
bc44d920 327
328
ef416fc2 329#
330# Make the device daemon, "cups-deviced".
331#
332
333cups-deviced: cups-deviced.o util.o ../cups/$(LIBCUPS)
334 echo Linking $@...
335 $(CC) $(LDFLAGS) -o cups-deviced cups-deviced.o util.o $(LIBS)
336
337
338#
339# Make the driver daemon, "cups-driverd".
340#
341
4509bb49 342cups-driverd: cups-driverd.o util.o ../cups/$(LIBCUPS) ../ppdc/$(LIBCUPSPPDC)
ef416fc2 343 echo Linking $@...
4509bb49
MS
344 $(CXX) $(LDFLAGS) -o cups-driverd cups-driverd.o util.o \
345 -L../ppdc -lcupsppdc $(LIBS)
ef416fc2 346
347
348#
349# Make the line printer daemon, "cups-lpd".
350#
351
352cups-lpd: cups-lpd.o ../cups/$(LIBCUPS)
353 echo Linking $@...
354 $(CC) $(LDFLAGS) -o cups-lpd cups-lpd.o $(LIBS)
355
356
357#
358# Make the polling daemon, "cups-polld".
359#
360
361cups-polld: cups-polld.o ../cups/$(LIBCUPS)
362 echo Linking $@...
363 $(CC) $(LDFLAGS) -o cups-polld cups-polld.o $(LIBS)
364
365
366#
50fe7201
MS
367# libcupsmime.so.1, libcupsmime.sl.1
368#
369
370libcupsmime.so.1 libcupsmime.sl.1: $(LIBOBJS)
371 echo Linking $@...
372 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
373 $(RM) `basename $@ .1`
374 $(LN) $@ `basename $@ .1`
375
376
50fe7201
MS
377#
378# libcupsmime.1.dylib
379#
380
381libcupsmime.1.dylib: $(LIBOBJS) libcupsmime.exp
382 echo Linking $@...
383 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
384 -install_name $(libdir)/$@ \
385 -current_version 1.0.0 \
386 -compatibility_version 1.0.0 \
387 -exported_symbols_list libcupsmime.exp \
388 $(LIBOBJS) $(LIBS)
389 $(RM) libcupsmime.dylib
390 $(LN) $@ libcupsmime.dylib
391
392
393#
394# libcupsmime_s.a
395#
396
397libcupsmime_s.a: $(LIBOBJS)
398 echo Creating $@...
399 $(DSO) $(DSOFLAGS) -o libcupsmime_s.o $(LIBOBJS) $(LIBS)
400 $(RM) $@
401 $(AR) $(ARFLAGS) $@ libcupsmime_s.o
402
403
404#
405# libcupsmime.la
406#
407
408libcupsmime.la: $(LIBOBJS)
409 echo Linking $@...
410 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
411 -version-info 1:0 $(LIBS)
412
413
414#
415# libcupsmime.a
ef416fc2 416#
417
50fe7201 418libcupsmime.a: $(LIBOBJS)
ef416fc2 419 echo Archiving $@...
420 $(RM) $@
50fe7201 421 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
ef416fc2 422 $(RANLIB) $@
423
424
425#
426# Make the test program, "testdirsvc".
427#
428
429testdirsvc: testdirsvc.o
430 echo Linking $@...
431 $(CC) $(LDFLAGS) -o testdirsvc testdirsvc.o $(COMMONLIBS) $(NETLIBS)
432
433
d09495fa 434#
435# Make the test program, "testlpd".
436#
437
438testlpd: testlpd.o ../cups/libcups.a cups-lpd
439 echo Linking $@...
440 $(CC) $(LDFLAGS) -o testlpd testlpd.o ../cups/libcups.a \
c168a833 441 $(COMMONLIBS) $(LIBZ) $(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
d09495fa 442
443
ef416fc2 444#
445# testmime
446#
447
50fe7201 448testmime: testmime.o libcupsmime.a ../cups/libcups.a
ef416fc2 449 echo Linking $@...
c9fc04c6 450 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testmime.o libcupsmime.a \
c168a833
MS
451 ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(SSLLIBS) \
452 $(DNSSDLIBS) $(LIBGSSAPI)
c9fc04c6
MS
453 echo Running MIME tests...
454 ./testmime
ef416fc2 455
456
457#
458# Make the test program, "testspeed".
459#
460
d09495fa 461testspeed: testspeed.o ../cups/libcups.a
ef416fc2 462 echo Linking $@...
d09495fa 463 $(CC) $(LDFLAGS) -o testspeed testspeed.o ../cups/libcups.a \
c168a833 464 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
ef416fc2 465
466
07725fee 467#
468# Make the test program, "testsub".
469#
470
471testsub: testsub.o ../cups/libcups.a
472 echo Linking $@...
473 $(CC) $(LDFLAGS) -o testsub testsub.o ../cups/libcups.a \
c168a833 474 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
07725fee 475
476
ef416fc2 477#
478# Dependencies...
479#
480
481include Dependencies
482
483
484#
b19ccc9e 485# End of "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $".
ef416fc2 486#