]> git.ipfire.org Git - thirdparty/cups.git/blame - filter/Makefile
Merge changes from CUPS 1.5svn-r9641
[thirdparty/cups.git] / filter / Makefile
CommitLineData
ef416fc2 1#
b19ccc9e 2# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $"
ef416fc2 3#
4# Filter makefile for the Common UNIX Printing System (CUPS).
5#
f8b3a85b 6# Copyright 2007-2010 by Apple Inc.
bd7854cb 7# Copyright 1997-2006 by Easy Software Products.
ef416fc2 8#
9# These coded instructions, statements, and computer programs are the
bc44d920 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/".
ef416fc2 14#
15# This file is subject to the Apple OS-Developed Software exception.
16#
17
18include ../Makedefs
19
b86bc4cf 20
c9fc04c6 21FILTERS = \
e6013cfa 22 $(BANNERTOPS) \
c9fc04c6
MS
23 commandtops \
24 gziptoany \
e6013cfa 25 $(TEXTTOPS) \
c9fc04c6
MS
26 pstops \
27 $(IMGFILTERS) \
28 $(PDFTOPS) \
29 rastertolabel \
30 rastertoepson \
31 rastertohp
32LIBTARGETS = \
e1d6a774 33 $(LIBCUPSIMAGE) \
34 libcupsimage.a \
35 $(LIB32CUPSIMAGE) \
5f64df29
MS
36 $(LIB64CUPSIMAGE)
37UNITTARGETS = \
38 rasterbench \
39 testimage \
e1d6a774 40 testraster
c9fc04c6
MS
41TARGETS = \
42 $(LIBTARGETS) \
5f64df29 43 $(FILTERS)
ef416fc2 44
ef416fc2 45IMAGEOBJS = image-bmp.o image-colorspace.o image-gif.o image-jpeg.o \
46 image-photocd.o image-pix.o image-png.o image-pnm.o \
47 image-sgi.o image-sgilib.o image-sun.o image-tiff.o \
f7deaa1a 48 image-zoom.o image.o error.o interpret.o raster.o
e1d6a774 49IMAGE32OBJS = $(IMAGEOBJS:.o=.32.o)
50IMAGE64OBJS = $(IMAGEOBJS:.o=.64.o)
f8b3a85b 51OBJS = $(IMAGEOBJS) \
1f6f3dbc 52 bannertops.o commandtops.o gziptoany.o imagetops.o \
cda47a96 53 imagetoraster.o common.o pdftops.o pstext.o pstops.o \
ed486911 54 rasterbench.o rastertoepson.o rastertohp.o rastertolabel.o \
e1d6a774 55 testimage.o testraster.o textcommon.o texttops.o
ef416fc2 56
57
58#
59# Make all targets...
60#
61
e1d6a774 62all: $(TARGETS)
ef416fc2 63
64
c9fc04c6
MS
65#
66# Make library targets...
67#
68
69libs: $(LIBTARGETS)
70
71
5f64df29
MS
72#
73# Make unit tests...
74#
75
76unittests: $(UNITTARGETS)
77
78
ef416fc2 79#
80# Clean all object files...
81#
82
83clean:
5f64df29 84 $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
e1d6a774 85 $(RM) libcupsimage.so libcupsimage.sl libcupsimage.dylib
f301802f 86 $(RM) -r 32bit 64bit
ef416fc2 87
88
89#
90# Update dependencies (without system header dependencies...)
91#
92
93depend:
e1d6a774 94 touch Dependencies.tmp
95 makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1
96 $(RM) Dependencies
97 cp Dependencies.tmp Dependencies
ac884b6a
MS
98 sed -E -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies
99 sed -E -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies
e1d6a774 100 $(RM) Dependencies.tmp
ef416fc2 101
102
103#
104# Install all targets...
105#
106
50fe7201
MS
107install: all install-data install-headers install-libs install-exec
108
109
110#
111# Install data files...
112#
113
114install-data:
115
116
117#
118# Install programs...
119#
120
121install-exec:
bd7854cb 122 $(INSTALL_DIR) -m 755 $(SERVERBIN)/filter
ef416fc2 123 for file in $(FILTERS); do \
124 $(INSTALL_BIN) $$file $(SERVERBIN)/filter; \
125 done
126 $(RM) $(SERVERBIN)/filter/rastertodymo
127 $(LN) rastertolabel $(SERVERBIN)/filter/rastertodymo
50fe7201
MS
128 if test "x$(SYMROOT)" != "x"; then \
129 $(INSTALL_DIR) $(SYMROOT); \
f8b3a85b 130 for file in $(FILTERS); do \
50fe7201
MS
131 cp $$file $(SYMROOT); \
132 done \
133 fi
134
135
136#
137# Install headers...
138#
139
140install-headers:
141 $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
142 $(INSTALL_DATA) image.h $(INCLUDEDIR)/cups
143
144
145#
146# Install libraries...
147#
148
149install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
923edb68 150 $(INSTALL_DIR) -m 755 $(LIBDIR)
ef416fc2 151 $(INSTALL_LIB) $(LIBCUPSIMAGE) $(LIBDIR)
152 -if test $(LIBCUPSIMAGE) = "libcupsimage.so.2" -o $(LIBCUPSIMAGE) = "libcupsimage.sl.2"; then \
153 $(RM) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \
154 $(LN) $(LIBCUPSIMAGE) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \
155 fi
156 -if test $(LIBCUPSIMAGE) = "libcupsimage.2.dylib"; then \
ef416fc2 157 $(RM) $(LIBDIR)/libcupsimage.dylib; \
158 $(LN) $(LIBCUPSIMAGE) $(LIBDIR)/libcupsimage.dylib; \
159 fi
f8b3a85b
MS
160 if test "x$(SYMROOT)" != "x"; then \
161 $(INSTALL_DIR) $(SYMROOT); \
162 cp $(LIBCUPSIMAGE) $(SYMROOT); \
163 fi
923edb68 164
165installstatic:
166 $(INSTALL_DIR) -m 755 $(LIBDIR)
97c9a8d7
MS
167 $(INSTALL_LIB) -m 755 libcupsimage.a $(LIBDIR)
168 $(RANLIB) $(LIBDIR)/libcupsimage.a
169 $(CHMOD) 555 $(LIBDIR)/libcupsimage.a
ef416fc2 170
e1d6a774 171install32bit:
172 $(INSTALL_DIR) -m 755 $(LIB32DIR)
f301802f 173 $(INSTALL_LIB) 32bit/libcupsimage.so.2 $(LIB32DIR)/libcupsimage.so.2
ed486911 174 $(LN) libcupsimage.so.2 $(LIB32DIR)/libcupsimage.so
e1d6a774 175
176install64bit:
177 $(INSTALL_DIR) -m 755 $(LIB64DIR)
f301802f 178 $(INSTALL_LIB) 64bit/libcupsimage.so.2 $(LIB64DIR)/libcupsimage.so.2
ed486911 179 $(LN) libcupsimage.so.2 $(LIB64DIR)/libcupsimage.so
e1d6a774 180
ef416fc2 181
757d2cad 182#
183# Uninstall all targets...
184#
185
e1d6a774 186uninstall: $(UNINSTALL32) $(UNINSTALL64)
757d2cad 187 for file in $(FILTERS); do \
188 $(RM) $(SERVERBIN)/filter/$$file; \
189 done
190 $(RM) $(SERVERBIN)/filter/rastertodymo
191 -$(RMDIR) $(SERVERBIN)/filter
192 -$(RMDIR) $(SERVERBIN)
193 $(RM) $(LIBDIR)/libcupsimage.2.dylib
194 $(RM) $(LIBDIR)/libcupsimage.a
195 $(RM) $(LIBDIR)/libcupsimage.dylib
196 $(RM) $(LIBDIR)/libcupsimage_s.a
197 $(RM) $(LIBDIR)/libcupsimage.sl
198 $(RM) $(LIBDIR)/libcupsimage.sl.2
199 $(RM) $(LIBDIR)/libcupsimage.so
200 $(RM) $(LIBDIR)/libcupsimage.so.2
201 -$(RMDIR) $(LIBDIR)
202 $(RM) $(INCLUDEDIR)/cups/image.h
757d2cad 203 -$(RMDIR) $(INCLUDEDIR)/cups
204
e1d6a774 205uninstall32bit:
206 $(RM) $(LIB32DIR)/libcupsimage.so
207 $(RM) $(LIB32DIR)/libcupsimage.so.2
208 -$(RMDIR) $(LIB32DIR)
209
210uninstall64bit:
211 $(RM) $(LIB64DIR)/libcupsimage.so
212 $(RM) $(LIB64DIR)/libcupsimage.so.2
213 -$(RMDIR) $(LIB64DIR)
214
757d2cad 215
b423cd4c 216#
217# Automatic API help files...
218#
219
220apihelp:
221 echo Generating CUPS API help files...
222 mxmldoc --section "Programming" --title "Raster API" \
5a738aea
MS
223 --css ../doc/cups-printable.css \
224 --header api-raster.header --intro api-raster.shtml \
f11a948a 225 api-raster.xml \
ac884b6a
MS
226 ../cups/raster.h interpret.c raster.c \
227 >../doc/help/api-raster.html
f11a948a
MS
228 mxmldoc --tokens help/api-raster.html api-raster.xml >../doc/help/api-raster.tokens
229 $(RM) api-raster.xml
8b450588
MS
230 mxmldoc --section "Programming" \
231 --title "Developing PostScript Printer Drivers" \
232 --css ../doc/cups-printable.css \
233 --header postscript-driver.header \
234 --intro postscript-driver.shtml \
235 >../doc/help/postscript-driver.html
236 mxmldoc --section "Programming" \
237 --title "Introduction to the PPD Compiler" \
238 --css ../doc/cups-printable.css \
239 --header ppd-compiler.header \
240 --intro ppd-compiler.shtml \
241 >../doc/help/ppd-compiler.html
242 mxmldoc --section "Programming" \
243 --title "Developing Raster Printer Drivers" \
244 --css ../doc/cups-printable.css \
245 --header raster-driver.header \
246 --intro raster-driver.shtml \
247 >../doc/help/raster-driver.html
10d09e33
MS
248 mxmldoc --section "Specifications" \
249 --title "CUPS PPD Extensions" \
250 --css ../doc/cups-printable.css \
251 --header spec-ppd.header \
252 --intro spec-ppd.shtml \
253 >../doc/help/spec-ppd.html
b423cd4c 254
5a738aea
MS
255framedhelp:
256 echo Generating CUPS API help files...
257 mxmldoc --section "Programming" --title "Raster API" \
258 --framed ../cups/api-raster \
259 --css ../doc/cups-printable.css \
260 --header api-raster.header --intro api-raster.shtml \
ac884b6a 261 ../cups/raster.h interpret.c raster.c
8b450588
MS
262 mxmldoc --section "Programming" \
263 --title "Developing PostScript Printer Drivers" \
264 --framed ../cups/postscript-driver \
265 --css ../doc/cups-printable.css \
266 --header postscript-driver.header \
267 --intro postscript-driver.shtml
268 mxmldoc --section "Programming" \
269 --title "Introduction to the PPD Compiler" \
270 --framed ../cups/ppd-compiler \
271 --css ../doc/cups-printable.css \
272 --header ppd-compiler.header \
273 --intro ppd-compiler.shtml
274 mxmldoc --section "Programming" \
275 --title "Developing Raster Printer Drivers" \
276 --framed ../cups/raster-driver \
277 --css ../doc/cups-printable.css \
278 --header raster-driver.header \
279 --intro raster-driver.shtml
10d09e33
MS
280 mxmldoc --section "Specifications" \
281 --title "CUPS PPD Extensions" \
282 --framed ../cups/spec-ppd \
283 --css ../doc/cups-printable.css \
284 --header spec-ppd.header \
285 --intro spec-ppd.shtml \
8b450588 286
b423cd4c 287
1f6f3dbc
MS
288#
289# bannertops
290#
291
cda47a96 292bannertops: bannertops.o pstext.o common.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
1f6f3dbc 293 echo Linking $@...
cda47a96
MS
294 $(CC) $(LDFLAGS) -o $@ bannertops.o pstext.o common.o $(LINKCUPSIMAGE) \
295 $(IMGLIBS) $(LIBS)
1f6f3dbc
MS
296
297
7a14d768
MS
298#
299# commandtops
300#
301
302commandtops: commandtops.o ../cups/$(LIBCUPS)
303 echo Linking $@...
304 $(CC) $(LDFLAGS) -o $@ commandtops.o $(LIBS)
305
306
ef416fc2 307#
308# gziptoany
309#
310
311gziptoany: gziptoany.o ../Makedefs ../cups/$(LIBCUPS)
312 echo Linking $@...
313 $(CC) $(LDFLAGS) -o $@ gziptoany.o $(LIBZ) $(LIBS)
314
315
ef416fc2 316#
317# libcupsimage.so.2, libcupsimage.sl.2
318#
319
320libcupsimage.so.2 libcupsimage.sl.2: $(IMAGEOBJS)
321 echo Linking $@...
a74454a7 322 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(IMAGEOBJS) $(DSOLIBS) \
323 -L../cups $(LINKCUPS) -lm
ef416fc2 324 $(RM) `basename $@ .2`
325 $(LN) $@ `basename $@ .2`
326
327
e1d6a774 328#
f301802f 329# 32bit/libcupsimage.so.2
e1d6a774 330#
331
f301802f 33232bit/libcupsimage.so.2: $(IMAGE32OBJS)
e1d6a774 333 echo Linking 32-bit $@...
f301802f 334 -mkdir 32bit
335 $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(IMAGE32OBJS) $(DSOLIBS) \
336 -L../cups/32bit $(LINKCUPS) -lm
e1d6a774 337
338
339#
f301802f 340# 64bit/libcupsimage.so.2
e1d6a774 341#
342
f301802f 34364bit/libcupsimage.so.2: $(IMAGE64OBJS)
e1d6a774 344 echo Linking 64-bit $@...
f301802f 345 -mkdir 64bit
346 $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(IMAGE64OBJS) $(DSOLIBS) \
347 -L../cups/64bit $(LINKCUPS) -lm
e1d6a774 348
349
ef416fc2 350#
351# libcupsimage.2.dylib
352#
353
355e94dc 354libcupsimage.2.dylib: $(IMAGEOBJS) $(LIBCUPSIMAGEORDER)
ef416fc2 355 echo Linking $@...
e1d6a774 356 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
fa73b229 357 -install_name $(libdir)/$@ \
f7deaa1a 358 -current_version 2.3.0 \
ef416fc2 359 -compatibility_version 2.0.0 \
360 $(IMAGEOBJS) $(DSOLIBS) -L../cups $(LINKCUPS) -lm
361 $(RM) libcupsimage.dylib
362 $(LN) $@ libcupsimage.dylib
363
364
365#
366# libcupsimage_s.a
367#
368
a74454a7 369libcupsimage_s.a: $(IMAGEOBJS) libcupsimage_s.exp
ef416fc2 370 echo Linking $@...
e1d6a774 371 $(DSO) $(DSOFLAGS) -Wl,-berok,-bexport:libcupsimage_s.exp \
372 -o libcupsimage_s.o $(IMAGEOBJS) $(DSOLIBS) -lm
ef416fc2 373 $(RM) $@
374 $(AR) $(ARFLAGS) $@ libcupsimage_s.o
375
376
377#
378# libcupsimage.la
379#
380
381libcupsimage.la: $(IMAGEOBJS)
382 echo Linking $@...
e1d6a774 383 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(IMAGEOBJS:.o=.lo) $(DSOLIBS) \
a74454a7 384 -L../cups $(LINKCUPS) \
f7deaa1a 385 -rpath $(LIBDIR) -version-info 2:3
ef416fc2 386
387
388#
389# libcupsimage.a
390#
391
392libcupsimage.a: $(IMAGEOBJS)
393 echo Archiving $@...
394 $(RM) $@
395 $(AR) $(ARFLAGS) $@ $(IMAGEOBJS)
396 $(RANLIB) $@
397
398
399#
400# testimage
401#
402
403testimage: testimage.o libcupsimage.a ../Makedefs
404 echo Linking $@...
405 $(CC) $(LDFLAGS) -o $@ testimage.o libcupsimage.a \
406 $(IMGLIBS) $(DSOLIBS) $(LIBS)
407
408
409#
410# imagetops
411#
412
413imagetops: imagetops.o common.o $(LIBCUPSIMAGE) \
414 ../cups/$(LIBCUPS)
415 echo Linking $@...
416 $(CC) $(LDFLAGS) -o $@ imagetops.o common.o $(LINKCUPSIMAGE) \
417 $(IMGLIBS) $(LIBS)
418
419
420#
421# imagetoraster
422#
423
424imagetoraster: imagetoraster.o common.o $(LIBCUPSIMAGE) \
425 ../cups/$(LIBCUPS)
426 echo Linking $@...
427 $(CC) $(LDFLAGS) -o $@ imagetoraster.o common.o $(LINKCUPSIMAGE) \
428 $(IMGLIBS) $(LIBS)
429
430
431#
432# pstops
433#
434
435pstops: pstops.o common.o ../cups/$(LIBCUPS)
436 echo Linking $@...
bd7854cb 437 $(CC) $(LDFLAGS) -o $@ pstops.o common.o $(LIBS) -lm
ef416fc2 438
439
91c84a35
MS
440#
441# pdftops
442#
443
444pdftops: pdftops.o common.o ../cups/$(LIBCUPS)
445 echo Linking $@...
446 $(CC) $(LDFLAGS) -o $@ pdftops.o common.o $(LIBS)
447
448
ef416fc2 449#
450# rastertolabel
451#
452
453rastertolabel: rastertolabel.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
454 echo Linking $@...
455 $(CC) $(LDFLAGS) -o $@ rastertolabel.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
456
457
458#
459# rastertoepson
460#
461
462rastertoepson: rastertoepson.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
463 echo Linking $@...
464 $(CC) $(LDFLAGS) -o $@ rastertoepson.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
465
466
467#
468# rastertohp
469#
470
471rastertohp: rastertohp.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
472 echo Linking $@...
473 $(CC) $(LDFLAGS) -o $@ rastertohp.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
474
475
476#
477# testraster
478#
479
6d2f911b 480testraster: testraster.o ../cups/$(LIBCUPSSTATIC) libcupsimage.a
ef416fc2 481 echo Linking $@...
c9fc04c6 482 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testraster.o libcupsimage.a \
6d2f911b 483 ../cups/$(LIBCUPSSTATIC) $(IMGLIBS) $(DSOLIBS) $(COMMONLIBS) \
c168a833 484 $(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
c9fc04c6
MS
485 echo Running raster API tests...
486 ./testraster
ef416fc2 487
488
ed486911 489#
490# rasterbench
491#
492
f7deaa1a 493rasterbench: rasterbench.o libcupsimage.a
ed486911 494 echo Linking $@...
f7deaa1a 495 $(CC) $(LDFLAGS) -o $@ rasterbench.o libcupsimage.a $(LIBS)
ed486911 496
497
ef416fc2 498#
499# texttops
500#
501
502texttops: texttops.o textcommon.o common.o \
503 ../cups/$(LIBCUPS)
504 echo Linking $@...
505 $(CC) $(LDFLAGS) -o $@ texttops.o textcommon.o common.o $(LIBS)
506
507
508#
509# Dependencies...
510#
511
512include Dependencies
513
514
515#
b19ccc9e 516# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $".
ef416fc2 517#