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