]> git.ipfire.org Git - thirdparty/cups.git/blob - scheduler/Makefile
Merge changes from CUPS 1.4svn-r8540.
[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 -g $(CUPS_GROUP) $(SERVERROOT)
142 echo Creating $(SERVERROOT)/interfaces...
143 $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/interfaces
144 echo Creating $(SERVERROOT)/ppd...
145 $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/ppd
146 if test "x`uname`" != xDarwin; then \
147 echo Creating $(SERVERROOT)/ssl...; \
148 $(INSTALL_DIR) -m 700 -g $(CUPS_GROUP) $(SERVERROOT)/ssl; \
149 fi
150 if test "$(STATEDIR)" != "$(SERVERROOT)"; then \
151 echo Creating $(STATEDIR)...; \
152 $(INSTALL_DIR) -m 755 $(STATEDIR); \
153 fi
154 echo Creating $(STATEDIR)/certs...
155 $(INSTALL_DIR) -m 511 -g $(CUPS_PRIMARY_SYSTEM_GROUP) $(STATEDIR)/certs
156 echo Creating $(LOGDIR)...
157 $(INSTALL_DIR) -m 755 $(LOGDIR)
158 echo Creating $(REQUESTS)...
159 $(INSTALL_DIR) -m 710 -g $(CUPS_GROUP) $(REQUESTS)
160 echo Creating $(REQUESTS)/tmp...
161 $(INSTALL_DIR) -m 1770 -g $(CUPS_GROUP) $(REQUESTS)/tmp
162 echo Creating $(CACHEDIR)...
163 $(INSTALL_DIR) -m 775 -g $(CUPS_GROUP) $(CACHEDIR)
164
165
166 #
167 # Install programs...
168 #
169
170 install-exec:
171 echo Installing programs in $(SBINDIR)...
172 $(INSTALL_DIR) -m 755 $(SBINDIR)
173 $(INSTALL_BIN) -m 500 cupsd $(SBINDIR)
174 $(INSTALL_BIN) cupsfilter $(SBINDIR)
175 -if test "x`uname`" = xDarwin; then \
176 $(INSTALL_DIR) $(BUILDROOT)/System/Library/Printers/Libraries; \
177 $(LN) $(sbindir)/cupsfilter $(BUILDROOT)/System/Library/Printers/Libraries/convert; \
178 fi
179 echo Installing programs in $(SERVERBIN)/daemon...
180 $(INSTALL_DIR) -m 755 $(SERVERBIN)
181 $(INSTALL_DIR) -m 755 $(SERVERBIN)/daemon
182 $(INSTALL_BIN) cups-deviced $(SERVERBIN)/daemon
183 $(INSTALL_BIN) cups-driverd $(SERVERBIN)/daemon
184 $(INSTALL_BIN) cups-lpd $(SERVERBIN)/daemon
185 $(INSTALL_BIN) cups-polld $(SERVERBIN)/daemon
186 if test "x$(SYMROOT)" != "x"; then \
187 $(INSTALL_DIR) $(SYMROOT); \
188 for file in $(TARGETS); do \
189 cp $$file $(SYMROOT); \
190 done \
191 fi
192
193
194 #
195 # Install headers...
196 #
197
198 install-headers:
199 echo Installing header files in $(INCLUDEDIR)/cups...
200 $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
201 $(INSTALL_DATA) mime.h $(INCLUDEDIR)/cups
202
203
204 #
205 # Install libraries...
206 #
207
208 install-libs: $(INSTALLSTATIC)
209 echo Installing libraries in $(LIBDIR)...
210 $(INSTALL_DIR) -m 755 $(LIBDIR)
211 $(INSTALL_LIB) $(LIBCUPSMIME) $(LIBDIR)
212 if test $(LIBCUPSMIME) = "libcupsmime.so.1" -o $(LIBCUPSMIME) = "libcupsmime.sl.1"; then \
213 $(RM) $(LIBDIR)/`basename $(LIBCUPSMIME) .1`; \
214 $(LN) $(LIBCUPSMIME) $(LIBDIR)/`basename $(LIBCUPSMIME) .1`; \
215 fi
216 if test $(LIBCUPSMIME) = "libcupsmime.1.dylib"; then \
217 $(RM) $(LIBDIR)/libcupsmime.dylib; \
218 $(LN) $(LIBCUPSMIME) $(LIBDIR)/libcupsmime.dylib; \
219 fi
220 if test "x$(SYMROOT)" != "x"; then \
221 $(INSTALL_DIR) $(SYMROOT); \
222 cp $(LIBCUPSMIME) $(SYMROOT); \
223 fi
224
225 installstatic:
226 $(INSTALL_DIR) -m 755 $(LIBDIR)
227 $(INSTALL_LIB) libcupsmime.a $(LIBDIR)
228 $(RANLIB) $(LIBDIR)/libcupsmime.a
229
230
231 #
232 # Uninstall the scheduler...
233 #
234
235 uninstall:
236 $(RM) $(SBINDIR)/cupsd
237 $(RM) $(SBINDIR)/cupsfilter
238 $(RM) $(SERVERBIN)/daemon/cups-deviced
239 $(RM) $(SERVERBIN)/daemon/cups-driverd
240 $(RM) $(SERVERBIN)/daemon/cups-lpd
241 $(RM) $(SERVERBIN)/daemon/cups-polld
242 $(RM) $(BUILDROOT)/System/Library/Printers/Libraries/convert
243 -$(RMDIR) $(STATEDIR)/certs
244 -$(RMDIR) $(STATEDIR)
245 -$(RMDIR) $(SERVERROOT)/ppd
246 -$(RMDIR) $(SERVERROOT)/interfaces
247 -$(RMDIR) $(SERVERROOT)
248 -$(RMDIR) $(SERVERBIN)/driver
249 -$(RMDIR) $(SERVERBIN)/daemon
250 -$(RMDIR) $(SERVERBIN)
251 -$(RMDIR) $(SBINDIR)
252 -$(RMDIR) $(REQUESTS)/tmp
253 -$(RMDIR) $(REQUESTS)
254 -$(RMDIR) $(LOGDIR)
255 -$(RMDIR) $(CACHEDIR)
256 $(RM) $(LIBDIR)/libcupsmime.1.dylib
257 $(RM) $(LIBDIR)/libcupsmime.a
258 $(RM) $(LIBDIR)/libcupsmime.dylib
259 $(RM) $(LIBDIR)/libcupsmime_s.a
260 $(RM) $(LIBDIR)/libcupsmime.sl
261 $(RM) $(LIBDIR)/libcupsmime.sl.1
262 $(RM) $(LIBDIR)/libcupsmime.so
263 $(RM) $(LIBDIR)/libcupsmime.so.1
264 -$(RMDIR) $(LIBDIR)
265 $(RM) $(INCLUDEDIR)/cups/mime.h
266 -$(RMDIR) $(INCLUDEDIR)/cups
267
268
269 #
270 # Automatic API help files...
271 #
272
273 apihelp:
274 mxmldoc --section "Programming" \
275 --title "MIME API" \
276 --css ../doc/cups-printable.css \
277 --header api-mime.header --intro api-mime.shtml \
278 mime.h $(LIBOBJS:.o=.c) >../doc/help/api-mime.html
279
280 framedhelp:
281 mxmldoc --framed api-mime \
282 --section "Programming" \
283 --title "MIME API" \
284 --css ../doc/cups-printable.css \
285 --header api-mime.header --intro api-mime.shtml \
286 mime.h $(LIBOBJS:.o=.c)
287
288
289 #
290 # Make the scheduler executable, "cupsd".
291 #
292
293 cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cups/$(LIBCUPS)
294 echo Linking $@...
295 $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
296 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
297 $(LIBPAPER) $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBS) \
298 $(LIBGSSAPI) $(LIBWRAP)
299
300 cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/libcups.a
301 echo Linking $@...
302 $(CC) $(LDFLAGS) -o cupsd-static $(CUPSDOBJS) libcupsmime.a \
303 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
304 ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
305 $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \
306 $(LIBWRAP)
307
308
309 #
310 # Make the cupsfilter utility.
311 #
312
313 cupsfilter: cupsfilter.o $(LIBCUPSMIME) ../cups/$(LIBCUPS)
314 echo Linking $@...
315 $(CC) $(LDFLAGS) -o cupsfilter cupsfilter.o -L. -lcupsmime $(LIBS)
316 $(RM) convert
317 $(LN) cupsfilter convert
318
319
320 #
321 # Make the device daemon, "cups-deviced".
322 #
323
324 cups-deviced: cups-deviced.o util.o ../cups/$(LIBCUPS)
325 echo Linking $@...
326 $(CC) $(LDFLAGS) -o cups-deviced cups-deviced.o util.o $(LIBS)
327
328
329 #
330 # Make the driver daemon, "cups-driverd".
331 #
332
333 cups-driverd: cups-driverd.o util.o ../cups/$(LIBCUPS) ../ppdc/$(LIBCUPSPPDC)
334 echo Linking $@...
335 $(CXX) $(LDFLAGS) -o cups-driverd cups-driverd.o util.o \
336 -L../ppdc -lcupsppdc $(LIBS)
337
338
339 #
340 # Make the line printer daemon, "cups-lpd".
341 #
342
343 cups-lpd: cups-lpd.o ../cups/$(LIBCUPS)
344 echo Linking $@...
345 $(CC) $(LDFLAGS) -o cups-lpd cups-lpd.o $(LIBS)
346
347
348 #
349 # Make the polling daemon, "cups-polld".
350 #
351
352 cups-polld: cups-polld.o ../cups/$(LIBCUPS)
353 echo Linking $@...
354 $(CC) $(LDFLAGS) -o cups-polld cups-polld.o $(LIBS)
355
356
357 #
358 # libcupsmime.so.1, libcupsmime.sl.1
359 #
360
361 libcupsmime.so.1 libcupsmime.sl.1: $(LIBOBJS)
362 echo Linking $@...
363 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
364 $(RM) `basename $@ .1`
365 $(LN) $@ `basename $@ .1`
366
367
368 #
369 # libcupsmime.1.dylib
370 #
371
372 libcupsmime.1.dylib: $(LIBOBJS) libcupsmime.exp
373 echo Linking $@...
374 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
375 -install_name $(libdir)/$@ \
376 -current_version 1.0.0 \
377 -compatibility_version 1.0.0 \
378 -exported_symbols_list libcupsmime.exp \
379 $(LIBOBJS) $(LIBS)
380 $(RM) libcupsmime.dylib
381 $(LN) $@ libcupsmime.dylib
382
383
384 #
385 # libcupsmime_s.a
386 #
387
388 libcupsmime_s.a: $(LIBOBJS)
389 echo Creating $@...
390 $(DSO) $(DSOFLAGS) -o libcupsmime_s.o $(LIBOBJS) $(LIBS)
391 $(RM) $@
392 $(AR) $(ARFLAGS) $@ libcupsmime_s.o
393
394
395 #
396 # libcupsmime.la
397 #
398
399 libcupsmime.la: $(LIBOBJS)
400 echo Linking $@...
401 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
402 -version-info 1:0 $(LIBS)
403
404
405 #
406 # libcupsmime.a
407 #
408
409 libcupsmime.a: $(LIBOBJS)
410 echo Archiving $@...
411 $(RM) $@
412 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
413 $(RANLIB) $@
414
415
416 #
417 # Make the test program, "testdirsvc".
418 #
419
420 testdirsvc: testdirsvc.o
421 echo Linking $@...
422 $(CC) $(LDFLAGS) -o testdirsvc testdirsvc.o $(COMMONLIBS) $(NETLIBS)
423
424
425 #
426 # Make the test program, "testlpd".
427 #
428
429 testlpd: testlpd.o ../cups/libcups.a cups-lpd
430 echo Linking $@...
431 $(CC) $(LDFLAGS) -o testlpd testlpd.o ../cups/libcups.a \
432 $(COMMONLIBS) $(LIBZ) $(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
433
434
435 #
436 # testmime
437 #
438
439 testmime: testmime.o libcupsmime.a ../cups/libcups.a
440 echo Linking $@...
441 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testmime.o libcupsmime.a \
442 ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(SSLLIBS) \
443 $(DNSSDLIBS) $(LIBGSSAPI)
444 echo Running MIME tests...
445 ./testmime
446
447
448 #
449 # Make the test program, "testspeed".
450 #
451
452 testspeed: testspeed.o ../cups/libcups.a
453 echo Linking $@...
454 $(CC) $(LDFLAGS) -o testspeed testspeed.o ../cups/libcups.a \
455 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
456
457
458 #
459 # Make the test program, "testsub".
460 #
461
462 testsub: testsub.o ../cups/libcups.a
463 echo Linking $@...
464 $(CC) $(LDFLAGS) -o testsub testsub.o ../cups/libcups.a \
465 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
466
467
468 #
469 # Dependencies...
470 #
471
472 include Dependencies
473
474
475 #
476 # End of "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $".
477 #