2 # "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $"
4 # Scheduler Makefile for CUPS.
6 # Copyright 2007-2010 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/".
97 # Make library targets...
107 unittests
: $(UNITTARGETS
)
111 # Clean all object files...
116 $(RM
) $(TARGETS
) $(UNITTARGETS
) convert
117 $(RM
) libcupsmime.so libcupsmime.sl libcupsmime.dylib
121 # Update dependencies (without system header dependencies...)
125 makedepend
-Y
-I..
-fDependencies
$(COBJS
:.o
=.c
) \
126 $(CXXOBJS
:.o
=.
cxx) >/dev
/null
2>&1
130 # Install all targets...
133 install: all install-data install-headers install-libs install-exec
137 # Install data files...
141 echo Creating
$(SERVERBIN
)/driver...
142 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)/driver
143 echo Creating
$(SERVERROOT
)...
144 $(INSTALL_DIR
) -m
755 -g
$(CUPS_GROUP
) $(SERVERROOT
)
145 echo Creating
$(SERVERROOT
)/interfaces...
146 $(INSTALL_DIR
) -m
755 -g
$(CUPS_GROUP
) $(SERVERROOT
)/interfaces
147 echo Creating
$(SERVERROOT
)/ppd...
148 $(INSTALL_DIR
) -m
755 -g
$(CUPS_GROUP
) $(SERVERROOT
)/ppd
149 if
test "x`uname`" != xDarwin
; then \
150 echo Creating
$(SERVERROOT
)/ssl...
; \
151 $(INSTALL_DIR
) -m
700 -g
$(CUPS_GROUP
) $(SERVERROOT
)/ssl
; \
153 if
test "$(STATEDIR)" != "$(SERVERROOT)"; then \
154 echo Creating
$(STATEDIR
)...
; \
155 $(INSTALL_DIR
) -m
755 $(STATEDIR
); \
157 echo Creating
$(STATEDIR
)/certs...
158 $(INSTALL_DIR
) -m
511 -o
$(CUPS_USER
) -g
$(CUPS_PRIMARY_SYSTEM_GROUP
) \
160 echo Creating
$(LOGDIR
)...
161 $(INSTALL_DIR
) -m
755 $(LOGDIR
)
162 echo Creating
$(REQUESTS
)...
163 $(INSTALL_DIR
) -m
710 -g
$(CUPS_GROUP
) $(REQUESTS
)
164 echo Creating
$(REQUESTS
)/tmp...
165 $(INSTALL_DIR
) -m
1770 -g
$(CUPS_GROUP
) $(REQUESTS
)/tmp
166 echo Creating
$(CACHEDIR
)...
167 $(INSTALL_DIR
) -m
775 -g
$(CUPS_GROUP
) $(CACHEDIR
)
168 if
test "x$(INITDIR)" != x
; then \
169 echo Installing init scripts...
; \
170 $(INSTALL_DIR
) -m
755 $(BUILDROOT
)$(INITDIR
)/init.d
; \
171 $(INSTALL_SCRIPT
) cups.sh
$(BUILDROOT
)$(INITDIR
)/init.d
/cups
; \
172 for level in
$(RCLEVELS
); do \
173 $(INSTALL_DIR
) -m
755 $(BUILDROOT
)$(INITDIR
)/rc
$${level}.d
; \
174 $(LN
) ..
/init.d
/cups
$(BUILDROOT
)$(INITDIR
)/rc
$${level}.d
/S
$(RCSTART
)cups
; \
175 if
test `uname` = HP-UX
; then \
176 level
=`expr $$level - 1`; \
177 $(INSTALL_DIR
) -m
755 $(BUILDROOT
)$(INITDIR
)/rc
$${level}.d
; \
179 $(LN
) ..
/init.d
/cups
$(BUILDROOT
)$(INITDIR
)/rc
$${level}.d
/K
$(RCSTOP
)cups
; \
181 $(INSTALL_DIR
) -m
755 $(BUILDROOT
)$(INITDIR
)/rc0.d
; \
182 $(LN
) ..
/init.d
/cups
$(BUILDROOT
)$(INITDIR
)/rc0.d
/K
$(RCSTOP
)cups
; \
184 if
test "x$(INITDIR)" = x
-a
"x$(INITDDIR)" != x
; then \
185 $(INSTALL_DIR
) $(BUILDROOT
)$(INITDDIR
); \
186 if
test "$(INITDDIR)" = "/System/Library/LaunchDaemons"; then \
187 echo Installing LaunchDaemons configuration files...
; \
188 $(INSTALL_DATA
) org.cups.cupsd.plist
$(BUILDROOT
)$(DEFAULT_LAUNCHD_CONF
); \
189 $(INSTALL_DATA
) org.cups.cups-lpd.plist
$(BUILDROOT
)/System
/Library
/LaunchDaemons
; \
191 echo Installing RC script...
; \
192 $(INSTALL_SCRIPT
) cups.sh
$(BUILDROOT
)$(INITDDIR
)/cups
; \
195 if
test "x$(SMFMANIFESTDIR)" != x
; then \
196 echo Installing SMF manifest in
$(SMFMANIFESTDIR
)...
;\
197 $(INSTALL_DIR
) $(BUILDROOT
)/$(SMFMANIFESTDIR
); \
198 $(INSTALL_SCRIPT
) cups.xml
$(BUILDROOT
)$(SMFMANIFESTDIR
)/cups.xml
; \
200 if
test "x$(XINETD)" != x
; then \
201 echo Installing xinetd configuration file for cups-lpd...
; \
202 $(INSTALL_DIR
) -m
755 $(BUILDROOT
)$(XINETD
); \
203 $(INSTALL_DATA
) cups-lpd.xinetd
$(BUILDROOT
)$(XINETD
)/cups-lpd
; \
208 # Install programs...
212 echo Installing programs in
$(SBINDIR
)...
213 $(INSTALL_DIR
) -m
755 $(SBINDIR
)
214 $(INSTALL_BIN
) -m
500 cupsd
$(SBINDIR
)
215 $(INSTALL_BIN
) cupsfilter
$(SBINDIR
)
216 -if
test "x`uname`" = xDarwin
; then \
217 $(INSTALL_DIR
) $(BUILDROOT
)/System
/Library
/Printers
/Libraries
; \
218 $(LN
) $(sbindir
)/cupsfilter
$(BUILDROOT
)/System
/Library
/Printers
/Libraries
/convert
; \
220 echo Installing programs in
$(SERVERBIN
)/daemon...
221 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)
222 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)/daemon
223 $(INSTALL_BIN
) cups-deviced
$(SERVERBIN
)/daemon
224 $(INSTALL_BIN
) cups-driverd
$(SERVERBIN
)/daemon
225 $(INSTALL_BIN
) cups-lpd
$(SERVERBIN
)/daemon
226 $(INSTALL_BIN
) cups-polld
$(SERVERBIN
)/daemon
227 if
test "x$(SYMROOT)" != "x"; then \
228 $(INSTALL_DIR
) $(SYMROOT
); \
229 for file in
$(DAEMONS
); do \
230 cp
$$file $(SYMROOT
); \
240 echo Installing header files in
$(INCLUDEDIR
)/cups...
241 $(INSTALL_DIR
) -m
755 $(INCLUDEDIR
)/cups
242 $(INSTALL_DATA
) mime.h
$(INCLUDEDIR
)/cups
246 # Install libraries...
249 install-libs
: $(INSTALLSTATIC
)
250 echo Installing libraries in
$(LIBDIR
)...
251 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
252 $(INSTALL_LIB
) $(LIBCUPSMIME
) $(LIBDIR
)
253 if
test $(LIBCUPSMIME
) = "libcupsmime.so.1" -o
$(LIBCUPSMIME
) = "libcupsmime.sl.1"; then \
254 $(RM
) $(LIBDIR
)/`basename $(LIBCUPSMIME) .1`; \
255 $(LN
) $(LIBCUPSMIME
) $(LIBDIR
)/`basename $(LIBCUPSMIME) .1`; \
257 if
test $(LIBCUPSMIME
) = "libcupsmime.1.dylib"; then \
258 $(RM
) $(LIBDIR
)/libcupsmime.dylib
; \
259 $(LN
) $(LIBCUPSMIME
) $(LIBDIR
)/libcupsmime.dylib
; \
261 if
test "x$(SYMROOT)" != "x"; then \
262 $(INSTALL_DIR
) $(SYMROOT
); \
263 cp
$(LIBCUPSMIME
) $(SYMROOT
); \
267 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
268 $(INSTALL_LIB
) -m
755 libcupsmime.a
$(LIBDIR
)
269 $(RANLIB
) $(LIBDIR
)/libcupsmime.a
270 $(CHMOD
) 555 $(LIBDIR
)/libcupsmime.a
274 # Uninstall the scheduler...
278 $(RM
) $(SBINDIR
)/cupsd
279 $(RM
) $(SBINDIR
)/cupsfilter
280 $(RM
) $(SERVERBIN
)/daemon
/cups-deviced
281 $(RM
) $(SERVERBIN
)/daemon
/cups-driverd
282 $(RM
) $(SERVERBIN
)/daemon
/cups-lpd
283 $(RM
) $(SERVERBIN
)/daemon
/cups-polld
284 $(RM
) $(BUILDROOT
)/System
/Library
/Printers
/Libraries
/convert
285 -$(RMDIR
) $(STATEDIR
)/certs
286 -$(RMDIR
) $(STATEDIR
)
287 -$(RMDIR
) $(SERVERROOT
)/ppd
288 -$(RMDIR
) $(SERVERROOT
)/interfaces
289 -$(RMDIR
) $(SERVERROOT
)
290 -$(RMDIR
) $(SERVERBIN
)/driver
291 -$(RMDIR
) $(SERVERBIN
)/daemon
292 -$(RMDIR
) $(SERVERBIN
)
294 -$(RMDIR
) $(REQUESTS
)/tmp
295 -$(RMDIR
) $(REQUESTS
)
297 -$(RMDIR
) $(CACHEDIR
)
298 $(RM
) $(LIBDIR
)/libcupsmime
.1.dylib
299 $(RM
) $(LIBDIR
)/libcupsmime.a
300 $(RM
) $(LIBDIR
)/libcupsmime.dylib
301 $(RM
) $(LIBDIR
)/libcupsmime_s.a
302 $(RM
) $(LIBDIR
)/libcupsmime.sl
303 $(RM
) $(LIBDIR
)/libcupsmime.sl
.1
304 $(RM
) $(LIBDIR
)/libcupsmime.so
305 $(RM
) $(LIBDIR
)/libcupsmime.so
.1
307 $(RM
) $(INCLUDEDIR
)/cups
/mime.h
308 -$(RMDIR
) $(INCLUDEDIR
)/cups
309 echo Uninstalling startup script...
310 if
test "x$(INITDIR)" != x
; then \
311 $(RM
) $(BUILDROOT
)$(INITDIR
)/init.d
/cups
; \
312 $(RMDIR
) $(BUILDROOT
)$(INITDIR
)/init.d
; \
313 $(RM
) $(BUILDROOT
)$(INITDIR
)/rc0.d
/K00cups
; \
314 $(RMDIR
) $(BUILDROOT
)$(INITDIR
)/rc0.d
; \
315 $(RM
) $(BUILDROOT
)$(INITDIR
)/rc2.d
/S99cups
; \
316 $(RMDIR
) $(BUILDROOT
)$(INITDIR
)/rc2.d
; \
317 $(RM
) $(BUILDROOT
)$(INITDIR
)/rc3.d
/S99cups
; \
318 $(RMDIR
) $(BUILDROOT
)$(INITDIR
)/rc3.d
; \
319 $(RM
) $(BUILDROOT
)$(INITDIR
)/rc5.d
/S99cups
; \
320 $(RMDIR
) $(BUILDROOT
)$(INITDIR
)/rc5.d
; \
322 if
test "x$(INITDIR)" = x
-a
"x$(INITDDIR)" != x
; then \
323 if
test "$(INITDDIR)" = "/System/Library/StartupItems/PrintingServices"; then \
324 $(RM
) $(BUILDROOT
)$(INITDDIR
)/PrintingServices
; \
325 $(RM
) $(BUILDROOT
)$(INITDDIR
)/StartupParameters.plist
; \
326 $(RM
) $(BUILDROOT
)$(INITDDIR
)/Resources
/English.lproj
/Localizable.strings
; \
327 $(RMDIR
) $(BUILDROOT
)$(INITDDIR
)/Resources
/English.lproj
; \
328 elif
test "$(INITDDIR)" = "/System/Library/LaunchDaemons"; then \
329 $(RM
) $(BUILDROOT
)$(INITDDIR
)/org.cups.cupsd.plist
; \
330 $(RM
) $(BUILDROOT
)$(INITDDIR
)/org.cups.cups-lpd.plist
; \
331 $(RMDIR
) $(BUILDROOT
)/System
/Library
/StartupItems
/PrintingServices
; \
333 $(INSTALL_SCRIPT
) init
/cups.sh
$(BUILDROOT
)$(INITDDIR
)/cups
; \
335 $(RMDIR
) $(BUILDROOT
)$(INITDDIR
); \
337 if
test "x$(SMFMANIFESTDIR)" != x
; then \
338 echo Uninstalling SMF manifest in
$(SMFMANIFESTDIR
)...
;\
339 $(RM
) $(BUILDROOT
)$(SMFMANIFESTDIR
)/cups.xml
; \
341 if
test "x$(XINETD)" != x
; then \
342 echo Uninstalling xinetd configuration file for cups-lpd...
; \
343 $(RM
) $(BUILDROOT
)$(XINETD
)/cups-lpd
; \
348 # Automatic API help files...
352 mxmldoc
--section
"Programming" \
354 --css ..
/doc
/cups-printable.css \
355 --header api-mime.header
--intro api-mime.shtml \
356 mime.h
$(LIBOBJS
:.o
=.c
) >..
/doc
/help
/api-mime.html
357 mxmldoc
--tokens help
/api-mime.html api-mime.xml
>..
/doc
/help
/api-mime.tokens
361 mxmldoc
--framed api-mime \
362 --section
"Programming" \
364 --css ..
/doc
/cups-printable.css \
365 --header api-mime.header
--intro api-mime.shtml \
366 mime.h
$(LIBOBJS
:.o
=.c
)
370 # Make the scheduler executable, "cupsd".
373 cupsd
: $(CUPSDOBJS
) $(LIBCUPSMIME
) ..
/cups
/$(LIBCUPS
)
375 $(CC
) $(LDFLAGS
) -o cupsd
$(CUPSDOBJS
) -L.
-lcupsmime \
376 $(LIBZ
) $(SSLLIBS
) $(LIBSLP
) $(LIBLDAP
) $(PAMLIBS
) \
377 $(LIBPAPER
) $(LIBMALLOC
) $(SERVERLIBS
) $(DNSSDLIBS
) $(LIBS
) \
378 $(LIBGSSAPI
) $(LIBWRAP
)
380 cupsd-static
: $(CUPSDOBJS
) libcupsmime.a ..
/cups
/$(LIBCUPSSTATIC
)
382 $(CC
) $(LDFLAGS
) -o cupsd-static
$(CUPSDOBJS
) libcupsmime.a \
383 $(LIBZ
) $(SSLLIBS
) $(LIBSLP
) $(LIBLDAP
) $(PAMLIBS
) \
384 ..
/cups
/$(LIBCUPSSTATIC
) $(COMMONLIBS
) $(LIBZ
) $(LIBPAPER
) \
385 $(LIBMALLOC
) $(SERVERLIBS
) $(DNSSDLIBS
) $(LIBGSSAPI
) \
390 # Make the cupsfilter utility.
393 cupsfilter
: cupsfilter.o
$(LIBCUPSMIME
) ..
/cups
/$(LIBCUPS
)
395 $(CC
) $(LDFLAGS
) -o cupsfilter cupsfilter.o
-L.
-lcupsmime
$(LIBS
)
397 $(LN
) cupsfilter convert
401 # Make the device daemon, "cups-deviced".
404 cups-deviced
: cups-deviced.o util.o ..
/cups
/$(LIBCUPS
)
406 $(CC
) $(LDFLAGS
) -o cups-deviced cups-deviced.o util.o
$(LIBS
)
410 # Make the driver daemon, "cups-driverd".
413 cups-driverd
: cups-driverd.o util.o ..
/cups
/$(LIBCUPS
) ..
/ppdc
/$(LIBCUPSPPDC
)
415 $(CXX
) $(LDFLAGS
) -o cups-driverd cups-driverd.o util.o \
416 -L..
/ppdc
-lcupsppdc
$(LIBS
)
420 # Make the line printer daemon, "cups-lpd".
423 cups-lpd
: cups-lpd.o ..
/cups
/$(LIBCUPS
)
425 $(CC
) $(LDFLAGS
) -o cups-lpd cups-lpd.o
$(LIBS
)
429 # Make the polling daemon, "cups-polld".
432 cups-polld
: cups-polld.o ..
/cups
/$(LIBCUPS
)
434 $(CC
) $(LDFLAGS
) -o cups-polld cups-polld.o
$(LIBS
)
438 # libcupsmime.so.1, libcupsmime.sl.1
441 libcupsmime.so
.1 libcupsmime.sl
.1: $(LIBOBJS
)
443 $(DSO
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(LIBOBJS
) $(LIBS
)
444 $(RM
) `basename $@ .1`
445 $(LN
) $@
`basename $@ .1`
449 # libcupsmime.1.dylib
452 libcupsmime
.1.dylib
: $(LIBOBJS
) libcupsmime.exp
454 $(DSO
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@ \
455 -install_name
$(libdir)/$@ \
456 -current_version
1.0.0 \
457 -compatibility_version
1.0.0 \
458 -exported_symbols_list libcupsmime.exp \
460 $(RM
) libcupsmime.dylib
461 $(LN
) $@ libcupsmime.dylib
468 libcupsmime_s.a
: $(LIBOBJS
)
470 $(DSO
) $(DSOFLAGS
) -o libcupsmime_s.o
$(LIBOBJS
) $(LIBS
)
472 $(AR
) $(ARFLAGS
) $@ libcupsmime_s.o
479 libcupsmime.la
: $(LIBOBJS
)
481 $(CC
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(LIBOBJS
:.o
=.lo
) -rpath
$(LIBDIR
) \
482 -version-info
1:0 $(LIBS
)
489 libcupsmime.a
: $(LIBOBJS
)
492 $(AR
) $(ARFLAGS
) $@
$(LIBOBJS
)
497 # Make the test program, "testdirsvc".
500 testdirsvc
: testdirsvc.o
502 $(CC
) $(LDFLAGS
) -o testdirsvc testdirsvc.o
$(COMMONLIBS
) $(NETLIBS
)
506 # Make the test program, "testlpd".
509 testlpd
: testlpd.o ..
/cups
/$(LIBCUPSSTATIC
) cups-lpd
511 $(CC
) $(LDFLAGS
) -o testlpd testlpd.o ..
/cups
/$(LIBCUPSSTATIC
) \
512 $(COMMONLIBS
) $(LIBZ
) $(SSLLIBS
) $(DNSSDLIBS
) $(LIBGSSAPI
)
519 testmime
: testmime.o libcupsmime.a ..
/cups
/$(LIBCUPSSTATIC
)
521 $(CC
) $(ARCHFLAGS
) $(LDFLAGS
) -o
$@ testmime.o libcupsmime.a \
522 ..
/cups
/$(LIBCUPSSTATIC
) $(COMMONLIBS
) $(LIBZ
) $(SSLLIBS
) \
523 $(DNSSDLIBS
) $(LIBGSSAPI
)
524 echo Running MIME tests...
529 # Make the test program, "testspeed".
532 testspeed
: testspeed.o ..
/cups
/$(LIBCUPSSTATIC
)
534 $(CC
) $(LDFLAGS
) -o testspeed testspeed.o ..
/cups
/$(LIBCUPSSTATIC
) \
535 $(SSLLIBS
) $(DNSSDLIBS
) $(COMMONLIBS
) $(LIBZ
) $(LIBGSSAPI
)
539 # Make the test program, "testsub".
542 testsub
: testsub.o ..
/cups
/$(LIBCUPSSTATIC
)
544 $(CC
) $(LDFLAGS
) -o testsub testsub.o ..
/cups
/$(LIBCUPSSTATIC
) \
545 $(SSLLIBS
) $(DNSSDLIBS
) $(COMMONLIBS
) $(LIBZ
) $(LIBGSSAPI
)
556 # End of "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $".