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