2 # Filter makefile for CUPS.
4 # Copyright 2007-2017 by Apple Inc.
5 # Copyright 1997-2006 by Easy Software Products.
7 # Licensed under Apache License v2.0. See the file "LICENSE" for more information.
32 IMAGEOBJS
= error.o interpret.o raster.o
34 commandtops.o gziptoany.o common.o pstops.o \
35 rasterbench.o rastertoepson.o rastertohp.o rastertolabel.o \
36 rastertopwg.o testclient.o testraster.o
47 # Make library targets...
57 unittests
: $(UNITTARGETS
)
61 # Clean all object files...
65 $(RM
) $(OBJS
) $(TARGETS
) $(UNITTARGETS
)
66 $(RM
) libcupsimage.so libcupsimage.sl libcupsimage.dylib
70 # Update dependencies (without system header dependencies...)
74 $(CC
) -MM
$(ALL_CFLAGS
) $(OBJS
:.o
=.c
) >Dependencies
78 # Install all targets...
81 install: all install-data install-headers install-libs install-exec
85 # Install data files...
96 $(INSTALL_DIR
) -m
755 $(SERVERBIN
)/filter
97 for file in
$(FILTERS
); do \
98 $(INSTALL_BIN
) $$file $(SERVERBIN
)/filter; \
100 $(RM
) $(SERVERBIN
)/filter/rastertodymo
101 $(LN
) rastertolabel
$(SERVERBIN
)/filter/rastertodymo
102 if
test "x$(SYMROOT)" != "x"; then \
103 $(INSTALL_DIR
) $(SYMROOT
); \
104 for file in
$(FILTERS
); do \
105 cp
$$file $(SYMROOT
); \
106 dsymutil
$(SYMROOT
)/$$file; \
119 # Install libraries...
122 install-libs
: $(INSTALLSTATIC
)
123 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
124 $(INSTALL_LIB
) $(LIBCUPSIMAGE
) $(LIBDIR
)
125 -if
test $(LIBCUPSIMAGE
) = "libcupsimage.so.2" -o
$(LIBCUPSIMAGE
) = "libcupsimage.sl.2"; then \
126 $(RM
) $(LIBDIR
)/`basename $(LIBCUPSIMAGE) .2`; \
127 $(LN
) $(LIBCUPSIMAGE
) $(LIBDIR
)/`basename $(LIBCUPSIMAGE) .2`; \
129 -if
test $(LIBCUPSIMAGE
) = "libcupsimage.2.dylib"; then \
130 $(RM
) $(LIBDIR
)/libcupsimage.dylib
; \
131 $(LN
) $(LIBCUPSIMAGE
) $(LIBDIR
)/libcupsimage.dylib
; \
133 if
test "x$(SYMROOT)" != "x"; then \
134 $(INSTALL_DIR
) $(SYMROOT
); \
135 cp
$(LIBCUPSIMAGE
) $(SYMROOT
); \
136 dsymutil
$(SYMROOT
)/$(LIBCUPSIMAGE
); \
140 $(INSTALL_DIR
) -m
755 $(LIBDIR
)
141 $(INSTALL_LIB
) -m
755 libcupsimage.a
$(LIBDIR
)
142 $(RANLIB
) $(LIBDIR
)/libcupsimage.a
143 $(CHMOD
) 555 $(LIBDIR
)/libcupsimage.a
147 # Uninstall all targets...
151 for file in
$(FILTERS
); do \
152 $(RM
) $(SERVERBIN
)/filter/$$file; \
154 $(RM
) $(SERVERBIN
)/filter/rastertodymo
155 -$(RMDIR
) $(SERVERBIN
)/filter
156 -$(RMDIR
) $(SERVERBIN
)
157 $(RM
) $(LIBDIR
)/libcupsimage
.2.dylib
158 $(RM
) $(LIBDIR
)/libcupsimage.a
159 $(RM
) $(LIBDIR
)/libcupsimage.dylib
160 $(RM
) $(LIBDIR
)/libcupsimage_s.a
161 $(RM
) $(LIBDIR
)/libcupsimage.sl
162 $(RM
) $(LIBDIR
)/libcupsimage.sl
.2
163 $(RM
) $(LIBDIR
)/libcupsimage.so
164 $(RM
) $(LIBDIR
)/libcupsimage.so
.2
169 # Automatic API help files...
173 echo Generating CUPS API help files...
174 mxmldoc
--section
"Programming" --title
"Raster API" \
175 --css ..
/doc
/cups-printable.css \
176 --header api-raster.header
--intro api-raster.shtml \
178 ..
/cups
/raster.h interpret.c raster.c \
179 >..
/doc
/help
/api-raster.html
180 mxmldoc
--tokens help
/api-raster.html api-raster.xml
>..
/doc
/help
/api-raster.tokens
182 mxmldoc
--section
"Programming" \
183 --title
"Developing PostScript Printer Drivers" \
184 --css ..
/doc
/cups-printable.css \
185 --header postscript-driver.header \
186 --intro postscript-driver.shtml \
187 >..
/doc
/help
/postscript-driver.html
188 mxmldoc
--section
"Programming" \
189 --title
"Introduction to the PPD Compiler" \
190 --css ..
/doc
/cups-printable.css \
191 --header ppd-compiler.header \
192 --intro ppd-compiler.shtml \
193 >..
/doc
/help
/ppd-compiler.html
194 mxmldoc
--section
"Programming" \
195 --title
"Developing Raster Printer Drivers" \
196 --css ..
/doc
/cups-printable.css \
197 --header raster-driver.header \
198 --intro raster-driver.shtml \
199 >..
/doc
/help
/raster-driver.html
200 mxmldoc
--section
"Specifications" \
201 --title
"CUPS PPD Extensions" \
202 --css ..
/doc
/cups-printable.css \
203 --header spec-ppd.header \
204 --intro spec-ppd.shtml \
205 >..
/doc
/help
/spec-ppd.html
212 commandtops
: commandtops.o ..
/cups
/$(LIBCUPS
)
214 $(LD_CC
) $(LDFLAGS
) -o
$@ commandtops.o
$(LIBS
)
221 gziptoany
: gziptoany.o ..
/Makedefs ..
/cups
/$(LIBCUPS
)
223 $(LD_CC
) $(LDFLAGS
) -o
$@ gziptoany.o
$(LIBZ
) $(LIBS
)
227 # libcupsimage.so.2, libcupsimage.sl.2
230 libcupsimage.so
.2 libcupsimage.sl
.2: $(IMAGEOBJS
)
232 $(DSO
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(IMAGEOBJS
) $(DSOLIBS
) \
233 -L..
/cups
$(LINKCUPS
)
234 $(RM
) `basename $@ .2`
235 $(LN
) $@
`basename $@ .2`
239 # libcupsimage.2.dylib
242 libcupsimage
.2.dylib
: $(IMAGEOBJS
) $(LIBCUPSIMAGEORDER
)
244 $(DSO
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@ \
245 -install_name
$(libdir)/$@ \
246 -current_version
2.3.0 \
247 -compatibility_version
2.0.0 \
248 $(IMAGEOBJS
) $(DSOLIBS
) -L..
/cups
$(LINKCUPS
)
249 $(RM
) libcupsimage.dylib
250 $(LN
) $@ libcupsimage.dylib
257 libcupsimage_s.a
: $(IMAGEOBJS
) libcupsimage_s.exp
259 $(DSO
) $(DSOFLAGS
) -Wl
,-berok
,-bexport
:libcupsimage_s.exp \
260 -o libcupsimage_s.o
$(IMAGEOBJS
) $(DSOLIBS
)
262 $(AR
) $(ARFLAGS
) $@ libcupsimage_s.o
269 libcupsimage.la
: $(IMAGEOBJS
)
271 $(DSO
) $(ARCHFLAGS
) $(DSOFLAGS
) -o
$@
$(IMAGEOBJS
:.o
=.lo
) $(DSOLIBS
) \
272 -L..
/cups
$(LINKCUPS
) \
273 -rpath
$(LIBDIR
) -version-info
2:3
280 libcupsimage.a
: $(IMAGEOBJS
)
283 $(AR
) $(ARFLAGS
) $@
$(IMAGEOBJS
)
291 pstops
: pstops.o common.o ..
/cups
/$(LIBCUPS
)
293 $(LD_CC
) $(LDFLAGS
) -o
$@ pstops.o common.o
$(LIBS
)
300 rastertoepson
: rastertoepson.o ..
/cups
/$(LIBCUPS
) $(LIBCUPSIMAGE
)
302 $(LD_CC
) $(LDFLAGS
) -o
$@ rastertoepson.o
$(LINKCUPSIMAGE
) $(IMGLIBS
) $(LIBS
)
309 rastertohp
: rastertohp.o ..
/cups
/$(LIBCUPS
) $(LIBCUPSIMAGE
)
311 $(LD_CC
) $(LDFLAGS
) -o
$@ rastertohp.o
$(LINKCUPSIMAGE
) $(IMGLIBS
) $(LIBS
)
318 rastertolabel
: rastertolabel.o ..
/cups
/$(LIBCUPS
) $(LIBCUPSIMAGE
)
320 $(LD_CC
) $(LDFLAGS
) -o
$@ rastertolabel.o
$(LINKCUPSIMAGE
) $(IMGLIBS
) $(LIBS
)
327 rastertopwg
: rastertopwg.o ..
/cups
/$(LIBCUPS
) $(LIBCUPSIMAGE
)
329 $(LD_CC
) $(LDFLAGS
) -o
$@ rastertopwg.o
$(LINKCUPSIMAGE
) $(IMGLIBS
) $(LIBS
)
331 rastertopwg-static
: rastertopwg.o ..
/cups
/$(LIBCUPSSTATIC
) libcupsimage.a
333 $(LD_CC
) $(LDFLAGS
) -o
$@ rastertopwg.o libcupsimage.a \
334 ..
/cups
/$(LIBCUPSSTATIC
) $(IMGLIBS
) $(DSOLIBS
) $(COMMONLIBS
) \
335 $(SSLLIBS
) $(DNSSDLIBS
) $(LIBGSSAPI
)
339 # testclient (dependency on static libraries is intentional)
342 testclient
: testclient.o ..
/cups
/$(LIBCUPSSTATIC
) libcupsimage.a
344 $(LD_CC
) $(LDFLAGS
) -o
$@ testclient.o \
345 libcupsimage.a ..
/cups
/$(LIBCUPSSTATIC
) \
346 $(LIBGSSAPI
) $(SSLLIBS
) $(DNSSDLIBS
) $(COMMONLIBS
) $(LIBZ
)
353 testraster
: testraster.o ..
/cups
/$(LIBCUPSSTATIC
) libcupsimage.a
355 $(LD_CC
) $(ARCHFLAGS
) $(LDFLAGS
) -o
$@ testraster.o libcupsimage.a \
356 ..
/cups
/$(LIBCUPSSTATIC
) $(IMGLIBS
) $(DSOLIBS
) $(COMMONLIBS
) \
357 $(SSLLIBS
) $(DNSSDLIBS
) $(LIBGSSAPI
)
358 echo Running raster API tests...
366 rasterbench
: rasterbench.o libcupsimage.a
368 $(LD_CC
) $(LDFLAGS
) -o
$@ rasterbench.o libcupsimage.a
$(LIBS
)