2 # "$Id: Makefile 7558 2008-05-12 23:46:44Z 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
)
98 # Make library targets...
105 # Clean all object files...
110 $(RM
) $(TARGETS
) convert
111 $(RM
) libcupsmime.so libcupsmime.sl libcupsmime.dylib
116 # Update dependencies (without system header dependencies...)
120 touch Dependencies.tmp Dependencies.tmplib
121 makedepend
-Y
-I..
-fDependencies.tmp
$(COBJS
:.o
=.c
) \
122 $(CXXOBJS
:.o
=.
cxx) >/dev
/null
2>&1
123 makedepend
-Y
-I..
-fDependencies.tmplib
$(LIBOBJS
:.o
=.c
) >/dev
/null
2>&1
125 cp Dependencies.tmp Dependencies
126 sed
-E
-e
'1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' \
127 Dependencies.tmplib
>>Dependencies
128 sed
-E
-e
'1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' \
129 Dependencies.tmplib
>>Dependencies
130 $(RM
) Dependencies.tmp Dependencies.tmplib
134 # Install all targets...
137 install: all install-data install-headers install-libs install-exec
141 # Install data files...
145 echo Creating
$(SERVERBIN
)/driver...
146 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)/driver
147 echo Creating
$(SERVERROOT
)...
148 $(INSTALL_DIR
) -m
755 $(SERVERROOT
)
149 -chgrp
$(CUPS_GROUP
) $(SERVERROOT
)
150 echo Creating
$(SERVERROOT
)/interfaces...
151 $(INSTALL_DIR
) -m
755 $(SERVERROOT
)/interfaces
152 -chgrp
$(CUPS_GROUP
) $(SERVERROOT
)/interfaces
153 echo Creating
$(SERVERROOT
)/ppd...
154 $(INSTALL_DIR
) -m
755 $(SERVERROOT
)/ppd
155 -chgrp
$(CUPS_GROUP
) $(SERVERROOT
)/ppd
156 -if
test "x`uname`" != xDarwin
; then \
157 echo Creating
$(SERVERROOT
)/ssl...
; \
158 $(INSTALL_DIR
) -m
700 $(SERVERROOT
)/ssl
; \
159 chgrp
$(CUPS_GROUP
) $(SERVERROOT
)/ssl || true
; \
160 echo Creating
$(STATEDIR
)...
; \
161 $(INSTALL_DIR
) -m
755 $(STATEDIR
); \
162 echo Creating
$(STATEDIR
)/certs...
; \
163 $(INSTALL_DIR
) -m
511 $(STATEDIR
)/certs
; \
164 chgrp
$(CUPS_PRIMARY_SYSTEM_GROUP
) $(STATEDIR
)/certs || true
; \
166 echo Creating
$(LOGDIR
)...
167 $(INSTALL_DIR
) -m
755 $(LOGDIR
)
168 echo Creating
$(REQUESTS
)...
169 $(INSTALL_DIR
) -m
710 $(REQUESTS
)
170 -chgrp
$(CUPS_GROUP
) $(REQUESTS
)
171 echo Creating
$(REQUESTS
)/tmp...
172 $(INSTALL_DIR
) -m
1770 $(REQUESTS
)/tmp
173 -chgrp
$(CUPS_GROUP
) $(REQUESTS
)/tmp
174 echo Creating
$(CACHEDIR
)...
175 $(INSTALL_DIR
) -m
775 $(CACHEDIR
)
176 -chgrp
$(CUPS_GROUP
) $(CACHEDIR
)
177 # echo Creating $(CACHEDIR)/ppd...
178 # $(INSTALL_DIR) -m 755 $(CACHEDIR)/ppd
179 # -chgrp $(CUPS_GROUP) $(CACHEDIR)/ppd
183 # Install programs...
187 echo Installing programs in
$(SBINDIR
)...
188 $(INSTALL_DIR
) -m
755 $(SBINDIR
)
189 $(INSTALL_BIN
) cupsd
$(SBINDIR
)
190 $(INSTALL_BIN
) cupsfilter
$(SBINDIR
)
191 -if
test "x`uname`" = xDarwin
; then \
192 $(INSTALL_DIR
) $(BUILDROOT
)/System
/Library
/Printers
/Libraries
; \
193 $(LN
) $(sbindir
)/cupsfilter
$(BUILDROOT
)/System
/Library
/Printers
/Libraries
/convert
; \
195 echo Installing programs in
$(SERVERBIN
)/daemon...
196 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)
197 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)/daemon
198 $(INSTALL_BIN
) cups-deviced
$(SERVERBIN
)/daemon
199 $(INSTALL_BIN
) cups-driverd
$(SERVERBIN
)/daemon
200 $(INSTALL_BIN
) cups-lpd
$(SERVERBIN
)/daemon
201 $(INSTALL_BIN
) cups-polld
$(SERVERBIN
)/daemon
202 if
test "x$(SYMROOT)" != "x"; then \
203 $(INSTALL_DIR
) $(SYMROOT
); \
204 for file in
$(TARGETS
); do \
205 cp
$$file $(SYMROOT
); \
215 echo Installing header files in
$(INCLUDEDIR
)/cups...
216 $(INSTALL_DIR
) -m
755 $(INCLUDEDIR
)/cups
217 $(INSTALL_DATA
) mime.h
$(INCLUDEDIR
)/cups
221 # Install libraries...
224 install-libs
: $(INSTALLSTATIC
) $(INSTALL32
) $(INSTALL64
)
225 echo Installing libraries in
$(LIBDIR
)...
226 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
227 $(INSTALL_LIB
) $(LIBCUPSMIME
) $(LIBDIR
)
228 if
test $(LIBCUPSMIME
) = "libcupsmime.so.1" -o
$(LIBCUPSMIME
) = "libcupsmime.sl.1"; then \
229 $(RM
) $(LIBDIR
)/`basename $(LIBCUPSMIME) .1`; \
230 $(LN
) $(LIBCUPSMIME
) $(LIBDIR
)/`basename $(LIBCUPSMIME) .1`; \
232 if
test $(LIBCUPSMIME
) = "libcupsmime.1.dylib"; then \
233 $(RM
) $(LIBDIR
)/libcupsmime.dylib
; \
234 $(LN
) $(LIBCUPSMIME
) $(LIBDIR
)/libcupsmime.dylib
; \
236 if
test "x$(SYMROOT)" != "x"; then \
237 $(INSTALL_DIR
) $(SYMROOT
); \
238 cp
$(LIBCUPSMIME
) $(SYMROOT
); \
242 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
243 $(INSTALL_LIB
) libcupsmime.a
$(LIBDIR
)
244 $(RANLIB
) $(LIBDIR
)/libcupsmime.a
247 echo Installing libraries in
$(LIB32DIR
)...
248 $(INSTALL_DIR
) -m
755 $(LIB32DIR
)
249 $(INSTALL_LIB
) 32bit
/libcupsmime.so
.1 $(LIB32DIR
)/libcupsmime.so
.1
250 $(LN
) libcupsmime.so
.1 $(LIB32DIR
)/libcupsmime.so
253 echo Installing libraries in
$(LIB64DIR
)...
254 $(INSTALL_DIR
) -m
755 $(LIB64DIR
)
255 $(INSTALL_LIB
) 64bit
/libcupsmime.so
.1 $(LIB64DIR
)/libcupsmime.so
.1
256 $(LN
) libcupsmime.so
.1 $(LIB64DIR
)/libcupsmime.so
260 # Uninstall the scheduler...
263 uninstall: $(UNINSTALL32
) $(UNINSTALL64
)
264 $(RM
) $(SBINDIR
)/cupsd
265 $(RM
) $(SBINDIR
)/cupsfilter
266 $(RM
) $(SERVERBIN
)/daemon
/cups-deviced
267 $(RM
) $(SERVERBIN
)/daemon
/cups-driverd
268 $(RM
) $(SERVERBIN
)/daemon
/cups-lpd
269 $(RM
) $(SERVERBIN
)/daemon
/cups-polld
270 $(RM
) $(BUILDROOT
)/System
/Library
/Printers
/Libraries
/convert
271 -$(RMDIR
) $(STATEDIR
)/certs
272 -$(RMDIR
) $(STATEDIR
)
273 -$(RMDIR
) $(SERVERROOT
)/ppd
274 -$(RMDIR
) $(SERVERROOT
)/interfaces
275 -$(RMDIR
) $(SERVERROOT
)
276 -$(RMDIR
) $(SERVERBIN
)/driver
277 -$(RMDIR
) $(SERVERBIN
)/daemon
278 -$(RMDIR
) $(SERVERBIN
)
280 -$(RMDIR
) $(REQUESTS
)/tmp
281 -$(RMDIR
) $(REQUESTS
)
283 -$(RMDIR
) $(CACHEDIR
)
284 $(RM
) $(LIBDIR
)/libcupsmime
.1.dylib
285 $(RM
) $(LIBDIR
)/libcupsmime.a
286 $(RM
) $(LIBDIR
)/libcupsmime.dylib
287 $(RM
) $(LIBDIR
)/libcupsmime_s.a
288 $(RM
) $(LIBDIR
)/libcupsmime.sl
289 $(RM
) $(LIBDIR
)/libcupsmime.sl
.1
290 $(RM
) $(LIBDIR
)/libcupsmime.so
291 $(RM
) $(LIBDIR
)/libcupsmime.so
.1
293 $(RM
) $(INCLUDEDIR
)/cups
/mime.h
294 -$(RMDIR
) $(INCLUDEDIR
)/cups
297 $(RM
) $(LIB32DIR
)/libcupsmime.so
298 $(RM
) $(LIB32DIR
)/libcupsmime.so
.1
299 -$(RMDIR
) $(LIB32DIR
)
302 $(RM
) $(LIB64DIR
)/libcupsmime.so
303 $(RM
) $(LIB64DIR
)/libcupsmime.so
.1
304 -$(RMDIR
) $(LIB64DIR
)
308 # Automatic API help files...
312 mxmldoc
--section
"Programming" \
314 --css ..
/doc
/cups-printable.css \
315 --header api-mime.header
--intro api-mime.shtml \
316 mime.h
$(LIBOBJS
:.o
=.c
) >..
/doc
/help
/api-mime.html
319 mxmldoc
--framed api-mime \
320 --section
"Programming" \
322 --css ..
/doc
/cups-printable.css \
323 --header api-mime.header
--intro api-mime.shtml \
324 mime.h
$(LIBOBJS
:.o
=.c
)
328 # Make the scheduler executable, "cupsd".
331 cupsd
: $(CUPSDOBJS
) $(LIBCUPSMIME
) ..
/cups
/$(LIBCUPS
)
333 $(CC
) $(LDFLAGS
) -o cupsd
$(CUPSDOBJS
) -L.
-lcupsmime \
334 $(LIBZ
) $(SSLLIBS
) $(LIBSLP
) $(LIBLDAP
) $(PAMLIBS
) \
335 $(LIBPAPER
) $(LIBMALLOC
) $(CUPSDLIBS
) $(DNSSDLIBS
) $(LIBS
) \
336 $(LIBGSSAPI
) $(LIBWRAP
)
338 cupsd-static
: $(CUPSDOBJS
) libcupsmime.a ..
/cups
/libcups.a
340 $(CC
) $(LDFLAGS
) -o cupsd-static
$(CUPSDOBJS
) libcupsmime.a \
341 $(LIBZ
) $(SSLLIBS
) $(LIBSLP
) $(LIBLDAP
) $(PAMLIBS
) \
342 ..
/cups
/libcups.a
$(COMMONLIBS
) $(LIBZ
) $(LIBPAPER
) \
343 $(LIBMALLOC
) $(CUPSDLIBS
) $(DNSSDLIBS
) $(LIBGSSAPI
) \
348 # Make the cupsfilter utility.
351 cupsfilter
: cupsfilter.o
$(LIBCUPSMIME
) ..
/cups
/$(LIBCUPS
)
353 $(CC
) $(LDFLAGS
) -o cupsfilter cupsfilter.o
-L.
-lcupsmime
$(LIBS
)
355 $(LN
) cupsfilter convert
359 # Make the device daemon, "cups-deviced".
362 cups-deviced
: cups-deviced.o util.o ..
/cups
/$(LIBCUPS
)
364 $(CC
) $(LDFLAGS
) -o cups-deviced cups-deviced.o util.o
$(LIBS
)
368 # Make the driver daemon, "cups-driverd".
371 cups-driverd
: cups-driverd.o util.o ..
/cups
/$(LIBCUPS
) ..
/ppdc
/$(LIBCUPSPPDC
)
373 $(CXX
) $(LDFLAGS
) -o cups-driverd cups-driverd.o util.o \
374 -L..
/ppdc
-lcupsppdc
$(LIBS
)
378 # Make the line printer daemon, "cups-lpd".
381 cups-lpd
: cups-lpd.o ..
/cups
/$(LIBCUPS
)
383 $(CC
) $(LDFLAGS
) -o cups-lpd cups-lpd.o
$(LIBS
)
387 # Make the polling daemon, "cups-polld".
390 cups-polld
: cups-polld.o ..
/cups
/$(LIBCUPS
)
392 $(CC
) $(LDFLAGS
) -o cups-polld cups-polld.o
$(LIBS
)
396 # libcupsmime.so.1, libcupsmime.sl.1
399 libcupsmime.so
.1 libcupsmime.sl
.1: $(LIBOBJS
)
401 $(DSO
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(LIBOBJS
) $(LIBS
)
402 $(RM
) `basename $@ .1`
403 $(LN
) $@
`basename $@ .1`
407 # 32bit/libcupsmime.so.1
410 32bit
/libcupsmime.so
.1: $(LIB32OBJS
)
411 echo Linking
32-bit
$@...
413 $(DSO
) $(ARCH32FLAGS
) $(DSO32FLAGS
) -o
$@
$(LIB32OBJS
) $(LIBS
)
414 $(RM
) 32bit
/libcupsmime.so
415 $(LN
) libcupsmime.so
.1 32bit
/libcupsmime.so
419 # 64bit/libcupsmime.so.1
422 64bit
/libcupsmime.so
.1: $(LIB64OBJS
)
423 echo Linking
64-bit
$@...
425 $(DSO
) $(ARCH64FLAGS
) $(DSO64FLAGS
) -o
$@
$(LIB64OBJS
) $(LIBS
)
426 $(RM
) 64bit
/libcupsmime.so
427 $(LN
) libcupsmime.so
.1 64bit
/libcupsmime.so
431 # libcupsmime.1.dylib
434 libcupsmime
.1.dylib
: $(LIBOBJS
) libcupsmime.exp
436 $(DSO
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@ \
437 -install_name
$(libdir)/$@ \
438 -current_version
1.0.0 \
439 -compatibility_version
1.0.0 \
440 -exported_symbols_list libcupsmime.exp \
442 $(RM
) libcupsmime.dylib
443 $(LN
) $@ libcupsmime.dylib
450 libcupsmime_s.a
: $(LIBOBJS
)
452 $(DSO
) $(DSOFLAGS
) -o libcupsmime_s.o
$(LIBOBJS
) $(LIBS
)
454 $(AR
) $(ARFLAGS
) $@ libcupsmime_s.o
461 libcupsmime.la
: $(LIBOBJS
)
463 $(CC
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(LIBOBJS
:.o
=.lo
) -rpath
$(LIBDIR
) \
464 -version-info
1:0 $(LIBS
)
471 libcupsmime.a
: $(LIBOBJS
)
474 $(AR
) $(ARFLAGS
) $@
$(LIBOBJS
)
479 # Make the test program, "testdirsvc".
482 testdirsvc
: testdirsvc.o
484 $(CC
) $(LDFLAGS
) -o testdirsvc testdirsvc.o
$(COMMONLIBS
) $(NETLIBS
)
488 # Make the test program, "testlpd".
491 testlpd
: testlpd.o ..
/cups
/libcups.a cups-lpd
493 $(CC
) $(LDFLAGS
) -o testlpd testlpd.o ..
/cups
/libcups.a \
494 $(COMMONLIBS
) $(LIBZ
) $(SSLLIBS
) $(LIBGSSAPI
)
501 testmime
: testmime.o libcupsmime.a ..
/cups
/libcups.a
503 $(CC
) $(ARCHFLAGS
) $(LDFLAGS
) -o
$@ testmime.o libcupsmime.a \
504 ..
/cups
/libcups.a
$(COMMONLIBS
) $(LIBZ
) $(SSLLIBS
) $(LIBGSSAPI
)
505 echo Running MIME tests...
510 # Make the test program, "testspeed".
513 testspeed
: testspeed.o ..
/cups
/libcups.a
515 $(CC
) $(LDFLAGS
) -o testspeed testspeed.o ..
/cups
/libcups.a \
516 $(SSLLIBS
) $(COMMONLIBS
) $(LIBZ
) $(LIBGSSAPI
)
520 # Make the test program, "testsub".
523 testsub
: testsub.o ..
/cups
/libcups.a
525 $(CC
) $(LDFLAGS
) -o testsub testsub.o ..
/cups
/libcups.a \
526 $(SSLLIBS
) $(COMMONLIBS
) $(LIBZ
) $(LIBGSSAPI
)
537 # End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $".