4 # Makefile for the CUPS PPD Compiler.
6 # Copyright 2007-2008 by Apple Inc.
7 # Copyright 2002-2006 by Easy Software Products.
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/".
17 # Include standard definitions...
47 LIB32OBJS
= $(LIBOBJS
:.o
=.32.o
)
48 LIB64OBJS
= $(LIBOBJS
:.o
=.64.o
)
83 # Make library targets...
95 $(RM
) *.bak
*.bck core.
*
99 $(RM
) libcupsppdc.so libcupsppdc.sl libcupsppdc.dylib
104 # Update dependencies...
108 touch Dependencies.tmp
109 makedepend
-Y
-I..
-fDependencies.tmp
$(OBJS
:.o
=.c
) >/dev
/null
2>&1
111 cp Dependencies.tmp Dependencies
112 sed
-E
-e
'1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp
>>Dependencies
113 sed
-E
-e
'1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp
>>Dependencies
114 $(RM
) Dependencies.tmp
118 # Install all targets...
121 install: all install-data install-headers install-libs install-exec
125 # Install data files...
129 $(INSTALL_DIR
) $(DATADIR
)/drv
130 $(INSTALL_DATA
) sample.drv
$(DATADIR
)/drv
131 if
test `uname` = Darwin
; then \
132 $(INSTALL_DIR
) /Library
/Printers
/PPDs.drv
; \
137 # Install programs...
141 echo Installing PPD compiler programs...
142 $(INSTALL_DIR
) $(BINDIR
)
143 $(INSTALL_BIN
) ppdc
$(BINDIR
)
144 $(INSTALL_BIN
) ppdhtml
$(BINDIR
)
145 $(INSTALL_BIN
) ppdi
$(BINDIR
)
146 $(INSTALL_BIN
) ppdmerge
$(BINDIR
)
147 $(INSTALL_BIN
) ppdpo
$(BINDIR
)
148 $(INSTALL_DIR
) $(SERVERBIN
)/driver
149 $(INSTALL_BIN
) drv
$(SERVERBIN
)/driver
150 if
test "x$(SYMROOT)" != "x"; then \
151 $(INSTALL_DIR
) $(SYMROOT
); \
152 for file in
$(TARGETS
); do \
153 cp
$$file $(SYMROOT
); \
163 echo Installing header files in
$(INCLUDEDIR
)/cups...
164 $(INSTALL_DIR
) -m
755 $(INCLUDEDIR
)/cups
165 $(INSTALL_DATA
) ppdc.h
$(INCLUDEDIR
)/cups
169 # Install libraries...
172 install-libs
: $(INSTALLSTATIC
) $(INSTALL32
) $(INSTALL64
)
173 echo Installing libraries in
$(LIBDIR
)...
174 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
175 $(INSTALL_LIB
) $(LIBCUPSPPDC
) $(LIBDIR
)
176 if
test $(LIBCUPSPPDC
) = "libcupsppdc.so.1" -o
$(LIBCUPSPPDC
) = "libcupsppdc.sl.1"; then \
177 $(RM
) $(LIBDIR
)/`basename $(LIBCUPSPPDC) .1`; \
178 $(LN
) $(LIBCUPSPPDC
) $(LIBDIR
)/`basename $(LIBCUPSPPDC) .1`; \
180 if
test $(LIBCUPSPPDC
) = "libcupsppdc.1.dylib"; then \
181 $(RM
) $(LIBDIR
)/libcupsppdc.dylib
; \
182 $(LN
) $(LIBCUPSPPDC
) $(LIBDIR
)/libcupsppdc.dylib
; \
184 if
test "x$(SYMROOT)" != "x"; then \
185 $(INSTALL_DIR
) $(SYMROOT
); \
186 cp
$(LIBCUPSPPDC
) $(SYMROOT
); \
190 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
191 $(INSTALL_LIB
) libcupsppdc.a
$(LIBDIR
)
192 $(RANLIB
) $(LIBDIR
)/libcupsppdc.a
195 echo Installing libraries in
$(LIB32DIR
)...
196 $(INSTALL_DIR
) -m
755 $(LIB32DIR
)
197 $(INSTALL_LIB
) 32bit
/libcupsppdc.so
.1 $(LIB32DIR
)/libcupsppdc.so
.1
198 $(LN
) libcupsppdc.so
.1 $(LIB32DIR
)/libcupsppdc.so
201 echo Installing libraries in
$(LIB64DIR
)...
202 $(INSTALL_DIR
) -m
755 $(LIB64DIR
)
203 $(INSTALL_LIB
) 64bit
/libcupsppdc.so
.1 $(LIB64DIR
)/libcupsppdc.so
.1
204 $(LN
) libcupsppdc.so
.1 $(LIB64DIR
)/libcupsppdc.so
213 $(RM
) $(BINDIR
)/ppdhtml
215 $(RM
) $(BINDIR
)/ppdmerge
216 $(RM
) $(BINDIR
)/ppdpo
217 $(RM
) $(SERVERBIN
)/driver
/drv
218 $(RMDIR
) $(SERVERBIN
)/driver
219 $(RM
) $(DATADIR
)/drv
/sample.drv
220 $(RMDIR
) $(DATADIR
)/drv
221 if
test `uname` = Darwin
; then \
222 $(RMDIR
) /Library
/Printers
/PPDs.drv
; \
224 $(RM
) $(LIBDIR
)/libcupsppdc
.1.dylib
225 $(RM
) $(LIBDIR
)/libcupsppdc.a
226 $(RM
) $(LIBDIR
)/libcupsppdc.dylib
227 $(RM
) $(LIBDIR
)/libcupsppdc_s.a
228 $(RM
) $(LIBDIR
)/libcupsppdc.sl
229 $(RM
) $(LIBDIR
)/libcupsppdc.sl
.1
230 $(RM
) $(LIBDIR
)/libcupsppdc.so
231 $(RM
) $(LIBDIR
)/libcupsppdc.so
.1
233 $(RM
) $(INCLUDEDIR
)/cups
/ppdc.h
234 -$(RMDIR
) $(INCLUDEDIR
)/cups
237 $(RM
) $(LIB32DIR
)/libcupsppdc.so
238 $(RM
) $(LIB32DIR
)/libcupsppdc.so
.1
239 -$(RMDIR
) $(LIB32DIR
)
242 $(RM
) $(LIB64DIR
)/libcupsppdc.so
243 $(RM
) $(LIB64DIR
)/libcupsppdc.so
.1
244 -$(RMDIR
) $(LIB64DIR
)
248 # Automatic API help files...
252 mxmldoc
--section
"Programming" \
253 --title
"PPD Compiler API" \
254 --css ..
/doc
/cups-printable.css \
255 --header api-ppdc.header
--intro api-ppdc.shtml \
256 ppdc.h
$(LIBOBJS
:.o
=.
cxx) >..
/doc
/help
/api-ppdc.html
259 mxmldoc
--framed api-ppdc \
260 --section
"Programming" \
261 --title
"PPD Compiler API" \
262 --css ..
/doc
/cups-printable.css \
263 --header api-ppdc.header
--intro api-ppdc.shtml \
264 ppdc.h
$(LIBOBJS
:.o
=.
cxx)
268 # drv, the CUPS driver interface program to the PPD compiler.
271 drv
: drv.o
$(LIBCUPSPPDC
) ..
/cups
/$(LIBCUPS
)
273 $(CXX
) $(LDFLAGS
) -o
$@ drv.o
-L.
-lcupsppdc
$(LIBS
)
277 # ppdc, the PPD compiler.
280 ppdc
: ppdc.o
$(LIBCUPSPPDC
) ..
/cups
/$(LIBCUPS
)
282 $(CXX
) $(LDFLAGS
) -o
$@ ppdc.o
-L.
-lcupsppdc
$(LIBS
)
285 ppdc-static
: ppdc.o libcupsppdc.a ..
/cups
/libcups.a foo.drv foo-fr.po
287 $(CXX
) $(ARCHFLAGS
) $(LDFLAGS
) -o ppdc-static ppdc.o libcupsppdc.a \
288 ..
/cups
/libcups.a
$(LIBGSSAPI
) $(SSLLIBS
) $(COMMONLIBS
) $(LIBZ
)
289 echo Testing PPD compiler...
290 .
/ppdc-static
-l en
,fr
-I ..
/data foo.drv
291 .
/ppdc-static
-l en
,fr
-z
-I ..
/data foo.drv
295 # ppdhtml, the PPD to HTML utility.
298 ppdhtml
: ppdhtml.o
$(LIBCUPSPPDC
) ..
/cups
/$(LIBCUPS
)
300 $(CXX
) $(LDFLAGS
) -o
$@ ppdhtml.o
-L.
-lcupsppdc
$(LIBS
)
304 # ppdi, import PPD files.
307 ppdi
: ppdi.o
$(LIBCUPSPPDC
) ..
/cups
/$(LIBCUPS
)
309 $(CXX
) $(LDFLAGS
) -o
$@ ppdi.o
-L.
-lcupsppdc
$(LIBS
)
313 # ppdmerge, merge PPD files.
316 ppdmerge
: ppdmerge.o ..
/cups
/$(LIBCUPS
)
318 $(CXX
) $(LDFLAGS
) -o
$@ ppdmerge.o
$(LIBS
)
322 # ppdpo, create message catalog files.
325 ppdpo
: ppdpo.o
$(LIBCUPSPPDC
) ..
/cups
/$(LIBCUPS
)
327 $(CXX
) $(LDFLAGS
) -o
$@ ppdpo.o
-L.
-lcupsppdc
$(LIBS
)
331 # libcupsppdc.so.1, libcupsppdc.sl.1
334 libcupsppdc.so
.1 libcupsppdc.sl
.1: $(LIBOBJS
)
336 $(DSOXX
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(LIBOBJS
) $(LIBS
)
337 $(RM
) `basename $@ .1`
338 $(LN
) $@
`basename $@ .1`
342 # 32bit/libcupsppdc.so.1
345 32bit
/libcupsppdc.so
.1: $(LIB32OBJS
)
346 echo Linking
32-bit
$@...
348 $(DSOXX
) $(ARCH32FLAGS
) $(DSO32FLAGS
) -o
$@
$(LIB32OBJS
) $(LIBS
)
349 $(RM
) 32bit
/libcupsppdc.so
350 $(LN
) libcupsppdc.so
.1 32bit
/libcupsppdc.so
354 # 64bit/libcupsppdc.so.1
357 64bit
/libcupsppdc.so
.1: $(LIB64OBJS
)
358 echo Linking
64-bit
$@...
360 $(DSOXX
) $(ARCH64FLAGS
) $(DSO64FLAGS
) -o
$@
$(LIB64OBJS
) $(LIBS
)
361 $(RM
) 64bit
/libcupsppdc.so
362 $(LN
) libcupsppdc.so
.1 64bit
/libcupsppdc.so
366 # libcupsppdc.1.dylib
369 libcupsppdc
.1.dylib
: $(LIBOBJS
) libcupsppdc.exp
371 $(DSOXX
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@ \
372 -install_name
$(libdir)/$@ \
373 -current_version
1.0.0 \
374 -compatibility_version
1.0.0 \
375 -exported_symbols_list libcupsppdc.exp \
377 $(RM
) libcupsppdc.dylib
378 $(LN
) $@ libcupsppdc.dylib
385 libcupsppdc_s.a
: $(LIBOBJS
)
387 $(DSOXX
) $(DSOFLAGS
) -o libcupsppdc_s.o
$(LIBOBJS
) $(LIBS
)
389 $(AR
) $(ARFLAGS
) $@ libcupsppdc_s.o
396 libcupsppdc.la
: $(LIBOBJS
)
398 $(CC
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(LIBOBJS
:.o
=.lo
) -rpath
$(LIBDIR
) \
399 -version-info
1:0 $(LIBS
)
406 libcupsppdc.a
: $(LIBOBJS
)
409 $(AR
) $(ARFLAGS
) $@
$(LIBOBJS
)
414 # Include dependencies...