2 # "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $"
4 # Scheduler Makefile for the Common UNIX Printing System (CUPS).
6 # Copyright 2007-2008 by Apple Inc.
7 # Copyright 1997-2007 by Easy Software Products, all rights reserved.
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/".
47 LIB32OBJS
= $(LIBOBJS
:.o
=.32.o
)
48 LIB64OBJS
= $(LIBOBJS
:.o
=.64.o
)
100 # Make library targets...
110 unittests
: $(UNITTARGETS
)
114 # Clean all object files...
119 $(RM
) $(TARGETS
) $(UNITTARGETS
) convert
120 $(RM
) libcupsmime.so libcupsmime.sl libcupsmime.dylib
125 # Update dependencies (without system header dependencies...)
129 touch Dependencies.tmp Dependencies.tmplib
130 makedepend
-Y
-I..
-fDependencies.tmp
$(COBJS
:.o
=.c
) \
131 $(CXXOBJS
:.o
=.
cxx) >/dev
/null
2>&1
132 makedepend
-Y
-I..
-fDependencies.tmplib
$(LIBOBJS
:.o
=.c
) >/dev
/null
2>&1
134 cp Dependencies.tmp Dependencies
135 sed
-E
-e
'1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' \
136 Dependencies.tmplib
>>Dependencies
137 sed
-E
-e
'1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' \
138 Dependencies.tmplib
>>Dependencies
139 $(RM
) Dependencies.tmp Dependencies.tmplib
143 # Install all targets...
146 install: all install-data install-headers install-libs install-exec
150 # Install data files...
154 echo Creating
$(SERVERBIN
)/driver...
155 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)/driver
156 echo Creating
$(SERVERROOT
)...
157 $(INSTALL_DIR
) -m
755 $(SERVERROOT
)
158 -chgrp
$(CUPS_GROUP
) $(SERVERROOT
)
159 echo Creating
$(SERVERROOT
)/interfaces...
160 $(INSTALL_DIR
) -m
755 $(SERVERROOT
)/interfaces
161 -chgrp
$(CUPS_GROUP
) $(SERVERROOT
)/interfaces
162 echo Creating
$(SERVERROOT
)/ppd...
163 $(INSTALL_DIR
) -m
755 $(SERVERROOT
)/ppd
164 -chgrp
$(CUPS_GROUP
) $(SERVERROOT
)/ppd
165 -if
test "x`uname`" != xDarwin
; then \
166 echo Creating
$(SERVERROOT
)/ssl...
; \
167 $(INSTALL_DIR
) -m
700 $(SERVERROOT
)/ssl
; \
168 chgrp
$(CUPS_GROUP
) $(SERVERROOT
)/ssl || true
; \
169 echo Creating
$(STATEDIR
)...
; \
170 $(INSTALL_DIR
) -m
755 $(STATEDIR
); \
171 echo Creating
$(STATEDIR
)/certs...
; \
172 $(INSTALL_DIR
) -m
511 $(STATEDIR
)/certs
; \
173 chgrp
$(CUPS_PRIMARY_SYSTEM_GROUP
) $(STATEDIR
)/certs || true
; \
175 echo Creating
$(LOGDIR
)...
176 $(INSTALL_DIR
) -m
755 $(LOGDIR
)
177 echo Creating
$(REQUESTS
)...
178 $(INSTALL_DIR
) -m
710 $(REQUESTS
)
179 -chgrp
$(CUPS_GROUP
) $(REQUESTS
)
180 echo Creating
$(REQUESTS
)/tmp...
181 $(INSTALL_DIR
) -m
1770 $(REQUESTS
)/tmp
182 -chgrp
$(CUPS_GROUP
) $(REQUESTS
)/tmp
183 echo Creating
$(CACHEDIR
)...
184 $(INSTALL_DIR
) -m
775 $(CACHEDIR
)
185 -chgrp
$(CUPS_GROUP
) $(CACHEDIR
)
186 # echo Creating $(CACHEDIR)/ppd...
187 # $(INSTALL_DIR) -m 755 $(CACHEDIR)/ppd
188 # -chgrp $(CUPS_GROUP) $(CACHEDIR)/ppd
192 # Install programs...
196 echo Installing programs in
$(SBINDIR
)...
197 $(INSTALL_DIR
) -m
755 $(SBINDIR
)
198 $(INSTALL_BIN
) cupsd
$(SBINDIR
)
199 $(INSTALL_BIN
) cupsfilter
$(SBINDIR
)
200 -if
test "x`uname`" = xDarwin
; then \
201 $(INSTALL_DIR
) $(BUILDROOT
)/System
/Library
/Printers
/Libraries
; \
202 $(LN
) $(sbindir
)/cupsfilter
$(BUILDROOT
)/System
/Library
/Printers
/Libraries
/convert
; \
204 echo Installing programs in
$(SERVERBIN
)/daemon...
205 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)
206 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)/daemon
207 $(INSTALL_BIN
) cups-deviced
$(SERVERBIN
)/daemon
208 $(INSTALL_BIN
) cups-driverd
$(SERVERBIN
)/daemon
209 $(INSTALL_BIN
) cups-lpd
$(SERVERBIN
)/daemon
210 $(INSTALL_BIN
) cups-polld
$(SERVERBIN
)/daemon
211 if
test "x$(SYMROOT)" != "x"; then \
212 $(INSTALL_DIR
) $(SYMROOT
); \
213 for file in
$(TARGETS
); do \
214 cp
$$file $(SYMROOT
); \
224 echo Installing header files in
$(INCLUDEDIR
)/cups...
225 $(INSTALL_DIR
) -m
755 $(INCLUDEDIR
)/cups
226 $(INSTALL_DATA
) mime.h
$(INCLUDEDIR
)/cups
230 # Install libraries...
233 install-libs
: $(INSTALLSTATIC
) $(INSTALL32
) $(INSTALL64
)
234 echo Installing libraries in
$(LIBDIR
)...
235 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
236 $(INSTALL_LIB
) $(LIBCUPSMIME
) $(LIBDIR
)
237 if
test $(LIBCUPSMIME
) = "libcupsmime.so.1" -o
$(LIBCUPSMIME
) = "libcupsmime.sl.1"; then \
238 $(RM
) $(LIBDIR
)/`basename $(LIBCUPSMIME) .1`; \
239 $(LN
) $(LIBCUPSMIME
) $(LIBDIR
)/`basename $(LIBCUPSMIME) .1`; \
241 if
test $(LIBCUPSMIME
) = "libcupsmime.1.dylib"; then \
242 $(RM
) $(LIBDIR
)/libcupsmime.dylib
; \
243 $(LN
) $(LIBCUPSMIME
) $(LIBDIR
)/libcupsmime.dylib
; \
245 if
test "x$(SYMROOT)" != "x"; then \
246 $(INSTALL_DIR
) $(SYMROOT
); \
247 cp
$(LIBCUPSMIME
) $(SYMROOT
); \
251 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
252 $(INSTALL_LIB
) libcupsmime.a
$(LIBDIR
)
253 $(RANLIB
) $(LIBDIR
)/libcupsmime.a
256 echo Installing libraries in
$(LIB32DIR
)...
257 $(INSTALL_DIR
) -m
755 $(LIB32DIR
)
258 $(INSTALL_LIB
) 32bit
/libcupsmime.so
.1 $(LIB32DIR
)/libcupsmime.so
.1
259 $(LN
) libcupsmime.so
.1 $(LIB32DIR
)/libcupsmime.so
262 echo Installing libraries in
$(LIB64DIR
)...
263 $(INSTALL_DIR
) -m
755 $(LIB64DIR
)
264 $(INSTALL_LIB
) 64bit
/libcupsmime.so
.1 $(LIB64DIR
)/libcupsmime.so
.1
265 $(LN
) libcupsmime.so
.1 $(LIB64DIR
)/libcupsmime.so
269 # Uninstall the scheduler...
272 uninstall: $(UNINSTALL32
) $(UNINSTALL64
)
273 $(RM
) $(SBINDIR
)/cupsd
274 $(RM
) $(SBINDIR
)/cupsfilter
275 $(RM
) $(SERVERBIN
)/daemon
/cups-deviced
276 $(RM
) $(SERVERBIN
)/daemon
/cups-driverd
277 $(RM
) $(SERVERBIN
)/daemon
/cups-lpd
278 $(RM
) $(SERVERBIN
)/daemon
/cups-polld
279 $(RM
) $(BUILDROOT
)/System
/Library
/Printers
/Libraries
/convert
280 -$(RMDIR
) $(STATEDIR
)/certs
281 -$(RMDIR
) $(STATEDIR
)
282 -$(RMDIR
) $(SERVERROOT
)/ppd
283 -$(RMDIR
) $(SERVERROOT
)/interfaces
284 -$(RMDIR
) $(SERVERROOT
)
285 -$(RMDIR
) $(SERVERBIN
)/driver
286 -$(RMDIR
) $(SERVERBIN
)/daemon
287 -$(RMDIR
) $(SERVERBIN
)
289 -$(RMDIR
) $(REQUESTS
)/tmp
290 -$(RMDIR
) $(REQUESTS
)
292 -$(RMDIR
) $(CACHEDIR
)
293 $(RM
) $(LIBDIR
)/libcupsmime
.1.dylib
294 $(RM
) $(LIBDIR
)/libcupsmime.a
295 $(RM
) $(LIBDIR
)/libcupsmime.dylib
296 $(RM
) $(LIBDIR
)/libcupsmime_s.a
297 $(RM
) $(LIBDIR
)/libcupsmime.sl
298 $(RM
) $(LIBDIR
)/libcupsmime.sl
.1
299 $(RM
) $(LIBDIR
)/libcupsmime.so
300 $(RM
) $(LIBDIR
)/libcupsmime.so
.1
302 $(RM
) $(INCLUDEDIR
)/cups
/mime.h
303 -$(RMDIR
) $(INCLUDEDIR
)/cups
306 $(RM
) $(LIB32DIR
)/libcupsmime.so
307 $(RM
) $(LIB32DIR
)/libcupsmime.so
.1
308 -$(RMDIR
) $(LIB32DIR
)
311 $(RM
) $(LIB64DIR
)/libcupsmime.so
312 $(RM
) $(LIB64DIR
)/libcupsmime.so
.1
313 -$(RMDIR
) $(LIB64DIR
)
317 # Automatic API help files...
321 mxmldoc
--section
"Programming" \
323 --css ..
/doc
/cups-printable.css \
324 --header api-mime.header
--intro api-mime.shtml \
325 mime.h
$(LIBOBJS
:.o
=.c
) >..
/doc
/help
/api-mime.html
328 mxmldoc
--framed api-mime \
329 --section
"Programming" \
331 --css ..
/doc
/cups-printable.css \
332 --header api-mime.header
--intro api-mime.shtml \
333 mime.h
$(LIBOBJS
:.o
=.c
)
337 # Make the scheduler executable, "cupsd".
340 cupsd
: $(CUPSDOBJS
) $(LIBCUPSMIME
) ..
/cups
/$(LIBCUPS
)
342 $(CC
) $(LDFLAGS
) -o cupsd
$(CUPSDOBJS
) -L.
-lcupsmime \
343 $(LIBZ
) $(SSLLIBS
) $(LIBSLP
) $(LIBLDAP
) $(PAMLIBS
) \
344 $(LIBPAPER
) $(LIBMALLOC
) $(CUPSDLIBS
) $(DNSSDLIBS
) $(LIBS
) \
345 $(LIBGSSAPI
) $(LIBWRAP
)
347 cupsd-static
: $(CUPSDOBJS
) libcupsmime.a ..
/cups
/libcups.a
349 $(CC
) $(LDFLAGS
) -o cupsd-static
$(CUPSDOBJS
) libcupsmime.a \
350 $(LIBZ
) $(SSLLIBS
) $(LIBSLP
) $(LIBLDAP
) $(PAMLIBS
) \
351 ..
/cups
/libcups.a
$(COMMONLIBS
) $(LIBZ
) $(LIBPAPER
) \
352 $(LIBMALLOC
) $(CUPSDLIBS
) $(DNSSDLIBS
) $(LIBGSSAPI
) \
357 # Make the cupsfilter utility.
360 cupsfilter
: cupsfilter.o
$(LIBCUPSMIME
) ..
/cups
/$(LIBCUPS
)
362 $(CC
) $(LDFLAGS
) -o cupsfilter cupsfilter.o
-L.
-lcupsmime
$(LIBS
)
364 $(LN
) cupsfilter convert
368 # Make the device daemon, "cups-deviced".
371 cups-deviced
: cups-deviced.o util.o ..
/cups
/$(LIBCUPS
)
373 $(CC
) $(LDFLAGS
) -o cups-deviced cups-deviced.o util.o
$(LIBS
)
377 # Make the driver daemon, "cups-driverd".
380 cups-driverd
: cups-driverd.o util.o ..
/cups
/$(LIBCUPS
) ..
/ppdc
/$(LIBCUPSPPDC
)
382 $(CXX
) $(LDFLAGS
) -o cups-driverd cups-driverd.o util.o \
383 -L..
/ppdc
-lcupsppdc
$(LIBS
)
387 # Make the line printer daemon, "cups-lpd".
390 cups-lpd
: cups-lpd.o ..
/cups
/$(LIBCUPS
)
392 $(CC
) $(LDFLAGS
) -o cups-lpd cups-lpd.o
$(LIBS
)
396 # Make the polling daemon, "cups-polld".
399 cups-polld
: cups-polld.o ..
/cups
/$(LIBCUPS
)
401 $(CC
) $(LDFLAGS
) -o cups-polld cups-polld.o
$(LIBS
)
405 # libcupsmime.so.1, libcupsmime.sl.1
408 libcupsmime.so
.1 libcupsmime.sl
.1: $(LIBOBJS
)
410 $(DSO
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(LIBOBJS
) $(LIBS
)
411 $(RM
) `basename $@ .1`
412 $(LN
) $@
`basename $@ .1`
416 # 32bit/libcupsmime.so.1
419 32bit
/libcupsmime.so
.1: $(LIB32OBJS
)
420 echo Linking
32-bit
$@...
422 $(DSO
) $(ARCH32FLAGS
) $(DSO32FLAGS
) -o
$@
$(LIB32OBJS
) $(LIBS
)
423 $(RM
) 32bit
/libcupsmime.so
424 $(LN
) libcupsmime.so
.1 32bit
/libcupsmime.so
428 # 64bit/libcupsmime.so.1
431 64bit
/libcupsmime.so
.1: $(LIB64OBJS
)
432 echo Linking
64-bit
$@...
434 $(DSO
) $(ARCH64FLAGS
) $(DSO64FLAGS
) -o
$@
$(LIB64OBJS
) $(LIBS
)
435 $(RM
) 64bit
/libcupsmime.so
436 $(LN
) libcupsmime.so
.1 64bit
/libcupsmime.so
440 # libcupsmime.1.dylib
443 libcupsmime
.1.dylib
: $(LIBOBJS
) libcupsmime.exp
445 $(DSO
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@ \
446 -install_name
$(libdir)/$@ \
447 -current_version
1.0.0 \
448 -compatibility_version
1.0.0 \
449 -exported_symbols_list libcupsmime.exp \
451 $(RM
) libcupsmime.dylib
452 $(LN
) $@ libcupsmime.dylib
459 libcupsmime_s.a
: $(LIBOBJS
)
461 $(DSO
) $(DSOFLAGS
) -o libcupsmime_s.o
$(LIBOBJS
) $(LIBS
)
463 $(AR
) $(ARFLAGS
) $@ libcupsmime_s.o
470 libcupsmime.la
: $(LIBOBJS
)
472 $(CC
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(LIBOBJS
:.o
=.lo
) -rpath
$(LIBDIR
) \
473 -version-info
1:0 $(LIBS
)
480 libcupsmime.a
: $(LIBOBJS
)
483 $(AR
) $(ARFLAGS
) $@
$(LIBOBJS
)
488 # Make the test program, "testdirsvc".
491 testdirsvc
: testdirsvc.o
493 $(CC
) $(LDFLAGS
) -o testdirsvc testdirsvc.o
$(COMMONLIBS
) $(NETLIBS
)
497 # Make the test program, "testlpd".
500 testlpd
: testlpd.o ..
/cups
/libcups.a cups-lpd
502 $(CC
) $(LDFLAGS
) -o testlpd testlpd.o ..
/cups
/libcups.a \
503 $(COMMONLIBS
) $(LIBZ
) $(SSLLIBS
) $(LIBGSSAPI
)
510 testmime
: testmime.o libcupsmime.a ..
/cups
/libcups.a
512 $(CC
) $(ARCHFLAGS
) $(LDFLAGS
) -o
$@ testmime.o libcupsmime.a \
513 ..
/cups
/libcups.a
$(COMMONLIBS
) $(LIBZ
) $(SSLLIBS
) $(LIBGSSAPI
)
514 echo Running MIME tests...
519 # Make the test program, "testspeed".
522 testspeed
: testspeed.o ..
/cups
/libcups.a
524 $(CC
) $(LDFLAGS
) -o testspeed testspeed.o ..
/cups
/libcups.a \
525 $(SSLLIBS
) $(COMMONLIBS
) $(LIBZ
) $(LIBGSSAPI
)
529 # Make the test program, "testsub".
532 testsub
: testsub.o ..
/cups
/libcups.a
534 $(CC
) $(LDFLAGS
) -o testsub testsub.o ..
/cups
/libcups.a \
535 $(SSLLIBS
) $(COMMONLIBS
) $(LIBZ
) $(LIBGSSAPI
)
546 # End of "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $".