Update changelog
[platform/upstream/cups.git] / filter / Makefile
1 #
2 # "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
3 #
4 #   Filter makefile for CUPS.
5 #
6 #   Copyright 2007-2012 by Apple Inc.
7 #   Copyright 1997-2006 by Easy Software Products.
8 #
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/".
14 #
15 #   This file is subject to the Apple OS-Developed Software exception.
16 #
17
18 include ../Makedefs
19
20
21 FILTERS =       \
22                 commandtops \
23                 gziptoany \
24                 pstops \
25                 rastertoepson \
26                 rastertohp \
27                 rastertolabel \
28                 rastertopwg
29 LIBTARGETS =    \
30                 $(LIBCUPSIMAGE) \
31                 libcupsimage.a
32 UNITTARGETS =   \
33                 rasterbench \
34                 testraster
35 TARGETS =       \
36                 $(LIBTARGETS) \
37                 $(FILTERS)
38
39 IMAGEOBJS =     error.o interpret.o raster.o
40 OBJS    =       $(IMAGEOBJS) \
41                 commandtops.o gziptoany.o common.o pstops.o \
42                 rasterbench.o rastertoepson.o rastertohp.o rastertolabel.o \
43                 rastertopwg.o testraster.o
44
45
46 #
47 # Make all targets...
48 #
49
50 all:    $(TARGETS)
51
52
53 #
54 # Make library targets...
55 #
56
57 libs:           $(LIBTARGETS)
58
59
60 #
61 # Make unit tests...
62 #
63
64 unittests:      $(UNITTARGETS)
65
66
67 #
68 # Clean all object files...
69 #
70
71 clean:
72         $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
73         $(RM) libcupsimage.so libcupsimage.sl libcupsimage.dylib
74
75
76 #
77 # Update dependencies (without system header dependencies...)
78 #
79
80 depend:
81         $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
82
83
84 #
85 # Install all targets...
86 #
87
88 install:        all install-data install-headers install-libs install-exec
89
90
91 #
92 # Install data files...
93 #
94
95 install-data:
96
97
98 #
99 # Install programs...
100 #
101
102 install-exec:
103         $(INSTALL_DIR) -m 755 $(SERVERBIN)/filter
104         for file in $(FILTERS); do \
105                 $(INSTALL_BIN) $$file $(SERVERBIN)/filter; \
106         done
107         $(RM) $(SERVERBIN)/filter/rastertodymo
108         $(LN) rastertolabel $(SERVERBIN)/filter/rastertodymo
109         if test "x$(SYMROOT)" != "x"; then \
110                 $(INSTALL_DIR) $(SYMROOT); \
111                 for file in $(FILTERS); do \
112                         cp $$file $(SYMROOT); \
113                 done \
114         fi
115
116
117 #
118 # Install headers...
119 #
120
121 install-headers:
122
123
124 #
125 # Install libraries...
126 #
127
128 install-libs: $(INSTALLSTATIC)
129         $(INSTALL_DIR) -m 755 $(LIBDIR)
130         $(INSTALL_LIB) $(LIBCUPSIMAGE) $(LIBDIR)
131         -if test $(LIBCUPSIMAGE) = "libcupsimage.so.2" -o $(LIBCUPSIMAGE) = "libcupsimage.sl.2"; then \
132                 $(RM) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \
133                 $(LN) $(LIBCUPSIMAGE) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \
134         fi
135         -if test $(LIBCUPSIMAGE) = "libcupsimage.2.dylib"; then \
136                 $(RM) $(LIBDIR)/libcupsimage.dylib; \
137                 $(LN) $(LIBCUPSIMAGE) $(LIBDIR)/libcupsimage.dylib; \
138         fi
139         if test "x$(SYMROOT)" != "x"; then \
140                 $(INSTALL_DIR) $(SYMROOT); \
141                 cp $(LIBCUPSIMAGE) $(SYMROOT); \
142         fi
143
144 installstatic:
145         $(INSTALL_DIR) -m 755 $(LIBDIR)
146         $(INSTALL_LIB) -m 755 libcupsimage.a $(LIBDIR)
147         $(RANLIB) $(LIBDIR)/libcupsimage.a
148         $(CHMOD) 555 $(LIBDIR)/libcupsimage.a
149
150
151 #
152 # Uninstall all targets...
153 #
154
155 uninstall:
156         for file in $(FILTERS); do \
157                 $(RM) $(SERVERBIN)/filter/$$file; \
158         done
159         $(RM) $(SERVERBIN)/filter/rastertodymo
160         -$(RMDIR) $(SERVERBIN)/filter
161         -$(RMDIR) $(SERVERBIN)
162         $(RM) $(LIBDIR)/libcupsimage.2.dylib
163         $(RM) $(LIBDIR)/libcupsimage.a
164         $(RM) $(LIBDIR)/libcupsimage.dylib
165         $(RM) $(LIBDIR)/libcupsimage_s.a
166         $(RM) $(LIBDIR)/libcupsimage.sl
167         $(RM) $(LIBDIR)/libcupsimage.sl.2
168         $(RM) $(LIBDIR)/libcupsimage.so
169         $(RM) $(LIBDIR)/libcupsimage.so.2
170         -$(RMDIR) $(LIBDIR)
171
172
173 #
174 # Automatic API help files...
175 #
176
177 apihelp:
178         echo Generating CUPS API help files...
179         mxmldoc --section "Programming" --title "Raster API" \
180                 --css ../doc/cups-printable.css \
181                 --header api-raster.header --intro api-raster.shtml \
182                 api-raster.xml \
183                 ../cups/raster.h interpret.c raster.c \
184                 >../doc/help/api-raster.html
185         mxmldoc --tokens help/api-raster.html api-raster.xml >../doc/help/api-raster.tokens
186         $(RM) api-raster.xml
187         mxmldoc --section "Programming" \
188                 --title "Developing PostScript Printer Drivers" \
189                 --css ../doc/cups-printable.css \
190                 --header postscript-driver.header \
191                 --intro postscript-driver.shtml \
192                 >../doc/help/postscript-driver.html
193         mxmldoc --section "Programming" \
194                 --title "Introduction to the PPD Compiler" \
195                 --css ../doc/cups-printable.css \
196                 --header ppd-compiler.header \
197                 --intro ppd-compiler.shtml \
198                 >../doc/help/ppd-compiler.html
199         mxmldoc --section "Programming" \
200                 --title "Developing Raster Printer Drivers" \
201                 --css ../doc/cups-printable.css \
202                 --header raster-driver.header \
203                 --intro raster-driver.shtml \
204                 >../doc/help/raster-driver.html
205         mxmldoc --section "Specifications" \
206                 --title "CUPS PPD Extensions" \
207                 --css ../doc/cups-printable.css \
208                 --header spec-ppd.header \
209                 --intro spec-ppd.shtml \
210                 >../doc/help/spec-ppd.html
211
212 framedhelp:
213         echo Generating CUPS API help files...
214         mxmldoc --section "Programming" --title "Raster API" \
215                 --framed ../cups/api-raster \
216                 --css ../doc/cups-printable.css \
217                 --header api-raster.header --intro api-raster.shtml \
218                 ../cups/raster.h interpret.c raster.c
219         mxmldoc --section "Programming" \
220                 --title "Developing PostScript Printer Drivers" \
221                 --framed ../cups/postscript-driver \
222                 --css ../doc/cups-printable.css \
223                 --header postscript-driver.header \
224                 --intro postscript-driver.shtml
225         mxmldoc --section "Programming" \
226                 --title "Introduction to the PPD Compiler" \
227                 --framed ../cups/ppd-compiler \
228                 --css ../doc/cups-printable.css \
229                 --header ppd-compiler.header \
230                 --intro ppd-compiler.shtml
231         mxmldoc --section "Programming" \
232                 --title "Developing Raster Printer Drivers" \
233                 --framed ../cups/raster-driver \
234                 --css ../doc/cups-printable.css \
235                 --header raster-driver.header \
236                 --intro raster-driver.shtml
237         mxmldoc --section "Specifications" \
238                 --title "CUPS PPD Extensions" \
239                 --framed ../cups/spec-ppd \
240                 --css ../doc/cups-printable.css \
241                 --header spec-ppd.header \
242                 --intro spec-ppd.shtml \
243
244
245 #
246 # commandtops
247 #
248
249 commandtops:    commandtops.o ../cups/$(LIBCUPS)
250         echo Linking $@...
251         $(CC) $(LDFLAGS) -o $@ commandtops.o $(LIBS)
252
253
254 #
255 # gziptoany
256 #
257
258 gziptoany:      gziptoany.o ../Makedefs ../cups/$(LIBCUPS)
259         echo Linking $@...
260         $(CC) $(LDFLAGS) -o $@ gziptoany.o $(LIBZ) $(LIBS)
261
262
263 #
264 # libcupsimage.so.2, libcupsimage.sl.2
265 #
266
267 libcupsimage.so.2 libcupsimage.sl.2:    $(IMAGEOBJS)
268         echo Linking $@...
269         $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(IMAGEOBJS) $(DSOLIBS) \
270                 -L../cups $(LINKCUPS)
271         $(RM) `basename $@ .2`
272         $(LN) $@ `basename $@ .2`
273
274
275 #
276 # libcupsimage.2.dylib
277 #
278
279 libcupsimage.2.dylib:   $(IMAGEOBJS) $(LIBCUPSIMAGEORDER)
280         echo Linking $@...
281         $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
282                 -install_name $(libdir)/$@ \
283                 -current_version 2.3.0 \
284                 -compatibility_version 2.0.0 \
285                 $(IMAGEOBJS) $(DSOLIBS) -L../cups $(LINKCUPS)
286         $(RM) libcupsimage.dylib
287         $(LN) $@ libcupsimage.dylib
288
289
290 #
291 # libcupsimage_s.a
292 #
293
294 libcupsimage_s.a:       $(IMAGEOBJS) libcupsimage_s.exp
295         echo Linking $@...
296         $(DSO) $(DSOFLAGS) -Wl,-berok,-bexport:libcupsimage_s.exp \
297                 -o libcupsimage_s.o $(IMAGEOBJS) $(DSOLIBS)
298         $(RM) $@
299         $(AR) $(ARFLAGS) $@ libcupsimage_s.o
300
301
302 #
303 # libcupsimage.la
304 #
305
306 libcupsimage.la:       $(IMAGEOBJS)
307         echo Linking $@...
308         $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(IMAGEOBJS:.o=.lo) $(DSOLIBS) \
309                 -L../cups $(LINKCUPS) \
310                 -rpath $(LIBDIR) -version-info 2:3
311
312
313 #
314 # libcupsimage.a
315 #
316
317 libcupsimage.a: $(IMAGEOBJS)
318         echo Archiving $@...
319         $(RM) $@
320         $(AR) $(ARFLAGS) $@ $(IMAGEOBJS)
321         $(RANLIB) $@
322
323
324 #
325 # pstops
326 #
327
328 pstops: pstops.o common.o ../cups/$(LIBCUPS)
329         echo Linking $@...
330         $(CC) $(LDFLAGS) -o $@ pstops.o common.o $(LIBS)
331
332
333 #
334 # rastertoepson
335 #
336
337 rastertoepson:  rastertoepson.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
338         echo Linking $@...
339         $(CC) $(LDFLAGS) -o $@ rastertoepson.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
340
341
342 #
343 # rastertohp
344 #
345
346 rastertohp:     rastertohp.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
347         echo Linking $@...
348         $(CC) $(LDFLAGS) -o $@ rastertohp.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
349
350
351 #
352 # rastertolabel
353 #
354
355 rastertolabel:  rastertolabel.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
356         echo Linking $@...
357         $(CC) $(LDFLAGS) -o $@ rastertolabel.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
358
359
360 #
361 # rastertopwg
362 #
363
364 rastertopwg:    rastertopwg.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
365         echo Linking $@...
366         $(CC) $(LDFLAGS) -o $@ rastertopwg.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
367
368
369 #
370 # testraster
371 #
372
373 testraster:     testraster.o ../cups/$(LIBCUPSSTATIC) libcupsimage.a
374         echo Linking $@...
375         $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testraster.o libcupsimage.a \
376                 ../cups/$(LIBCUPSSTATIC) $(IMGLIBS) $(DSOLIBS) $(COMMONLIBS) \
377                 $(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
378         echo Running raster API tests...
379         ./testraster
380
381
382 #
383 # rasterbench
384 #
385
386 rasterbench:    rasterbench.o libcupsimage.a
387         echo Linking $@...
388         $(CC) $(LDFLAGS) -o $@ rasterbench.o libcupsimage.a $(LIBS)
389
390
391 #
392 # Dependencies...
393 #
394
395 include Dependencies
396
397
398 #
399 # End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
400 #