]> git.ipfire.org Git - thirdparty/cups.git/blame - ppdc/Makefile
Add missing files from r8033.
[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
47OBJS = \
48 $(LIBOBJS) \
ac884b6a
MS
49 ppdc.o \
50 ppdhtml.o \
51 ppdi.o \
52 ppdmerge.o \
4509bb49
MS
53 ppdpo.o \
54 testcatalog.o
c9fc04c6 55LIBTARGETS = \
50fe7201 56 $(LIBCUPSPPDC) \
5f64df29
MS
57 libcupsppdc.a
58UNITTARGETS = \
59 ppdc-static \
60 testcatalog
c9fc04c6
MS
61TARGETS = \
62 $(LIBTARGETS) \
ac884b6a
MS
63 ppdc \
64 ppdhtml \
65 ppdi \
66 ppdmerge \
5f64df29 67 ppdpo
ac884b6a
MS
68
69
70#
71# Make everything...
72#
73
74all: $(TARGETS)
75
76
c9fc04c6
MS
77#
78# Make library targets...
79#
80
81libs: $(LIBTARGETS)
82
83
5f64df29
MS
84#
85# Make unit tests...
86#
87
88unittests: $(UNITTARGETS)
89
90
ac884b6a
MS
91#
92# Clean everything...
93#
94
95clean:
96 $(RM) $(OBJS) core
97 $(RM) *.bak *.bck core.*
5f64df29 98 $(RM) $(TARGETS) $(UNITTARGETS)
ac884b6a
MS
99 $(RM) -r ppd
100 $(RM) test.drv
50fe7201 101 $(RM) libcupsppdc.so libcupsppdc.sl libcupsppdc.dylib
ac884b6a
MS
102
103
104#
105# Update dependencies...
106#
107
108depend:
bdd6c45b 109 makedepend -Y -I.. -fDependencies $(OBJS:.o=.cxx) >/dev/null 2>&1
50fe7201
MS
110
111
112#
113# Install all targets...
114#
115
116install: all install-data install-headers install-libs install-exec
117
118
119#
120# Install data files...
121#
122
123install-data:
124 $(INSTALL_DIR) $(DATADIR)/drv
634763e8 125 $(INSTALL_DATA) sample.drv $(DATADIR)/drv
ac884b6a
MS
126
127
128#
50fe7201 129# Install programs...
ac884b6a
MS
130#
131
50fe7201 132install-exec:
ac884b6a
MS
133 echo Installing PPD compiler programs...
134 $(INSTALL_DIR) $(BINDIR)
135 $(INSTALL_BIN) ppdc $(BINDIR)
136 $(INSTALL_BIN) ppdhtml $(BINDIR)
137 $(INSTALL_BIN) ppdi $(BINDIR)
138 $(INSTALL_BIN) ppdmerge $(BINDIR)
139 $(INSTALL_BIN) ppdpo $(BINDIR)
50fe7201
MS
140 if test "x$(SYMROOT)" != "x"; then \
141 $(INSTALL_DIR) $(SYMROOT); \
142 for file in $(TARGETS); do \
143 cp $$file $(SYMROOT); \
144 done \
145 fi
146
147
148#
149# Install headers...
150#
151
152install-headers:
153 echo Installing header files in $(INCLUDEDIR)/cups...
154 $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
155 $(INSTALL_DATA) ppdc.h $(INCLUDEDIR)/cups
156
157
158#
159# Install libraries...
160#
161
162install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
163 echo Installing libraries in $(LIBDIR)...
164 $(INSTALL_DIR) -m 755 $(LIBDIR)
165 $(INSTALL_LIB) $(LIBCUPSPPDC) $(LIBDIR)
166 if test $(LIBCUPSPPDC) = "libcupsppdc.so.1" -o $(LIBCUPSPPDC) = "libcupsppdc.sl.1"; then \
167 $(RM) $(LIBDIR)/`basename $(LIBCUPSPPDC) .1`; \
168 $(LN) $(LIBCUPSPPDC) $(LIBDIR)/`basename $(LIBCUPSPPDC) .1`; \
169 fi
170 if test $(LIBCUPSPPDC) = "libcupsppdc.1.dylib"; then \
50fe7201
MS
171 $(RM) $(LIBDIR)/libcupsppdc.dylib; \
172 $(LN) $(LIBCUPSPPDC) $(LIBDIR)/libcupsppdc.dylib; \
173 fi
174 if test "x$(SYMROOT)" != "x"; then \
175 $(INSTALL_DIR) $(SYMROOT); \
176 cp $(LIBCUPSPPDC) $(SYMROOT); \
177 fi
178
179installstatic:
180 $(INSTALL_DIR) -m 755 $(LIBDIR)
181 $(INSTALL_LIB) libcupsppdc.a $(LIBDIR)
182 $(RANLIB) $(LIBDIR)/libcupsppdc.a
183
ac884b6a
MS
184
185#
186# Uninstall...
187#
188
189uninstall:
190 $(RM) $(BINDIR)/ppdc
191 $(RM) $(BINDIR)/ppdhtml
192 $(RM) $(BINDIR)/ppdi
193 $(RM) $(BINDIR)/ppdmerge
194 $(RM) $(BINDIR)/ppdpo
634763e8 195 $(RM) $(DATADIR)/drv/sample.drv
ac884b6a 196 $(RMDIR) $(DATADIR)/drv
50fe7201
MS
197 $(RM) $(LIBDIR)/libcupsppdc.1.dylib
198 $(RM) $(LIBDIR)/libcupsppdc.a
199 $(RM) $(LIBDIR)/libcupsppdc.dylib
200 $(RM) $(LIBDIR)/libcupsppdc_s.a
201 $(RM) $(LIBDIR)/libcupsppdc.sl
202 $(RM) $(LIBDIR)/libcupsppdc.sl.1
203 $(RM) $(LIBDIR)/libcupsppdc.so
204 $(RM) $(LIBDIR)/libcupsppdc.so.1
205 -$(RMDIR) $(LIBDIR)
206 $(RM) $(INCLUDEDIR)/cups/ppdc.h
207 -$(RMDIR) $(INCLUDEDIR)/cups
208
50fe7201
MS
209
210#
211# Automatic API help files...
212#
213
214apihelp:
215 mxmldoc --section "Programming" \
216 --title "PPD Compiler API" \
217 --css ../doc/cups-printable.css \
218 --header api-ppdc.header --intro api-ppdc.shtml \
219 ppdc.h $(LIBOBJS:.o=.cxx) >../doc/help/api-ppdc.html
220
221framedhelp:
222 mxmldoc --framed api-ppdc \
223 --section "Programming" \
224 --title "PPD Compiler API" \
225 --css ../doc/cups-printable.css \
226 --header api-ppdc.header --intro api-ppdc.shtml \
227 ppdc.h $(LIBOBJS:.o=.cxx)
ac884b6a
MS
228
229
ac884b6a
MS
230#
231# ppdc, the PPD compiler.
232#
233
50fe7201 234ppdc: ppdc.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
ac884b6a 235 echo Linking $@...
50fe7201 236 $(CXX) $(LDFLAGS) -o $@ ppdc.o -L. -lcupsppdc $(LIBS)
ac884b6a
MS
237
238
50fe7201 239ppdc-static: ppdc.o libcupsppdc.a ../cups/libcups.a foo.drv foo-fr.po
ac884b6a 240 echo Linking $@...
c9fc04c6
MS
241 $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
242 ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
ac884b6a
MS
243 echo Testing PPD compiler...
244 ./ppdc-static -l en,fr -I ../data foo.drv
245 ./ppdc-static -l en,fr -z -I ../data foo.drv
246
247
248#
249# ppdhtml, the PPD to HTML utility.
250#
251
50fe7201 252ppdhtml: ppdhtml.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
ac884b6a 253 echo Linking $@...
50fe7201 254 $(CXX) $(LDFLAGS) -o $@ ppdhtml.o -L. -lcupsppdc $(LIBS)
ac884b6a
MS
255
256
257#
258# ppdi, import PPD files.
259#
260
50fe7201 261ppdi: ppdi.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
ac884b6a 262 echo Linking $@...
50fe7201 263 $(CXX) $(LDFLAGS) -o $@ ppdi.o -L. -lcupsppdc $(LIBS)
ac884b6a
MS
264
265
266#
267# ppdmerge, merge PPD files.
268#
269
270ppdmerge: ppdmerge.o ../cups/$(LIBCUPS)
271 echo Linking $@...
272 $(CXX) $(LDFLAGS) -o $@ ppdmerge.o $(LIBS)
273
274
275#
276# ppdpo, create message catalog files.
277#
278
50fe7201 279ppdpo: ppdpo.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
ac884b6a 280 echo Linking $@...
50fe7201 281 $(CXX) $(LDFLAGS) -o $@ ppdpo.o -L. -lcupsppdc $(LIBS)
ac884b6a
MS
282
283
4509bb49
MS
284#
285# testcatalog, test ppdcCatalog class.
286#
287
288testcatalog: testcatalog.o libcupsppdc.a ../cups/libcups.a
289 echo Linking $@...
290 $(CXX) $(LDFLAGS) -o $@ testcatalog.o libcupsppdc.a \
291 ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
292
293
ac884b6a 294#
50fe7201 295# libcupsppdc.so.1, libcupsppdc.sl.1
ac884b6a
MS
296#
297
50fe7201
MS
298libcupsppdc.so.1 libcupsppdc.sl.1: $(LIBOBJS)
299 echo Linking $@...
300 $(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
301 $(RM) `basename $@ .1`
302 $(LN) $@ `basename $@ .1`
303
304
50fe7201
MS
305#
306# libcupsppdc.1.dylib
307#
308
bdd6c45b 309libcupsppdc.1.dylib: $(LIBOBJS)
8922323b
MS
310 echo Creating export list for $@...
311 nm $(LIBOBJS) | grep "T __" | awk '{print $$3}' | sort >t.exp
50fe7201
MS
312 echo Linking $@...
313 $(DSOXX) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
314 -install_name $(libdir)/$@ \
315 -current_version 1.0.0 \
316 -compatibility_version 1.0.0 \
8922323b 317 -exported_symbols_list t.exp \
50fe7201 318 $(LIBOBJS) $(LIBS)
8922323b 319 $(RM) libcupsppdc.dylib t.exp
50fe7201
MS
320 $(LN) $@ libcupsppdc.dylib
321
322
323#
324# libcupsppdc_s.a
325#
326
327libcupsppdc_s.a: $(LIBOBJS)
ac884b6a 328 echo Creating $@...
50fe7201
MS
329 $(DSOXX) $(DSOFLAGS) -o libcupsppdc_s.o $(LIBOBJS) $(LIBS)
330 $(RM) $@
331 $(AR) $(ARFLAGS) $@ libcupsppdc_s.o
332
333
334#
335# libcupsppdc.la
336#
337
338libcupsppdc.la: $(LIBOBJS)
339 echo Linking $@...
340 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
341 -version-info 1:0 $(LIBS)
342
343
344#
345# libcupsppdc.a
346#
347
348libcupsppdc.a: $(LIBOBJS)
349 echo Archiving $@...
ac884b6a 350 $(RM) $@
50fe7201 351 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
ac884b6a
MS
352 $(RANLIB) $@
353
354
355#
356# Include dependencies...
357#
358
359include Dependencies
360
361
362#
363# End of "$Id$".
364#