]> git.ipfire.org Git - thirdparty/cups.git/blob - scheduler/Makefile
Merge changes from CUPS 1.4svn-r8227.
[thirdparty/cups.git] / scheduler / Makefile
1 #
2 # "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $"
3 #
4 # Scheduler Makefile for the Common UNIX Printing System (CUPS).
5 #
6 # Copyright 2007-2009 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 COBJS = \
48 $(CUPSDOBJS) \
49 $(LIBOBJS) \
50 cupsfilter.o \
51 cups-deviced.o \
52 cups-lpd.o \
53 cups-polld.o \
54 testdirsvc.o \
55 testlpd.o \
56 testmime.o \
57 testspeed.o \
58 testsub.o \
59 util.o
60 CXXOBJS = \
61 cups-driverd.o
62 OBJS = \
63 $(COBJS) \
64 $(CXXOBJS)
65 LIBTARGETS = \
66 $(LIBCUPSMIME) \
67 libcupsmime.a
68
69 UNITTARGETS = \
70 testdirsvc \
71 testlpd \
72 testmime \
73 testspeed \
74 testsub
75
76 TARGETS = \
77 $(LIBTARGETS) \
78 cupsd \
79 cupsfilter \
80 cups-deviced \
81 cups-driverd \
82 cups-lpd \
83 cups-polld \
84
85
86 #
87 # Make everything...
88 #
89
90 all: $(TARGETS)
91
92
93 #
94 # Make library targets...
95 #
96
97 libs: $(LIBTARGETS)
98
99
100 #
101 # Make unit tests...
102 #
103
104 unittests: $(UNITTARGETS)
105
106
107 #
108 # Clean all object files...
109 #
110
111 clean:
112 $(RM) $(OBJS)
113 $(RM) $(TARGETS) $(UNITTARGETS) convert
114 $(RM) libcupsmime.so libcupsmime.sl libcupsmime.dylib
115
116
117 #
118 # Update dependencies (without system header dependencies...)
119 #
120
121 depend:
122 makedepend -Y -I.. -fDependencies $(COBJS:.o=.c) \
123 $(CXXOBJS:.o=.cxx) >/dev/null 2>&1
124
125
126 #
127 # Install all targets...
128 #
129
130 install: all install-data install-headers install-libs install-exec
131
132
133 #
134 # Install data files...
135 #
136
137 install-data:
138 echo Creating $(SERVERBIN)/driver...
139 $(INSTALL_DIR) -m 755 $(SERVERBIN)/driver
140 echo Creating $(SERVERROOT)...
141 $(INSTALL_DIR) -m 755 $(SERVERROOT)
142 -chgrp $(CUPS_GROUP) $(SERVERROOT)
143 echo Creating $(SERVERROOT)/interfaces...
144 $(INSTALL_DIR) -m 755 $(SERVERROOT)/interfaces
145 -chgrp $(CUPS_GROUP) $(SERVERROOT)/interfaces
146 echo Creating $(SERVERROOT)/ppd...
147 $(INSTALL_DIR) -m 755 $(SERVERROOT)/ppd
148 -chgrp $(CUPS_GROUP) $(SERVERROOT)/ppd
149 -if test "x`uname`" != xDarwin; then \
150 echo Creating $(SERVERROOT)/ssl...; \
151 $(INSTALL_DIR) -m 700 $(SERVERROOT)/ssl; \
152 chgrp $(CUPS_GROUP) $(SERVERROOT)/ssl || true; \
153 echo Creating $(STATEDIR)...; \
154 $(INSTALL_DIR) -m 755 $(STATEDIR); \
155 echo Creating $(STATEDIR)/certs...; \
156 $(INSTALL_DIR) -m 511 $(STATEDIR)/certs; \
157 chgrp $(CUPS_PRIMARY_SYSTEM_GROUP) $(STATEDIR)/certs || true; \
158 fi
159 echo Creating $(LOGDIR)...
160 $(INSTALL_DIR) -m 755 $(LOGDIR)
161 echo Creating $(REQUESTS)...
162 $(INSTALL_DIR) -m 710 $(REQUESTS)
163 -chgrp $(CUPS_GROUP) $(REQUESTS)
164 echo Creating $(REQUESTS)/tmp...
165 $(INSTALL_DIR) -m 1770 $(REQUESTS)/tmp
166 -chgrp $(CUPS_GROUP) $(REQUESTS)/tmp
167 echo Creating $(CACHEDIR)...
168 $(INSTALL_DIR) -m 775 $(CACHEDIR)
169 -chgrp $(CUPS_GROUP) $(CACHEDIR)
170 # echo Creating $(CACHEDIR)/ppd...
171 # $(INSTALL_DIR) -m 755 $(CACHEDIR)/ppd
172 # -chgrp $(CUPS_GROUP) $(CACHEDIR)/ppd
173
174
175 #
176 # Install programs...
177 #
178
179 install-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
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
201
202
203 #
204 # Install headers...
205 #
206
207 install-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
217 install-libs: $(INSTALLSTATIC)
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 \
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
234 installstatic:
235 $(INSTALL_DIR) -m 755 $(LIBDIR)
236 $(INSTALL_LIB) libcupsmime.a $(LIBDIR)
237 $(RANLIB) $(LIBDIR)/libcupsmime.a
238
239
240 #
241 # Uninstall the scheduler...
242 #
243
244 uninstall:
245 $(RM) $(SBINDIR)/cupsd
246 $(RM) $(SBINDIR)/cupsfilter
247 $(RM) $(SERVERBIN)/daemon/cups-deviced
248 $(RM) $(SERVERBIN)/daemon/cups-driverd
249 $(RM) $(SERVERBIN)/daemon/cups-lpd
250 $(RM) $(SERVERBIN)/daemon/cups-polld
251 $(RM) $(BUILDROOT)/System/Library/Printers/Libraries/convert
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)
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
277
278 #
279 # Automatic API help files...
280 #
281
282 apihelp:
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
289 framedhelp:
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)
296
297
298 #
299 # Make the scheduler executable, "cupsd".
300 #
301
302 cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cups/$(LIBCUPS)
303 echo Linking $@...
304 $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
305 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
306 $(LIBPAPER) $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBS) \
307 $(LIBGSSAPI) $(LIBWRAP)
308
309 cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/libcups.a
310 echo Linking $@...
311 $(CC) $(LDFLAGS) -o cupsd-static $(CUPSDOBJS) libcupsmime.a \
312 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
313 ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
314 $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \
315 $(LIBWRAP)
316
317
318 #
319 # Make the cupsfilter utility.
320 #
321
322 cupsfilter: cupsfilter.o $(LIBCUPSMIME) ../cups/$(LIBCUPS)
323 echo Linking $@...
324 $(CC) $(LDFLAGS) -o cupsfilter cupsfilter.o -L. -lcupsmime $(LIBS)
325 $(RM) convert
326 $(LN) cupsfilter convert
327
328
329 #
330 # Make the device daemon, "cups-deviced".
331 #
332
333 cups-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
342 cups-driverd: cups-driverd.o util.o ../cups/$(LIBCUPS) ../ppdc/$(LIBCUPSPPDC)
343 echo Linking $@...
344 $(CXX) $(LDFLAGS) -o cups-driverd cups-driverd.o util.o \
345 -L../ppdc -lcupsppdc $(LIBS)
346
347
348 #
349 # Make the line printer daemon, "cups-lpd".
350 #
351
352 cups-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
361 cups-polld: cups-polld.o ../cups/$(LIBCUPS)
362 echo Linking $@...
363 $(CC) $(LDFLAGS) -o cups-polld cups-polld.o $(LIBS)
364
365
366 #
367 # libcupsmime.so.1, libcupsmime.sl.1
368 #
369
370 libcupsmime.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
377 #
378 # libcupsmime.1.dylib
379 #
380
381 libcupsmime.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
397 libcupsmime_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
408 libcupsmime.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
416 #
417
418 libcupsmime.a: $(LIBOBJS)
419 echo Archiving $@...
420 $(RM) $@
421 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
422 $(RANLIB) $@
423
424
425 #
426 # Make the test program, "testdirsvc".
427 #
428
429 testdirsvc: testdirsvc.o
430 echo Linking $@...
431 $(CC) $(LDFLAGS) -o testdirsvc testdirsvc.o $(COMMONLIBS) $(NETLIBS)
432
433
434 #
435 # Make the test program, "testlpd".
436 #
437
438 testlpd: testlpd.o ../cups/libcups.a cups-lpd
439 echo Linking $@...
440 $(CC) $(LDFLAGS) -o testlpd testlpd.o ../cups/libcups.a \
441 $(COMMONLIBS) $(LIBZ) $(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
442
443
444 #
445 # testmime
446 #
447
448 testmime: testmime.o libcupsmime.a ../cups/libcups.a
449 echo Linking $@...
450 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testmime.o libcupsmime.a \
451 ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(SSLLIBS) \
452 $(DNSSDLIBS) $(LIBGSSAPI)
453 echo Running MIME tests...
454 ./testmime
455
456
457 #
458 # Make the test program, "testspeed".
459 #
460
461 testspeed: testspeed.o ../cups/libcups.a
462 echo Linking $@...
463 $(CC) $(LDFLAGS) -o testspeed testspeed.o ../cups/libcups.a \
464 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
465
466
467 #
468 # Make the test program, "testsub".
469 #
470
471 testsub: testsub.o ../cups/libcups.a
472 echo Linking $@...
473 $(CC) $(LDFLAGS) -o testsub testsub.o ../cups/libcups.a \
474 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
475
476
477 #
478 # Dependencies...
479 #
480
481 include Dependencies
482
483
484 #
485 # End of "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $".
486 #