]> git.ipfire.org Git - thirdparty/cups.git/blob - driver/Makefile
Import changes from CUPS 1.4svn-r8704.
[thirdparty/cups.git] / driver / Makefile
1 #
2 # "$Id$"
3 #
4 # Makefile for the CUPS base drivers.
5 #
6 # Copyright 2007-2009 by Apple Inc.
7 # Copyright 2002-2005 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
16 #
17 # Include standard definitions...
18 #
19
20 include ../Makedefs
21
22
23 #
24 # Object files...
25 #
26
27 LIBOBJS = \
28 attr.o \
29 check.o \
30 cmyk.o \
31 dither.o \
32 lut.o \
33 pack.o \
34 rgb.o \
35 srgb.o
36 OBJS = \
37 commandtoescpx.o \
38 commandtopclx.o \
39 rastertoescpx.o \
40 rastertopclx.o \
41 pcl-common.o \
42 testcmyk.o \
43 testdither.o \
44 testrgb.o \
45 $(LIBOBJS)
46
47 LIBTARGETS = \
48 $(LIBCUPSDRIVER) \
49 libcupsdriver.a
50 UNITTARGETS = \
51 testcmyk \
52 testdither \
53 testrgb
54 TARGETS = \
55 $(LIBTARGETS) \
56 commandtoescpx \
57 commandtopclx \
58 rastertoescpx \
59 rastertopclx
60
61
62 #
63 # Make everything...
64 #
65
66 all: $(TARGETS)
67
68
69 #
70 # Make library targets...
71 #
72
73 libs: $(LIBTARGETS)
74
75
76 #
77 # Make unit tests...
78 #
79
80 unittests: $(UNITTARGETS)
81
82
83 #
84 # Clean everything...
85 #
86
87 clean:
88 $(RM) $(OBJS) core
89 $(RM) *.bck core.*
90 $(RM) $(TARGETS) $(UNITTARGETS)
91 $(RM) -r test
92 $(RM) libcupsdriver.so libcupsdriver.sl libcupsdriver.dylib
93
94
95 #
96 # Update dependencies...
97 #
98
99 depend:
100 makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
101
102
103 #
104 # Install all targets...
105 #
106
107 install: all install-data install-headers install-libs install-exec
108
109
110 #
111 # Install data files...
112 #
113
114 install-data:
115
116
117 #
118 # Install programs...
119 #
120
121 install-exec:
122 $(INSTALL_DIR) $(SERVERBIN)/filter
123 for file in commandtoescpx commandtopclx rastertoescpx rastertopclx; do \
124 $(INSTALL_BIN) $$file $(SERVERBIN)/filter; \
125 done
126 if test "x$(SYMROOT)" != "x"; then \
127 $(INSTALL_DIR) $(SYMROOT); \
128 for file in commandtoescpx commandtopclx rastertoescpx rastertopclx; do \
129 cp $$file $(SYMROOT); \
130 done \
131 fi
132
133
134 #
135 # Install headers...
136 #
137
138 install-headers:
139 echo Installing header files in $(INCLUDEDIR)/cups...
140 $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
141 $(INSTALL_DATA) driver.h $(INCLUDEDIR)/cups
142
143
144 #
145 # Install libraries...
146 #
147
148 install-libs: $(INSTALLSTATIC)
149 echo Installing libraries in $(LIBDIR)...
150 $(INSTALL_DIR) -m 755 $(LIBDIR)
151 $(INSTALL_LIB) $(LIBCUPSDRIVER) $(LIBDIR)
152 if test $(LIBCUPSDRIVER) = "libcupsdriver.so.1" -o $(LIBCUPSDRIVER) = "libcupsdriver.sl.1"; then \
153 $(RM) $(LIBDIR)/`basename $(LIBCUPSDRIVER) .1`; \
154 $(LN) $(LIBCUPSDRIVER) $(LIBDIR)/`basename $(LIBCUPSDRIVER) .1`; \
155 fi
156 if test $(LIBCUPSDRIVER) = "libcupsdriver.1.dylib"; then \
157 $(RM) $(LIBDIR)/libcupsdriver.dylib; \
158 $(LN) $(LIBCUPSDRIVER) $(LIBDIR)/libcupsdriver.dylib; \
159 fi
160 if test "x$(SYMROOT)" != "x"; then \
161 $(INSTALL_DIR) $(SYMROOT); \
162 cp $(LIBCUPSDRIVER) $(SYMROOT); \
163 fi
164
165 installstatic:
166 $(INSTALL_DIR) -m 755 $(LIBDIR)
167 $(INSTALL_LIB) -m 755 libcupsdriver.a $(LIBDIR)
168 $(RANLIB) $(LIBDIR)/libcupsdriver.a
169 $(CHMOD) 555 $(LIBDIR)/libcupsdriver.a
170
171
172 #
173 # Uninstall...
174 #
175
176 uninstall:
177 for file in commandtoescpx commandtopclx rastertoescpx rastertopclx; do \
178 $(RM) $(SERVERBIN)/filter/$$file; \
179 done
180 $(RM) $(LIBDIR)/libcupsdriver.1.dylib
181 $(RM) $(LIBDIR)/libcupsdriver.a
182 $(RM) $(LIBDIR)/libcupsdriver.dylib
183 $(RM) $(LIBDIR)/libcupsdriver_s.a
184 $(RM) $(LIBDIR)/libcupsdriver.sl
185 $(RM) $(LIBDIR)/libcupsdriver.sl.1
186 $(RM) $(LIBDIR)/libcupsdriver.so
187 $(RM) $(LIBDIR)/libcupsdriver.so.1
188 -$(RMDIR) $(LIBDIR)
189 $(RM) $(INCLUDEDIR)/cups/driver.h
190 -$(RMDIR) $(INCLUDEDIR)/cups
191
192
193 #
194 # Automatic API help files...
195 #
196
197 apihelp:
198 mxmldoc --section "Programming" \
199 --title "Printer Driver API" \
200 --css ../doc/cups-printable.css \
201 --header api-driver.header --intro api-driver.shtml \
202 api-driver.xml \
203 driver.h $(LIBOBJS:.o=.c) >../doc/help/api-driver.html
204 mxmldoc --tokens help/api-driver.html >../doc/help/api-driver.tokens
205 $(RM) api-driver.xml
206
207 framedhelp:
208 mxmldoc --framed api-driver \
209 --section "Programming" \
210 --title "Printer Driver API" \
211 --css ../doc/cups-printable.css \
212 --header api-driver.header --intro api-driver.shtml \
213 driver.h $(LIBOBJS:.o=.c)
214
215
216 #
217 # commandtopclx, the PCL command printer driver.
218 #
219
220 commandtopclx: commandtopclx.o $(LIBCUPSDRIVER) ../cups/$(LIBCUPS)
221 echo Linking $@...
222 $(CC) $(LDFLAGS) -o $@ commandtopclx.o -L. -lcupsdriver $(LIBS)
223
224
225 #
226 # commandtoescpx, the ESC/P command printer driver.
227 #
228
229 commandtoescpx: commandtoescpx.o $(LIBCUPSDRIVER) ../cups/$(LIBCUPS)
230 echo Linking $@...
231 $(CC) $(LDFLAGS) -o $@ commandtoescpx.o -L. -lcupsdriver $(LIBS)
232
233
234 #
235 # rastertoescpx, the ESC/P raster printer driver.
236 #
237
238 rastertoescpx: rastertoescpx.o $(LIBCUPSDRIVER) ../cups/$(LIBCUPS)
239 echo Linking $@...
240 $(CC) $(LDFLAGS) -o $@ rastertoescpx.o -L. -lcupsdriver \
241 $(LINKCUPSIMAGE) $(LIBS)
242
243
244 #
245 # rastertopclx, the ESC/P raster printer driver.
246 #
247
248 rastertopclx: rastertopclx.o pcl-common.o $(LIBCUPSDRIVER) \
249 ../cups/$(LIBCUPS)
250 echo Linking $@...
251 $(CC) $(LDFLAGS) -o $@ rastertopclx.o pcl-common.o -L. -lcupsdriver \
252 $(LINKCUPSIMAGE) $(LIBS)
253
254
255 #
256 # test, make a common test subdirectory for the other test programs.
257 #
258
259 test:
260 if test ! -d test; then \
261 rm -rf test; \
262 mkdir test; \
263 fi
264
265
266 #
267 # testcmyk, test cmyk separation functions.
268 #
269
270 testcmyk: test testcmyk.o libcupsdriver.a ../cups/libcups.a
271 echo Linking $@...
272 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testcmyk.o libcupsdriver.a \
273 ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
274 $(COMMONLIBS) $(LIBZ)
275 echo Running CMYK API tests...
276 ./testcmyk > test/testcmyk.log
277
278
279 #
280 # testdither, test dithering functions.
281 #
282
283 testdither: test testdither.o libcupsdriver.a ../cups/libcups.a
284 echo Linking $@...
285 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testdither.o libcupsdriver.a \
286 ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
287 $(COMMONLIBS) $(LIBZ)
288 echo Running dither API tests...
289 ./testdither > test/0-255.pgm 2>test/0-255.log
290 ./testdither 0 127 255 > test/0-127-255.pgm 2>test/0-127-255.log
291 ./testdither 0 85 170 255 > test/0-85-170-255.pgm 2>test/0-85-170-255.log
292 ./testdither 0 63 127 170 198 227 255 > test/0-63-127-170-198-227-255.pgm 2>test/0-63-127-170-198-227-255.log
293 ./testdither 0 210 383 > test/0-210-383.pgm 2>test/0-210-383.log
294 ./testdither 0 82 255 > test/0-82-255.pgm 2>test/0-82-255.log
295 ./testdither 0 510 > test/0-510.pgm 2>test/0-510.log
296 ./testdither 0 1020 > test/0-1020.pgm 2>test/0-1020.log
297
298
299 #
300 # testrgb, test RGB separation functions.
301 #
302
303 testrgb: test testrgb.o libcupsdriver.a ../cups/libcups.a
304 echo Linking $@...
305 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testrgb.o libcupsdriver.a \
306 ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
307 $(COMMONLIBS) $(LIBZ)
308 echo Running RGB API tests...
309 ./testrgb > test/testrgb.log 2>&1 || echo "RGB tests failed!"
310
311
312 #
313 # libcupsdriver.so.1, libcupsdriver.sl.1
314 #
315
316 libcupsdriver.so.1 libcupsdriver.sl.1: $(LIBOBJS)
317 echo Linking $@...
318 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
319 $(RM) `basename $@ .1`
320 $(LN) $@ `basename $@ .1`
321
322
323 #
324 # libcupsdriver.1.dylib
325 #
326
327 libcupsdriver.1.dylib: $(LIBOBJS) libcupsdriver.exp
328 echo Linking $@...
329 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
330 -install_name $(libdir)/$@ \
331 -current_version 1.0.0 \
332 -compatibility_version 1.0.0 \
333 -exported_symbols_list libcupsdriver.exp \
334 $(LIBOBJS) $(LIBS)
335 $(RM) libcupsdriver.dylib
336 $(LN) $@ libcupsdriver.dylib
337
338
339 #
340 # libcupsdriver_s.a
341 #
342
343 libcupsdriver_s.a: $(LIBOBJS)
344 echo Creating $@...
345 $(DSO) $(DSOFLAGS) -o libcupsdriver_s.o $(LIBOBJS) $(LIBS)
346 $(RM) $@
347 $(AR) $(ARFLAGS) $@ libcupsdriver_s.o
348
349
350 #
351 # libcupsdriver.la
352 #
353
354 libcupsdriver.la: $(LIBOBJS)
355 echo Linking $@...
356 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
357 -version-info 1:0 $(LIBS)
358
359
360 #
361 # libcupsdriver.a
362 #
363
364 libcupsdriver.a: $(LIBOBJS)
365 echo Archiving $@...
366 $(RM) $@
367 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
368 $(RANLIB) $@
369
370
371 #
372 # Include dependencies...
373 #
374
375 include Dependencies
376
377
378 #
379 # End of "$Id$".
380 #