]> git.ipfire.org Git - thirdparty/cups.git/blob - ppdc/Makefile
Don't generate certificates that expire on Feb 29th (Issue #5643)
[thirdparty/cups.git] / ppdc / Makefile
1 #
2 # Makefile for the CUPS PPD Compiler.
3 #
4 # Copyright © 2007-2019 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
8 # information.
9 #
10
11 #
12 # Include standard definitions...
13 #
14
15 include ../Makedefs
16
17
18 #
19 # Object files...
20 #
21
22 LIBOBJS = \
23 ppdc-array.o \
24 ppdc-attr.o \
25 ppdc-catalog.o \
26 ppdc-choice.o \
27 ppdc-constraint.o \
28 ppdc-driver.o \
29 ppdc-file.o \
30 ppdc-filter.o \
31 ppdc-font.o \
32 ppdc-group.o \
33 ppdc-import.o \
34 ppdc-mediasize.o \
35 ppdc-message.o \
36 ppdc-option.o \
37 ppdc-profile.o \
38 ppdc-shared.o \
39 ppdc-source.o \
40 ppdc-string.o \
41 ppdc-variable.o
42 OBJS = \
43 $(LIBOBJS) \
44 genstrings.o \
45 ppdc.o \
46 ppdhtml.o \
47 ppdi.o \
48 ppdmerge.o \
49 ppdpo.o \
50 testcatalog.o
51 LIBTARGETS = \
52 libcupsppdc.a
53 UNITTARGETS = \
54 ppdc-static \
55 ppdi-static \
56 testcatalog
57 EXECTARGETS = \
58 ppdc \
59 ppdhtml \
60 ppdi \
61 ppdmerge \
62 ppdpo
63
64 TARGETS = \
65 $(LIBTARGETS) \
66 $(EXECTARGETS) \
67 $(LOCALTARGET)
68
69
70 #
71 # Make everything...
72 #
73
74 all: $(TARGETS)
75
76
77 #
78 # Make library targets...
79 #
80
81 libs:
82
83
84 #
85 # Make unit tests...
86 #
87
88 unittests: $(UNITTARGETS)
89
90
91 #
92 # Clean everything...
93 #
94
95 clean:
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
102
103 #
104 # Update dependencies...
105 #
106
107 depend:
108 $(CXX) -MM $(ALL_CXXFLAGS) $(OBJS:.o=.cxx) >Dependencies
109
110
111 #
112 # Install all targets...
113 #
114
115 install: all install-data install-headers install-libs install-exec
116
117
118 #
119 # Install data files...
120 #
121
122 install-data:
123 $(INSTALL_DIR) $(DATADIR)/drv
124 $(INSTALL_DATA) sample.drv $(DATADIR)/drv
125
126
127 #
128 # Install programs...
129 #
130
131 install-exec:
132 echo Installing PPD compiler programs...
133 $(INSTALL_DIR) $(BINDIR)
134 for file in $(EXECTARGETS); do \
135 $(INSTALL_BIN) $$file $(BINDIR); \
136 done
137 if test "x$(SYMROOT)" != "x"; then \
138 $(INSTALL_DIR) $(SYMROOT); \
139 for file in $(EXECTARGETS); do \
140 cp $$file $(SYMROOT); \
141 dsymutil $(SYMROOT)/$$file; \
142 done \
143 fi
144
145
146 #
147 # Install headers...
148 #
149
150 install-headers:
151
152
153 #
154 # Install libraries...
155 #
156
157 install-libs:
158
159
160 #
161 # Uninstall...
162 #
163
164 uninstall:
165 for file in $(EXECTARGETS); do \
166 $(RM) $(BINDIR)/$$file; \
167 done
168 $(RM) $(DATADIR)/drv/sample.drv
169 $(RMDIR) $(DATADIR)/drv
170
171
172 #
173 # Local programs (not built when cross-compiling...)
174 #
175
176 local: genstrings
177
178
179 #
180 # genstrings - generate GNU gettext strings.
181 #
182
183 genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
184 sample.drv ../data/media.defs
185 echo Linking $@...
186 $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \
187 libcupsppdc.a $(LINKCUPSSTATIC)
188 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
189 echo Generating localization strings...
190 ./genstrings >sample.c
191
192
193 #
194 # ppdc, the PPD compiler.
195 #
196
197 ppdc: ppdc.o libcupsppdc.a ../cups/$(LIBCUPS)
198 echo Linking $@...
199 $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdc.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
200 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
201
202
203 ppdc-static: ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
204 echo Linking $@...
205 $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
206 $(LINKCUPSSTATIC)
207 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
208 echo Testing PPD compiler...
209 ./ppdc-static -l en,fr -I ../data foo.drv
210 ./ppdc-static -l en,fr -z -I ../data foo.drv
211
212
213 #
214 # ppdhtml, the PPD to HTML utility.
215 #
216
217 ppdhtml: ppdhtml.o libcupsppdc.a ../cups/$(LIBCUPS)
218 echo Linking $@...
219 $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdhtml.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
220 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
221
222
223 #
224 # ppdi, import PPD files.
225 #
226
227 ppdi: ppdi.o libcupsppdc.a ../cups/$(LIBCUPS)
228 echo Linking $@...
229 $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdi.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
230 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
231
232
233 ppdi-static: ppdc-static ppdi.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
234 echo Linking $@...
235 $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
236 $(LINKCUPSSTATIC)
237 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
238 echo Testing PPD importer...
239 $(RM) -r ppd ppd2 sample-import.drv
240 ./ppdc-static -l en -I ../data sample.drv
241 ./ppdi-static -I ../data -o sample-import.drv ppd/*
242 ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
243 if diff -r ppd ppd2 >/dev/null; then \
244 echo PPD import OK; \
245 else \
246 echo PPD import FAILED; \
247 exit 1; \
248 fi
249
250
251 #
252 # ppdmerge, merge PPD files.
253 #
254
255 ppdmerge: ppdmerge.o ../cups/$(LIBCUPS)
256 echo Linking $@...
257 $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdmerge.o $(LINKCUPS)
258 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
259
260
261 #
262 # ppdpo, create message catalog files.
263 #
264
265 ppdpo: ppdpo.o libcupsppdc.a ../cups/$(LIBCUPS)
266 echo Linking $@...
267 $(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdpo.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
268 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
269
270
271 #
272 # testcatalog, test ppdcCatalog class.
273 #
274
275 testcatalog: testcatalog.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
276 echo Linking $@...
277 $(LD_CXX) $(ALL_LDFLAGS) -o $@ testcatalog.o libcupsppdc.a \
278 $(LINKCUPSSTATIC)
279 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
280
281
282 #
283 # libcupsppdc.a
284 #
285
286 libcupsppdc.a: $(LIBOBJS)
287 echo Archiving $@...
288 $(RM) $@
289 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
290 $(RANLIB) $@
291
292
293 #
294 # Include dependencies...
295 #
296
297 include Dependencies