]> git.ipfire.org Git - thirdparty/cups.git/blame - scheduler/Makefile
Merge changes from CUPS 1.4svn-r8540.
[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)...
e07d4801 141 $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)
ef416fc2 142 echo Creating $(SERVERROOT)/interfaces...
e07d4801 143 $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/interfaces
ef416fc2 144 echo Creating $(SERVERROOT)/ppd...
e07d4801
MS
145 $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/ppd
146 if test "x`uname`" != xDarwin; then \
bc44d920 147 echo Creating $(SERVERROOT)/ssl...; \
e07d4801
MS
148 $(INSTALL_DIR) -m 700 -g $(CUPS_GROUP) $(SERVERROOT)/ssl; \
149 fi
150 if test "$(STATEDIR)" != "$(SERVERROOT)"; then \
09a101d6 151 echo Creating $(STATEDIR)...; \
152 $(INSTALL_DIR) -m 755 $(STATEDIR); \
09a101d6 153 fi
e07d4801
MS
154 echo Creating $(STATEDIR)/certs...
155 $(INSTALL_DIR) -m 511 -g $(CUPS_PRIMARY_SYSTEM_GROUP) $(STATEDIR)/certs
ef416fc2 156 echo Creating $(LOGDIR)...
923edb68 157 $(INSTALL_DIR) -m 755 $(LOGDIR)
ef416fc2 158 echo Creating $(REQUESTS)...
e07d4801 159 $(INSTALL_DIR) -m 710 -g $(CUPS_GROUP) $(REQUESTS)
923edb68 160 echo Creating $(REQUESTS)/tmp...
e07d4801 161 $(INSTALL_DIR) -m 1770 -g $(CUPS_GROUP) $(REQUESTS)/tmp
ef416fc2 162 echo Creating $(CACHEDIR)...
e07d4801 163 $(INSTALL_DIR) -m 775 -g $(CUPS_GROUP) $(CACHEDIR)
50fe7201
MS
164
165
166#
167# Install programs...
168#
169
170install-exec:
171 echo Installing programs in $(SBINDIR)...
172 $(INSTALL_DIR) -m 755 $(SBINDIR)
e07d4801 173 $(INSTALL_BIN) -m 500 cupsd $(SBINDIR)
50fe7201
MS
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
09a101d6 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
ef416fc2 192
193
50fe7201
MS
194#
195# Install headers...
196#
197
198install-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
e6013cfa 208install-libs: $(INSTALLSTATIC)
50fe7201
MS
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 \
50fe7201
MS
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
225installstatic:
226 $(INSTALL_DIR) -m 755 $(LIBDIR)
227 $(INSTALL_LIB) libcupsmime.a $(LIBDIR)
228 $(RANLIB) $(LIBDIR)/libcupsmime.a
229
50fe7201 230
757d2cad 231#
232# Uninstall the scheduler...
233#
234
e6013cfa 235uninstall:
757d2cad 236 $(RM) $(SBINDIR)/cupsd
cc0d019f 237 $(RM) $(SBINDIR)/cupsfilter
757d2cad 238 $(RM) $(SERVERBIN)/daemon/cups-deviced
239 $(RM) $(SERVERBIN)/daemon/cups-driverd
240 $(RM) $(SERVERBIN)/daemon/cups-lpd
241 $(RM) $(SERVERBIN)/daemon/cups-polld
cc0d019f 242 $(RM) $(BUILDROOT)/System/Library/Printers/Libraries/convert
757d2cad 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)
50fe7201
MS
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
50fe7201
MS
268
269#
270# Automatic API help files...
271#
272
273apihelp:
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
280framedhelp:
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)
757d2cad 287
288
ef416fc2 289#
290# Make the scheduler executable, "cupsd".
291#
292
50fe7201 293cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cups/$(LIBCUPS)
ef416fc2 294 echo Linking $@...
50fe7201 295 $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
b423cd4c 296 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
f7deaa1a 297 $(LIBPAPER) $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBS) \
749b1e90 298 $(LIBGSSAPI) $(LIBWRAP)
ef416fc2 299
50fe7201 300cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/libcups.a
ef416fc2 301 echo Linking $@...
50fe7201 302 $(CC) $(LDFLAGS) -o cupsd-static $(CUPSDOBJS) libcupsmime.a \
b423cd4c 303 $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
304 ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
749b1e90
MS
305 $(LIBMALLOC) $(CUPSDLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \
306 $(LIBWRAP)
ef416fc2 307
308
bc44d920 309#
310# Make the cupsfilter utility.
311#
312
50fe7201 313cupsfilter: cupsfilter.o $(LIBCUPSMIME) ../cups/$(LIBCUPS)
bc44d920 314 echo Linking $@...
50fe7201 315 $(CC) $(LDFLAGS) -o cupsfilter cupsfilter.o -L. -lcupsmime $(LIBS)
cc0d019f
MS
316 $(RM) convert
317 $(LN) cupsfilter convert
bc44d920 318
319
ef416fc2 320#
321# Make the device daemon, "cups-deviced".
322#
323
324cups-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
4509bb49 333cups-driverd: cups-driverd.o util.o ../cups/$(LIBCUPS) ../ppdc/$(LIBCUPSPPDC)
ef416fc2 334 echo Linking $@...
4509bb49
MS
335 $(CXX) $(LDFLAGS) -o cups-driverd cups-driverd.o util.o \
336 -L../ppdc -lcupsppdc $(LIBS)
ef416fc2 337
338
339#
340# Make the line printer daemon, "cups-lpd".
341#
342
343cups-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
352cups-polld: cups-polld.o ../cups/$(LIBCUPS)
353 echo Linking $@...
354 $(CC) $(LDFLAGS) -o cups-polld cups-polld.o $(LIBS)
355
356
357#
50fe7201
MS
358# libcupsmime.so.1, libcupsmime.sl.1
359#
360
361libcupsmime.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
50fe7201
MS
368#
369# libcupsmime.1.dylib
370#
371
372libcupsmime.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
388libcupsmime_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
399libcupsmime.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
ef416fc2 407#
408
50fe7201 409libcupsmime.a: $(LIBOBJS)
ef416fc2 410 echo Archiving $@...
411 $(RM) $@
50fe7201 412 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
ef416fc2 413 $(RANLIB) $@
414
415
416#
417# Make the test program, "testdirsvc".
418#
419
420testdirsvc: testdirsvc.o
421 echo Linking $@...
422 $(CC) $(LDFLAGS) -o testdirsvc testdirsvc.o $(COMMONLIBS) $(NETLIBS)
423
424
d09495fa 425#
426# Make the test program, "testlpd".
427#
428
429testlpd: testlpd.o ../cups/libcups.a cups-lpd
430 echo Linking $@...
431 $(CC) $(LDFLAGS) -o testlpd testlpd.o ../cups/libcups.a \
c168a833 432 $(COMMONLIBS) $(LIBZ) $(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
d09495fa 433
434
ef416fc2 435#
436# testmime
437#
438
50fe7201 439testmime: testmime.o libcupsmime.a ../cups/libcups.a
ef416fc2 440 echo Linking $@...
c9fc04c6 441 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testmime.o libcupsmime.a \
c168a833
MS
442 ../cups/libcups.a $(COMMONLIBS) $(LIBZ) $(SSLLIBS) \
443 $(DNSSDLIBS) $(LIBGSSAPI)
c9fc04c6
MS
444 echo Running MIME tests...
445 ./testmime
ef416fc2 446
447
448#
449# Make the test program, "testspeed".
450#
451
d09495fa 452testspeed: testspeed.o ../cups/libcups.a
ef416fc2 453 echo Linking $@...
d09495fa 454 $(CC) $(LDFLAGS) -o testspeed testspeed.o ../cups/libcups.a \
c168a833 455 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
ef416fc2 456
457
07725fee 458#
459# Make the test program, "testsub".
460#
461
462testsub: testsub.o ../cups/libcups.a
463 echo Linking $@...
464 $(CC) $(LDFLAGS) -o testsub testsub.o ../cups/libcups.a \
c168a833 465 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) $(LIBGSSAPI)
07725fee 466
467
ef416fc2 468#
469# Dependencies...
470#
471
472include Dependencies
473
474
475#
b19ccc9e 476# End of "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $".
ef416fc2 477#