]> git.ipfire.org Git - thirdparty/cups.git/blame_incremental - ppdc/Makefile
Move debug printfs to internal usage only.
[thirdparty/cups.git] / ppdc / Makefile
... / ...
CommitLineData
1#
2# Makefile for the CUPS PPD Compiler.
3#
4# Copyright 2007-2018 by Apple Inc.
5# Copyright 2002-2006 by Easy Software Products.
6#
7# Licensed under Apache License v2.0. See the file "LICENSE" for more information.
8#
9
10#
11# Include standard definitions...
12#
13
14include ../Makedefs
15
16
17#
18# Object files...
19#
20
21LIBOBJS = \
22 ppdc-array.o \
23 ppdc-attr.o \
24 ppdc-catalog.o \
25 ppdc-choice.o \
26 ppdc-constraint.o \
27 ppdc-driver.o \
28 ppdc-file.o \
29 ppdc-filter.o \
30 ppdc-font.o \
31 ppdc-group.o \
32 ppdc-import.o \
33 ppdc-mediasize.o \
34 ppdc-message.o \
35 ppdc-option.o \
36 ppdc-profile.o \
37 ppdc-shared.o \
38 ppdc-source.o \
39 ppdc-string.o \
40 ppdc-variable.o
41OBJS = \
42 $(LIBOBJS) \
43 genstrings.o \
44 ppdc.o \
45 ppdhtml.o \
46 ppdi.o \
47 ppdmerge.o \
48 ppdpo.o \
49 testcatalog.o
50LIBTARGETS = \
51 $(LIBCUPSPPDC) \
52 libcupsppdc.a
53UNITTARGETS = \
54 ppdc-static \
55 ppdi-static \
56 testcatalog
57EXECTARGETS = \
58 ppdc \
59 ppdhtml \
60 ppdi \
61 ppdmerge \
62 ppdpo
63
64TARGETS = \
65 $(LIBTARGETS) \
66 $(EXECTARGETS) \
67 $(LOCALTARGET)
68
69
70#
71# Make everything...
72#
73
74all: $(TARGETS)
75
76
77#
78# Make library targets...
79#
80
81libs: $(LIBTARGETS)
82
83
84#
85# Make unit tests...
86#
87
88unittests: $(UNITTARGETS)
89
90
91#
92# Clean everything...
93#
94
95clean:
96 $(RM) $(OBJS) core
97 $(RM) *.bak *.bck core.*
98 $(RM) $(TARGETS) $(UNITTARGETS) genstrings
99 $(RM) -r ppd ppd2
100 $(RM) sample-import.drv sample.c test.drv
101 $(RM) libcupsppdc.so libcupsppdc.dylib
102
103
104#
105# Update dependencies...
106#
107
108depend:
109 $(CXX) -MM $(ALL_CXXFLAGS) $(OBJS:.o=.cxx) >Dependencies
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
125 $(INSTALL_DATA) sample.drv $(DATADIR)/drv
126
127
128#
129# Install programs...
130#
131
132install-exec:
133 echo Installing PPD compiler programs...
134 $(INSTALL_DIR) $(BINDIR)
135 for file in $(EXECTARGETS); do \
136 $(INSTALL_BIN) $$file $(BINDIR); \
137 done
138 if test "x$(SYMROOT)" != "x"; then \
139 $(INSTALL_DIR) $(SYMROOT); \
140 for file in $(EXECTARGETS); do \
141 cp $$file $(SYMROOT); \
142 dsymutil $(SYMROOT)/$$file; \
143 done \
144 fi
145
146
147#
148# Install headers...
149#
150
151install-headers:
152
153
154#
155# Install libraries...
156#
157
158install-libs: $(INSTALLSTATIC)
159 echo Installing libraries in $(LIBDIR)...
160 $(INSTALL_DIR) -m 755 $(LIBDIR)
161 $(INSTALL_LIB) $(LIBCUPSPPDC) $(LIBDIR)
162 if test $(LIBCUPSPPDC) = "libcupsppdc.so.1"; then \
163 $(RM) $(LIBDIR)/`basename $(LIBCUPSPPDC) .1`; \
164 $(LN) $(LIBCUPSPPDC) $(LIBDIR)/`basename $(LIBCUPSPPDC) .1`; \
165 fi
166 if test $(LIBCUPSPPDC) = "libcupsppdc.1.dylib"; then \
167 $(RM) $(LIBDIR)/libcupsppdc.dylib; \
168 $(LN) $(LIBCUPSPPDC) $(LIBDIR)/libcupsppdc.dylib; \
169 fi
170 if test "x$(SYMROOT)" != "x"; then \
171 $(INSTALL_DIR) $(SYMROOT); \
172 cp $(LIBCUPSPPDC) $(SYMROOT); \
173 dsymutil $(SYMROOT)/$(LIBCUPSPPDC); \
174 fi
175
176installstatic:
177 $(INSTALL_DIR) -m 755 $(LIBDIR)
178 $(INSTALL_LIB) -m 755 libcupsppdc.a $(LIBDIR)
179 $(RANLIB) $(LIBDIR)/libcupsppdc.a
180 $(CHMOD) 555 $(LIBDIR)/libcupsppdc.a
181
182
183#
184# Uninstall...
185#
186
187uninstall:
188 for file in $(EXECTARGETS); do \
189 $(RM) $(BINDIR)/$$file; \
190 done
191 $(RM) $(DATADIR)/drv/sample.drv
192 $(RMDIR) $(DATADIR)/drv
193 $(RM) $(LIBDIR)/libcupsppdc.1.dylib
194 $(RM) $(LIBDIR)/libcupsppdc.a
195 $(RM) $(LIBDIR)/libcupsppdc.dylib
196 $(RM) $(LIBDIR)/libcupsppdc.so
197 $(RM) $(LIBDIR)/libcupsppdc.so.1
198 -$(RMDIR) $(LIBDIR)
199 -if test "x$(privateinclude)" != x; then \
200 $(RM) $(PRIVATEINCLUDE)/ppdc.h; \
201 $(RMDIR) $(PRIVATEINCLUDE); \
202 fi
203
204
205#
206# Local programs (not built when cross-compiling...)
207#
208
209local: genstrings
210
211
212#
213# genstrings - generate GNU gettext strings.
214#
215
216genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
217 sample.drv ../data/media.defs
218 echo Linking $@...
219 $(LD_CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
220 libcupsppdc.a ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) \
221 $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
222 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
223 echo Generating localization strings...
224 ./genstrings >sample.c
225
226
227#
228# ppdc, the PPD compiler.
229#
230
231ppdc: ppdc.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
232 echo Linking $@...
233 $(LD_CXX) $(LDFLAGS) -o $@ ppdc.o -L. -lcupsppdc $(LIBS)
234 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
235
236
237ppdc-static: ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
238 echo Linking $@...
239 $(LD_CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
240 ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
241 $(COMMONLIBS) $(LIBZ)
242 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
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
252ppdhtml: ppdhtml.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
253 echo Linking $@...
254 $(LD_CXX) $(LDFLAGS) -o $@ ppdhtml.o -L. -lcupsppdc $(LIBS)
255 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
256
257
258#
259# ppdi, import PPD files.
260#
261
262ppdi: ppdi.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
263 echo Linking $@...
264 $(LD_CXX) $(LDFLAGS) -o $@ ppdi.o -L. -lcupsppdc $(LIBS)
265 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
266
267
268ppdi-static: ppdc-static ppdi.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
269 echo Linking $@...
270 $(LD_CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
271 ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
272 $(COMMONLIBS) $(LIBZ)
273 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
274 echo Testing PPD importer...
275 $(RM) -r ppd ppd2 sample-import.drv
276 ./ppdc-static -l en -I ../data sample.drv
277 ./ppdi-static -I ../data -o sample-import.drv ppd/*
278 ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
279 if diff -r ppd ppd2 >/dev/null; then \
280 echo PPD import OK; \
281 else \
282 echo PPD import FAILED; \
283 exit 1; \
284 fi
285
286
287#
288# ppdmerge, merge PPD files.
289#
290
291ppdmerge: ppdmerge.o ../cups/$(LIBCUPS)
292 echo Linking $@...
293 $(LD_CXX) $(LDFLAGS) -o $@ ppdmerge.o $(LIBS)
294 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
295
296
297#
298# ppdpo, create message catalog files.
299#
300
301ppdpo: ppdpo.o $(LIBCUPSPPDC) ../cups/$(LIBCUPS)
302 echo Linking $@...
303 $(LD_CXX) $(LDFLAGS) -o $@ ppdpo.o -L. -lcupsppdc $(LIBS)
304 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
305
306
307#
308# testcatalog, test ppdcCatalog class.
309#
310
311testcatalog: testcatalog.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
312 echo Linking $@...
313 $(LD_CXX) $(LDFLAGS) -o $@ testcatalog.o libcupsppdc.a \
314 ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
315 $(COMMONLIBS) $(LIBZ)
316 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
317
318
319#
320# libcupsppdc.so.1
321#
322
323libcupsppdc.so.1: $(LIBOBJS) ../cups/$(LIBCUPS)
324 echo Linking $@...
325 $(DSOXX) $(ARCHFLAGS) $(LDFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LINKCUPS)
326 $(RM) `basename $@ .1`
327 $(LN) $@ `basename $@ .1`
328
329
330#
331# libcupsppdc.1.dylib
332#
333
334libcupsppdc.1.dylib: $(LIBOBJS) ../cups/$(LIBCUPS)
335 echo Creating export list for $@...
336 nm -gm $(LIBOBJS) | grep "__text" | grep -v weak | awk '{print $$NF}' | sort >t.exp
337 echo Linking $@...
338 $(DSOXX) $(ARCHFLAGS) $(LDFLAGS) $(DSOFLAGS) -o $@ \
339 -install_name $(libdir)/$@ \
340 -current_version 1.0.0 \
341 -compatibility_version 1.0.0 \
342 -exported_symbols_list t.exp \
343 $(LIBOBJS) $(LINKCUPS) $(COMMONLIBS)
344 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
345 $(RM) libcupsppdc.dylib t.exp
346 $(LN) $@ libcupsppdc.dylib
347
348
349#
350# libcupsppdc.la
351#
352
353libcupsppdc.la: $(LIBOBJS) ../cups/$(LIBCUPS)
354 echo Linking $@...
355 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
356 -version-info 1:0 $(LINKCUPS)
357
358
359#
360# libcupsppdc.a
361#
362
363libcupsppdc.a: $(LIBOBJS)
364 echo Archiving $@...
365 $(RM) $@
366 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
367 $(RANLIB) $@
368
369
370#
371# Include dependencies...
372#
373
374include Dependencies