]> git.ipfire.org Git - thirdparty/cups.git/blame - ppdc/Makefile
Merge changes from CUPS 1.4svn-r7485.
[thirdparty/cups.git] / ppdc / Makefile
CommitLineData
ac884b6a
MS
1#
2# "$Id$"
3#
4# Makefile for the CUPS PPD Compiler.
5#
6# Copyright 2007-2008 by Apple Inc.
7# Copyright 2002-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
16#
17# Include standard definitions...
18#
19
20include ../Makedefs
21
22
23#
24# Object files...
25#
26
50fe7201 27LIBOBJS = \
ac884b6a
MS
28 ppdc-array.o \
29 ppdc-attr.o \
30 ppdc-catalog.o \
31 ppdc-choice.o \
32 ppdc-constraint.o \
33 ppdc-driver.o \
34 ppdc-file.o \
35 ppdc-filter.o \
36 ppdc-font.o \
37 ppdc-group.o \
38 ppdc-import.o \
39 ppdc-mediasize.o \
40 ppdc-message.o \
41 ppdc-option.o \
42 ppdc-profile.o \
43 ppdc-shared.o \
44 ppdc-source.o \
45 ppdc-string.o \
46 ppdc-variable.o
50fe7201
MS
47LIB32OBJS = $(LIBOBJS:.o=.32.o)
48LIB64OBJS = $(LIBOBJS:.o=.64.o)
49OBJS = \
50 $(LIBOBJS) \
51 $(LIB32OBJS) \
52 $(LIB64OBJS) \
ac884b6a
MS
53 drv.o \
54 ppdc.o \
55 ppdhtml.o \
56 ppdi.o \
57 ppdmerge.o \
50fe7201
MS
58 ppdpo.o
59TARGETS = \
60 $(LIBCUPSPPDC) \
61 $(LIB32CUPSPPDC) \
62 $(LIB64CUPSPPDC) \
63 libcupsppdc.a \
ac884b6a
MS
64 drv \
65 ppdc-static \
66 ppdc \
67 ppdhtml \
68 ppdi \
69 ppdmerge \
70 ppdpo
71
72
73#
74# Make everything...
75#
76
77all: $(TARGETS)
78
79
80#
81# Clean everything...
82#
83
84clean:
85 $(RM) $(OBJS) core
86 $(RM) *.bak *.bck core.*
87 $(RM) $(TARGETS)
88 $(RM) -r ppd
89 $(RM) test.drv
50fe7201
MS
90 $(RM) libcupsppdc.so libcupsppdc.sl libcupsppdc.dylib
91 $(RM) -r 32bit 64bit
ac884b6a
MS
92
93
94#
95# Update dependencies...
96#
97
98depend:
50fe7201
MS
99 touch Dependencies.tmp
100 makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1
101 $(RM) Dependencies
102 cp Dependencies.tmp Dependencies
103 sed -E -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies
104 sed -E -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies
105 $(RM) Dependencies.tmp
106
107
108#
109# Install all targets...
110#
111
112install: all install-data install-headers install-libs install-exec
113
114
115#
116# Install data files...
117#
118
119install-data:
120 $(INSTALL_DIR) $(DATADIR)/drv
ac884b6a
MS
121
122
123#
50fe7201 124# Install programs...
ac884b6a
MS
125#
126
50fe7201 127install-exec:
ac884b6a
MS
128 echo Installing PPD compiler programs...
129 $(INSTALL_DIR) $(BINDIR)
130 $(INSTALL_BIN) ppdc $(BINDIR)
131 $(INSTALL_BIN) ppdhtml $(BINDIR)
132 $(INSTALL_BIN) ppdi $(BINDIR)
133 $(INSTALL_BIN) ppdmerge $(BINDIR)
134 $(INSTALL_BIN) ppdpo $(BINDIR)
135 $(INSTALL_DIR) $(SERVERBIN)/driver
136 $(INSTALL_BIN) drv $(SERVERBIN)/driver
50fe7201
MS
137 if test "x$(SYMROOT)" != "x"; then \
138 $(INSTALL_DIR) $(SYMROOT); \
139 for file in $(TARGETS); do \
140 cp $$file $(SYMROOT); \
141 done \
142 fi
143
144
145#
146# Install headers...
147#
148
149install-headers:
150 echo Installing header files in $(INCLUDEDIR)/cups...
151 $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
152 $(INSTALL_DATA) ppdc.h $(INCLUDEDIR)/cups
153
154
155#
156# Install libraries...
157#
158
159install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
160 echo Installing libraries in $(LIBDIR)...
161 $(INSTALL_DIR) -m 755 $(LIBDIR)
162 $(INSTALL_LIB) $(LIBCUPSPPDC) $(LIBDIR)
163 if test $(LIBCUPSPPDC) = "libcupsppdc.so.1" -o $(LIBCUPSPPDC) = "libcupsppdc.sl.1"; then \
164 $(RM) $(LIBDIR)/`basename $(LIBCUPSPPDC) .1`; \
165 $(LN) $(LIBCUPSPPDC) $(LIBDIR)/`basename $(LIBCUPSPPDC) .1`; \
166 fi
167 if test $(LIBCUPSPPDC) = "libcupsppdc.1.dylib"; then \
50fe7201
MS
168 $(RM) $(LIBDIR)/libcupsppdc.dylib; \
169 $(LN) $(LIBCUPSPPDC) $(LIBDIR)/libcupsppdc.dylib; \
170 fi
171 if test "x$(SYMROOT)" != "x"; then \
172 $(INSTALL_DIR) $(SYMROOT); \
173 cp $(LIBCUPSPPDC) $(SYMROOT); \
174 fi
175
176installstatic:
177 $(INSTALL_DIR) -m 755 $(LIBDIR)
178 $(INSTALL_LIB) libcupsppdc.a $(LIBDIR)
179 $(RANLIB) $(LIBDIR)/libcupsppdc.a
180
181install32bit:
182 echo Installing libraries in $(LIB32DIR)...
183 $(INSTALL_DIR) -m 755 $(LIB32DIR)
184 $(INSTALL_LIB) 32bit/libcupsppdc.so.1 $(LIB32DIR)/libcupsppdc.so.1
185 $(LN) libcupsppdc.so.1 $(LIB32DIR)/libcupsppdc.so
186
187install64bit:
188 echo Installing libraries in $(LIB64DIR)...
189 $(INSTALL_DIR) -m 755 $(LIB64DIR)
190 $(INSTALL_LIB) 64bit/libcupsppdc.so.1 $(LIB64DIR)/libcupsppdc.so.1
191 $(LN) libcupsppdc.so.1 $(LIB64DIR)/libcupsppdc.so
ac884b6a
MS
192
193
194#
195# Uninstall...
196#
197
198uninstall:
199 $(RM) $(BINDIR)/ppdc
200 $(RM) $(BINDIR)/ppdhtml
201 $(RM) $(BINDIR)/ppdi
202 $(RM) $(BINDIR)/ppdmerge
203 $(RM) $(BINDIR)/ppdpo
204 $(RM) $(SERVERBIN)/driver/drv
205 $(RMDIR) $(SERVERBIN)/driver
206 $(RMDIR) $(DATADIR)/drv
50fe7201
MS
207 $(RM) $(LIBDIR)/libcupsppdc.1.dylib
208 $(RM) $(LIBDIR)/libcupsppdc.a
209 $(RM) $(LIBDIR)/libcupsppdc.dylib
210 $(RM) $(LIBDIR)/libcupsppdc_s.a
211 $(RM) $(LIBDIR)/libcupsppdc.sl
212 $(RM) $(LIBDIR)/libcupsppdc.sl.1
213 $(RM) $(LIBDIR)/libcupsppdc.so
214 $(RM) $(LIBDIR)/libcupsppdc.so.1
215 -$(RMDIR) $(LIBDIR)
216 $(RM) $(INCLUDEDIR)/cups/ppdc.h
217 -$(RMDIR) $(INCLUDEDIR)/cups
218
219uninstall32bit:
220 $(RM) $(LIB32DIR)/libcupsppdc.so
221 $(RM) $(LIB32DIR)/libcupsppdc.so.1
222 -$(RMDIR) $(LIB32DIR)
223
224uninstall64bit:
225 $(RM) $(LIB64DIR)/libcupsppdc.so
226 $(RM) $(LIB64DIR)/libcupsppdc.so.1
227 -$(RMDIR) $(LIB64DIR)
228
229
230#
231# Automatic API help files...
232#
233
234apihelp:
235 mxmldoc --section "Programming" \
236 --title "PPD Compiler API" \
237 --css ../doc/cups-printable.css \
238 --header api-ppdc.header --intro api-ppdc.shtml \
239 ppdc.h $(LIBOBJS:.o=.cxx) >../doc/help/api-ppdc.html
240
241framedhelp:
242 mxmldoc --framed api-ppdc \
243 --section "Programming" \
244 --title "PPD Compiler API" \
245 --css ../doc/cups-printable.css \
246 --header api-ppdc.header --intro api-ppdc.shtml \
247 ppdc.h $(LIBOBJS:.o=.cxx)
ac884b6a
MS
248
249
250#
251# drv, the CUPS driver interface program to the PPD compiler.
252#
253
50fe7201 254drv: drv.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
ac884b6a 255 echo Linking $@...
50fe7201 256 $(CXX) $(LDFLAGS) -o $@ drv.o -L. -lcupsppdc $(LIBS)
ac884b6a
MS
257
258
259#
260# ppdc, the PPD compiler.
261#
262
50fe7201 263ppdc: ppdc.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
ac884b6a 264 echo Linking $@...
50fe7201 265 $(CXX) $(LDFLAGS) -o $@ ppdc.o -L. -lcupsppdc $(LIBS)
ac884b6a
MS
266
267
50fe7201 268ppdc-static: ppdc.o libcupsppdc.a ../cups/libcups.a foo.drv foo-fr.po
ac884b6a 269 echo Linking $@...
50fe7201 270 $(CXX) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a ../cups/libcups.a \
ac884b6a
MS
271 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
272 echo Testing PPD compiler...
273 ./ppdc-static -l en,fr -I ../data foo.drv
274 ./ppdc-static -l en,fr -z -I ../data foo.drv
275
276
277#
278# ppdhtml, the PPD to HTML utility.
279#
280
50fe7201 281ppdhtml: ppdhtml.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
ac884b6a 282 echo Linking $@...
50fe7201 283 $(CXX) $(LDFLAGS) -o $@ ppdhtml.o -L. -lcupsppdc $(LIBS)
ac884b6a
MS
284
285
286#
287# ppdi, import PPD files.
288#
289
50fe7201 290ppdi: ppdi.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
ac884b6a 291 echo Linking $@...
50fe7201 292 $(CXX) $(LDFLAGS) -o $@ ppdi.o -L. -lcupsppdc $(LIBS)
ac884b6a
MS
293
294
295#
296# ppdmerge, merge PPD files.
297#
298
299ppdmerge: ppdmerge.o ../cups/$(LIBCUPS)
300 echo Linking $@...
301 $(CXX) $(LDFLAGS) -o $@ ppdmerge.o $(LIBS)
302
303
304#
305# ppdpo, create message catalog files.
306#
307
50fe7201 308ppdpo: ppdpo.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
ac884b6a 309 echo Linking $@...
50fe7201 310 $(CXX) $(LDFLAGS) -o $@ ppdpo.o -L. -lcupsppdc $(LIBS)
ac884b6a
MS
311
312
313#
50fe7201 314# libcupsppdc.so.1, libcupsppdc.sl.1
ac884b6a
MS
315#
316
50fe7201
MS
317libcupsppdc.so.1 libcupsppdc.sl.1: $(LIBOBJS)
318 echo Linking $@...
319 $(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
320 $(RM) `basename $@ .1`
321 $(LN) $@ `basename $@ .1`
322
323
324#
325# 32bit/libcupsppdc.so.1
326#
327
32832bit/libcupsppdc.so.1: $(LIB32OBJS)
329 echo Linking 32-bit $@...
330 -mkdir 32bit
331 $(DSOXX) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBS)
332 $(RM) 32bit/libcupsppdc.so
333 $(LN) libcupsppdc.so.1 32bit/libcupsppdc.so
334
335
336#
337# 64bit/libcupsppdc.so.1
338#
339
34064bit/libcupsppdc.so.1: $(LIB64OBJS)
341 echo Linking 64-bit $@...
342 -mkdir 64bit
343 $(DSOXX) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBS)
344 $(RM) 64bit/libcupsppdc.so
345 $(LN) libcupsppdc.so.1 64bit/libcupsppdc.so
346
347
348#
349# libcupsppdc.1.dylib
350#
351
352libcupsppdc.1.dylib: $(LIBOBJS) libcupsppdc.exp
353 echo Linking $@...
354 $(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
355 -install_name $(libdir)/$@ \
356 -current_version 1.0.0 \
357 -compatibility_version 1.0.0 \
358 -exported_symbols_list libcupsppdc.exp \
359 $(LIBOBJS) $(LIBS)
360 $(RM) libcupsppdc.dylib
361 $(LN) $@ libcupsppdc.dylib
362
363
364#
365# libcupsppdc_s.a
366#
367
368libcupsppdc_s.a: $(LIBOBJS)
ac884b6a 369 echo Creating $@...
50fe7201
MS
370 $(DSOXX) $(DSOFLAGS) -o libcupsppdc_s.o $(LIBOBJS) $(LIBS)
371 $(RM) $@
372 $(AR) $(ARFLAGS) $@ libcupsppdc_s.o
373
374
375#
376# libcupsppdc.la
377#
378
379libcupsppdc.la: $(LIBOBJS)
380 echo Linking $@...
381 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
382 -version-info 1:0 $(LIBS)
383
384
385#
386# libcupsppdc.a
387#
388
389libcupsppdc.a: $(LIBOBJS)
390 echo Archiving $@...
ac884b6a 391 $(RM) $@
50fe7201 392 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
ac884b6a
MS
393 $(RANLIB) $@
394
395
396#
397# Include dependencies...
398#
399
400include Dependencies
401
402
403#
404# End of "$Id$".
405#