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