]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | # |
9964a31a | 2 | # Library Makefile for CUPS. |
ef416fc2 | 3 | # |
9964a31a | 4 | # Copyright 2007-2017 by Apple Inc. |
5a1d7a17 | 5 | # Copyright 1997-2006 by Easy Software Products, all rights reserved. |
ef416fc2 | 6 | # |
e3101897 | 7 | # Licensed under Apache License v2.0. See the file "LICENSE" for more information. |
ef416fc2 | 8 | # |
9 | ||
10 | include ../Makedefs | |
11 | ||
cb7f98ee MS |
12 | |
13 | # | |
14 | # Options to build libcups without the use of deprecated APIs... | |
15 | # | |
16 | ||
17 | OPTIONS = -D_CUPS_NO_DEPRECATED=1 -D_PPD_DEPRECATED="" | |
18 | ||
19 | ||
ef416fc2 | 20 | # |
21 | # Object files... | |
22 | # | |
23 | ||
24 | LIBOBJS = \ | |
757d2cad | 25 | adminutil.o \ |
ef416fc2 | 26 | array.o \ |
ef416fc2 | 27 | auth.o \ |
28 | backchannel.o \ | |
a4d04587 | 29 | backend.o \ |
ae71f5de | 30 | debug.o \ |
ef416fc2 | 31 | dest.o \ |
dcb445bc MS |
32 | dest-job.o \ |
33 | dest-localization.o \ | |
34 | dest-options.o \ | |
ef416fc2 | 35 | dir.o \ |
ef416fc2 | 36 | encode.o \ |
37 | file.o \ | |
ae71f5de | 38 | getdevices.o \ |
89d46774 | 39 | getifaddrs.o \ |
ef416fc2 | 40 | getputfile.o \ |
41 | globals.o \ | |
5ae9fbb3 | 42 | hash.o \ |
ef416fc2 | 43 | http.o \ |
44 | http-addr.o \ | |
45 | http-addrlist.o \ | |
46 | http-support.o \ | |
47 | ipp.o \ | |
48 | ipp-support.o \ | |
49 | langprintf.o \ | |
50 | language.o \ | |
ef416fc2 | 51 | md5.o \ |
52 | md5passwd.o \ | |
fa73b229 | 53 | notify.o \ |
ef416fc2 | 54 | options.o \ |
ef416fc2 | 55 | ppd.o \ |
f787e1e3 | 56 | ppd-attr.o \ |
f14324a7 | 57 | ppd-cache.o \ |
f787e1e3 MS |
58 | ppd-conflicts.o \ |
59 | ppd-custom.o \ | |
60 | ppd-emit.o \ | |
61 | ppd-localize.o \ | |
62 | ppd-mark.o \ | |
63 | ppd-page.o \ | |
64 | ppd-util.o \ | |
54afec33 | 65 | pwg-media.o \ |
ecdc0628 | 66 | request.o \ |
f7deaa1a | 67 | sidechannel.o \ |
91c84a35 | 68 | snmp.o \ |
ef416fc2 | 69 | snprintf.o \ |
70 | string.o \ | |
71 | tempfile.o \ | |
6d2f911b | 72 | thread.o \ |
25731360 | 73 | tls.o \ |
ef416fc2 | 74 | transcode.o \ |
75 | usersys.o \ | |
76 | util.o | |
dcb445bc | 77 | TESTOBJS = \ |
757d2cad | 78 | testadmin.o \ |
ef416fc2 | 79 | testarray.o \ |
5315d269 | 80 | testcache.o \ |
06d4e77b | 81 | testconflicts.o \ |
fe33927d | 82 | testcreds.o \ |
09a101d6 | 83 | testcups.o \ |
104fd4ae | 84 | testdest.o \ |
ef416fc2 | 85 | testfile.o \ |
86390cbf | 86 | testgetdests.o \ |
ef416fc2 | 87 | testhttp.o \ |
88 | testi18n.o \ | |
89 | testipp.o \ | |
20fbc903 | 90 | testoptions.o \ |
ef416fc2 | 91 | testlang.o \ |
fa73b229 | 92 | testppd.o \ |
54afec33 | 93 | testpwg.o \ |
79a37326 MS |
94 | testsnmp.o \ |
95 | tlscheck.o | |
dcb445bc MS |
96 | OBJS = \ |
97 | $(LIBOBJS) \ | |
dcb445bc MS |
98 | $(TESTOBJS) |
99 | ||
ef416fc2 | 100 | |
101 | # | |
102 | # Header files to install... | |
103 | # | |
104 | ||
105 | HEADERS = \ | |
757d2cad | 106 | adminutil.h \ |
ef416fc2 | 107 | array.h \ |
d09495fa | 108 | backend.h \ |
ef416fc2 | 109 | cups.h \ |
110 | dir.h \ | |
111 | file.h \ | |
112 | http.h \ | |
ef416fc2 | 113 | ipp.h \ |
114 | language.h \ | |
ef416fc2 | 115 | ppd.h \ |
6961465f | 116 | pwg.h \ |
ac884b6a | 117 | raster.h \ |
f7deaa1a | 118 | sidechannel.h \ |
a41f09e2 MS |
119 | transcode.h \ |
120 | versioning.h | |
ef416fc2 | 121 | |
71e16022 | 122 | HEADERSPRIV = \ |
eac3a0a0 | 123 | array-private.h \ |
71e16022 MS |
124 | cups-private.h \ |
125 | debug-private.h \ | |
126 | file-private.h \ | |
127 | http-private.h \ | |
128 | ipp-private.h \ | |
129 | language-private.h \ | |
130 | md5-private.h \ | |
131 | ppd-private.h \ | |
132 | pwg-private.h \ | |
a4845881 | 133 | raster-private.h \ |
71e16022 | 134 | snmp-private.h \ |
6d2f911b MS |
135 | string-private.h \ |
136 | thread-private.h | |
137 | ||
ef416fc2 | 138 | |
139 | # | |
140 | # Targets in this directory... | |
141 | # | |
142 | ||
c9fc04c6 | 143 | LIBTARGETS = \ |
f8b3a85b | 144 | $(LIBCUPSSTATIC) \ |
12f89d24 | 145 | $(LIBCUPS) |
5f64df29 MS |
146 | |
147 | UNITTARGETS = \ | |
148 | testadmin \ | |
ef416fc2 | 149 | testarray \ |
b2b9911d | 150 | testcache \ |
5f64df29 | 151 | testconflicts \ |
fe33927d | 152 | testcreds \ |
5f64df29 | 153 | testcups \ |
104fd4ae | 154 | testdest \ |
ef416fc2 | 155 | testfile \ |
86390cbf | 156 | testgetdests \ |
ef416fc2 | 157 | testhttp \ |
158 | testi18n \ | |
159 | testipp \ | |
fa73b229 | 160 | testlang \ |
20fbc903 | 161 | testoptions \ |
5f64df29 | 162 | testppd \ |
54afec33 | 163 | testpwg \ |
79a37326 MS |
164 | testsnmp \ |
165 | tlscheck | |
c9fc04c6 MS |
166 | |
167 | TARGETS = \ | |
5f64df29 | 168 | $(LIBTARGETS) |
ef416fc2 | 169 | |
170 | ||
171 | # | |
172 | # Make all targets... | |
173 | # | |
174 | ||
f8b3a85b | 175 | all: $(TARGETS) |
ef416fc2 | 176 | |
177 | ||
c9fc04c6 MS |
178 | # |
179 | # Make library targets... | |
180 | # | |
181 | ||
182 | libs: $(LIBTARGETS) | |
183 | ||
184 | ||
5f64df29 MS |
185 | # |
186 | # Make unit tests... | |
187 | # | |
188 | ||
189 | unittests: $(UNITTARGETS) | |
190 | ||
191 | ||
ef416fc2 | 192 | # |
193 | # Remove object and target files... | |
194 | # | |
195 | ||
196 | clean: | |
5f64df29 | 197 | $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS) |
5a1d7a17 | 198 | $(RM) libcups.so libcups.dylib |
ef416fc2 | 199 | |
200 | ||
201 | # | |
202 | # Update dependencies (without system header dependencies...) | |
203 | # | |
204 | ||
205 | depend: | |
12f89d24 | 206 | $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies |
ef416fc2 | 207 | |
208 | ||
6961465f MS |
209 | # |
210 | # Run oclint to check code coverage... | |
211 | # | |
212 | ||
213 | oclint: | |
214 | oclint -o=oclint.html -html $(LIBOBJS:.o=.c) -- $(ALL_CFLAGS) | |
215 | ||
216 | ||
ef416fc2 | 217 | # |
50fe7201 | 218 | # Install all targets... |
ef416fc2 | 219 | # |
220 | ||
50fe7201 MS |
221 | install: all install-data install-headers install-libs install-exec |
222 | ||
223 | ||
224 | # | |
225 | # Install data files... | |
226 | # | |
227 | ||
228 | install-data: | |
229 | ||
230 | ||
231 | # | |
232 | # Install programs... | |
233 | # | |
234 | ||
235 | install-exec: | |
236 | ||
237 | ||
238 | # | |
239 | # Install headers... | |
240 | # | |
241 | ||
242 | install-headers: | |
243 | echo Installing header files into $(INCLUDEDIR)/cups... | |
244 | $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups | |
245 | for file in $(HEADERS); do \ | |
246 | $(INSTALL_DATA) $$file $(INCLUDEDIR)/cups; \ | |
247 | done | |
71e16022 MS |
248 | if test "x$(privateinclude)" != x; then \ |
249 | echo Installing private header files into $(PRIVATEINCLUDE)...; \ | |
5180a04c | 250 | $(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \ |
71e16022 | 251 | for file in $(HEADERSPRIV); do \ |
5180a04c | 252 | $(INSTALL_DATA) $$file $(PRIVATEINCLUDE)/$$file; \ |
71e16022 MS |
253 | done; \ |
254 | fi | |
50fe7201 MS |
255 | |
256 | ||
257 | # | |
258 | # Install libraries... | |
259 | # | |
260 | ||
12f89d24 | 261 | install-libs: $(INSTALLSTATIC) |
50fe7201 | 262 | echo Installing libraries in $(LIBDIR)... |
bd7854cb | 263 | $(INSTALL_DIR) -m 755 $(LIBDIR) |
ef416fc2 | 264 | $(INSTALL_LIB) $(LIBCUPS) $(LIBDIR) |
5a1d7a17 | 265 | if test $(LIBCUPS) = "libcups.so.2"; then \ |
ef416fc2 | 266 | $(RM) $(LIBDIR)/`basename $(LIBCUPS) .2`; \ |
267 | $(LN) $(LIBCUPS) $(LIBDIR)/`basename $(LIBCUPS) .2`; \ | |
268 | fi | |
269 | if test $(LIBCUPS) = "libcups.2.dylib"; then \ | |
ef416fc2 | 270 | $(RM) $(LIBDIR)/libcups.dylib; \ |
271 | $(LN) $(LIBCUPS) $(LIBDIR)/libcups.dylib; \ | |
272 | fi | |
09a101d6 | 273 | if test "x$(SYMROOT)" != "x"; then \ |
274 | $(INSTALL_DIR) $(SYMROOT); \ | |
50fe7201 | 275 | cp $(LIBCUPS) $(SYMROOT); \ |
c1420c87 | 276 | dsymutil $(SYMROOT)/$(LIBCUPS); \ |
09a101d6 | 277 | fi |
923edb68 | 278 | |
279 | installstatic: | |
280 | $(INSTALL_DIR) -m 755 $(LIBDIR) | |
f8b3a85b MS |
281 | $(INSTALL_LIB) -m 755 $(LIBCUPSSTATIC) $(LIBDIR) |
282 | $(RANLIB) $(LIBDIR)/$(LIBCUPSSTATIC) | |
b94f7488 | 283 | $(CHMOD) 555 $(LIBDIR)/$(LIBCUPSSTATIC) |
ef416fc2 | 284 | |
ef416fc2 | 285 | |
757d2cad | 286 | # |
287 | # Uninstall object and target files... | |
288 | # | |
289 | ||
12f89d24 | 290 | uninstall: |
757d2cad | 291 | $(RM) $(LIBDIR)/libcups.2.dylib |
6d2f911b | 292 | $(RM) $(LIBDIR)/$(LIBCUPSSTATIC) |
757d2cad | 293 | $(RM) $(LIBDIR)/libcups.dylib |
757d2cad | 294 | $(RM) $(LIBDIR)/libcups.so |
295 | $(RM) $(LIBDIR)/libcups.so.2 | |
296 | -$(RMDIR) $(LIBDIR) | |
297 | for file in $(HEADERS); do \ | |
298 | $(RM) $(INCLUDEDIR)/cups/$$file; \ | |
299 | done | |
300 | -$(RMDIR) $(INCLUDEDIR)/cups | |
301 | ||
302 | ||
ef416fc2 | 303 | # |
5a1d7a17 | 304 | # libcups.so.2 |
ef416fc2 | 305 | # |
306 | ||
5a1d7a17 | 307 | libcups.so.2: $(LIBOBJS) |
ef416fc2 | 308 | echo Linking $@... |
c168a833 | 309 | $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBGSSAPI) \ |
b94f7488 | 310 | $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
ef416fc2 | 311 | $(RM) `basename $@ .2` |
312 | $(LN) $@ `basename $@ .2` | |
313 | ||
314 | ||
315 | # | |
316 | # libcups.2.dylib | |
317 | # | |
318 | ||
f8b3a85b MS |
319 | libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER) |
320 | echo Creating export list for $@... | |
966773c5 MS |
321 | nm -gm $(LIBOBJS) 2>/dev/null | grep "__text" | grep -v weak | \ |
322 | awk '{print $$NF}' | \ | |
8935a80b | 323 | grep -v -E -e '^(_cupsConnect|_cupsCharset|_cupsEncodingName|_cupsSetDefaults|_cupsSetHTTPError|_cupsUserDefault)$$' | \ |
f8b3a85b | 324 | sort >t.exp |
ef416fc2 | 325 | echo Linking $@... |
e1d6a774 | 326 | $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \ |
fa73b229 | 327 | -install_name $(libdir)/$@ \ |
966773c5 | 328 | -current_version 2.12.0 \ |
ef416fc2 | 329 | -compatibility_version 2.0.0 \ |
f8b3a85b | 330 | -exported_symbols_list t.exp \ |
c168a833 | 331 | $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \ |
b94f7488 | 332 | $(COMMONLIBS) $(LIBZ) |
f8b3a85b | 333 | $(RM) libcups.dylib t.exp |
ef416fc2 | 334 | $(LN) $@ libcups.dylib |
335 | ||
336 | ||
ef416fc2 | 337 | # |
338 | # libcups.la | |
339 | # | |
340 | ||
341 | libcups.la: $(LIBOBJS) | |
342 | echo Linking $@... | |
a621d151 | 343 | $(LD_CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) \ |
966773c5 | 344 | -rpath $(LIBDIR) -version-info 2:12 $(LIBGSSAPI) $(SSLLIBS) \ |
b94f7488 | 345 | $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
ef416fc2 | 346 | |
347 | ||
348 | # | |
349 | # libcups.a | |
350 | # | |
351 | ||
352 | libcups.a: $(LIBOBJS) | |
353 | echo Archiving $@... | |
354 | $(RM) $@ | |
355 | $(AR) $(ARFLAGS) $@ $(LIBOBJS) | |
356 | $(RANLIB) $@ | |
357 | ||
358 | ||
4128527f MS |
359 | # |
360 | # libcups2.def (Windows DLL exports file...) | |
361 | # | |
362 | ||
363 | libcups2.def: $(LIBOBJS) Makefile | |
364 | echo Generating $@... | |
365 | echo "LIBRARY libcups2" >libcups2.def | |
0cb0ff05 | 366 | echo "VERSION 2.12" >>libcups2.def |
4128527f MS |
367 | echo "EXPORTS" >>libcups2.def |
368 | (nm $(LIBOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}'; \ | |
369 | echo __cups_strcpy; echo __cups_strlcat; echo __cups_strlcpy) | \ | |
370 | grep -v -E \ | |
371 | -e 'cups_debug|Apple|BackChannel|Backend|FileCheck|Filter|GSSService|SetNegotiate|SideChannel' \ | |
372 | -e 'Block$$' | \ | |
373 | sed -e '1,$$s/^_//' | sort >>libcups2.def | |
374 | ||
375 | ||
757d2cad | 376 | # |
377 | # testadmin (dependency on static CUPS library is intentional) | |
378 | # | |
379 | ||
f8b3a85b | 380 | testadmin: testadmin.o $(LIBCUPSSTATIC) |
757d2cad | 381 | echo Linking $@... |
a621d151 | 382 | $(LD_CC) $(LDFLAGS) -o $@ testadmin.o $(LIBCUPSSTATIC) \ |
b94f7488 | 383 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
757d2cad | 384 | |
385 | ||
ef416fc2 | 386 | # |
387 | # testarray (dependency on static CUPS library is intentional) | |
388 | # | |
389 | ||
f8b3a85b | 390 | testarray: testarray.o $(LIBCUPSSTATIC) |
ef416fc2 | 391 | echo Linking $@... |
a621d151 | 392 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testarray.o $(LIBCUPSSTATIC) \ |
b94f7488 | 393 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
c9fc04c6 MS |
394 | echo Running array API tests... |
395 | ./testarray | |
ef416fc2 | 396 | |
397 | ||
b2b9911d MS |
398 | # |
399 | # testcache (dependency on static CUPS library is intentional) | |
400 | # | |
401 | ||
402 | testcache: testcache.o $(LIBCUPSSTATIC) | |
403 | echo Linking $@... | |
a621d151 | 404 | $(LD_CC) $(LDFLAGS) -o $@ testcache.o $(LIBCUPSSTATIC) \ |
b94f7488 | 405 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
b2b9911d MS |
406 | |
407 | ||
06d4e77b MS |
408 | # |
409 | # testconflicts (dependency on static CUPS library is intentional) | |
410 | # | |
411 | ||
f8b3a85b | 412 | testconflicts: testconflicts.o $(LIBCUPSSTATIC) |
06d4e77b | 413 | echo Linking $@... |
a621d151 | 414 | $(LD_CC) $(LDFLAGS) -o $@ testconflicts.o $(LIBCUPSSTATIC) \ |
b94f7488 | 415 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
06d4e77b MS |
416 | |
417 | ||
fe33927d MS |
418 | # |
419 | # testcreds (dependency on static CUPS library is intentional) | |
420 | # | |
421 | ||
422 | testcreds: testcreds.o $(LIBCUPSSTATIC) | |
423 | echo Linking $@... | |
a621d151 | 424 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testcreds.o $(LIBCUPSSTATIC) \ |
b94f7488 | 425 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
fe33927d MS |
426 | |
427 | ||
09a101d6 | 428 | # |
429 | # testcups (dependency on static CUPS library is intentional) | |
430 | # | |
431 | ||
f8b3a85b | 432 | testcups: testcups.o $(LIBCUPSSTATIC) |
09a101d6 | 433 | echo Linking $@... |
a621d151 | 434 | $(LD_CC) $(LDFLAGS) -o $@ testcups.o $(LIBCUPSSTATIC) \ |
b94f7488 | 435 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
09a101d6 | 436 | |
437 | ||
104fd4ae MS |
438 | # |
439 | # testdest (dependency on static CUPS library is intentional) | |
440 | # | |
441 | ||
442 | testdest: testdest.o $(LIBCUPSSTATIC) | |
443 | echo Linking $@... | |
a621d151 | 444 | $(LD_CC) $(LDFLAGS) -o $@ testdest.o $(LIBCUPSSTATIC) \ |
b94f7488 | 445 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
104fd4ae MS |
446 | |
447 | ||
ef416fc2 | 448 | # |
449 | # testfile (dependency on static CUPS library is intentional) | |
450 | # | |
451 | ||
f8b3a85b | 452 | testfile: testfile.o $(LIBCUPSSTATIC) |
ef416fc2 | 453 | echo Linking $@... |
a621d151 | 454 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testfile.o $(LIBCUPSSTATIC) \ |
b94f7488 | 455 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
c9fc04c6 MS |
456 | echo Running file API tests... |
457 | ./testfile | |
ef416fc2 | 458 | |
459 | ||
86390cbf MS |
460 | # |
461 | # testgetdests (dependency on static CUPS library is intentional) | |
462 | # | |
463 | ||
464 | testgetdests: testgetdests.o $(LIBCUPSSTATIC) | |
465 | echo Linking $@... | |
466 | $(LD_CC) $(LDFLAGS) -o $@ testgetdests.o $(LIBCUPSSTATIC) \ | |
467 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) | |
468 | ||
469 | ||
ef416fc2 | 470 | # |
471 | # testhttp (dependency on static CUPS library is intentional) | |
472 | # | |
473 | ||
f8b3a85b | 474 | testhttp: testhttp.o $(LIBCUPSSTATIC) |
ef416fc2 | 475 | echo Linking $@... |
a621d151 | 476 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhttp.o $(LIBCUPSSTATIC) \ |
b94f7488 | 477 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
c9fc04c6 MS |
478 | echo Running HTTP API tests... |
479 | ./testhttp | |
ef416fc2 | 480 | |
481 | ||
482 | # | |
483 | # testipp (dependency on static CUPS library is intentional) | |
484 | # | |
485 | ||
f8b3a85b | 486 | testipp: testipp.o $(LIBCUPSSTATIC) |
ef416fc2 | 487 | echo Linking $@... |
a621d151 | 488 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testipp.o $(LIBCUPSSTATIC) \ |
b94f7488 | 489 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
c9fc04c6 MS |
490 | echo Running IPP API tests... |
491 | ./testipp | |
ef416fc2 | 492 | |
493 | ||
494 | # | |
495 | # testi18n (dependency on static CUPS library is intentional) | |
496 | # | |
497 | ||
f8b3a85b | 498 | testi18n: testi18n.o $(LIBCUPSSTATIC) |
ef416fc2 | 499 | echo Linking $@... |
a621d151 | 500 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testi18n.o $(LIBCUPSSTATIC) \ |
b94f7488 | 501 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
c9fc04c6 MS |
502 | echo Running internationalization API tests... |
503 | ./testi18n | |
ef416fc2 | 504 | |
505 | ||
506 | # | |
507 | # testlang (dependency on static CUPS library is intentional) | |
508 | # | |
509 | ||
f8b3a85b | 510 | testlang: testlang.o $(LIBCUPSSTATIC) |
ef416fc2 | 511 | echo Linking $@... |
a621d151 | 512 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testlang.o $(LIBCUPSSTATIC) \ |
b94f7488 | 513 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
9964a31a MS |
514 | echo Creating locale directory structure... |
515 | $(RM) -r locale | |
b10aebb1 | 516 | $(MKDIR) locale/en |
5b6caf71 MS |
517 | echo 'msgid "No"' > locale/en/cups_en.po |
518 | echo 'msgstr "No"' >> locale/en/cups_en.po | |
519 | echo 'msgid "Yes"' >> locale/en/cups_en.po | |
520 | echo 'msgstr "Yes"' >> locale/en/cups_en.po | |
9964a31a MS |
521 | for po in ../locale/cups_*.po; do \ |
522 | lang=`basename $$po .po | sed -e '1,$$s/^cups_//'`; \ | |
523 | $(MKDIR) locale/$$lang; \ | |
5b6caf71 | 524 | $(LN) ../../$$po locale/$$lang; \ |
9964a31a | 525 | done |
c9fc04c6 | 526 | echo Running language API tests... |
9964a31a | 527 | LOCALEDIR=locale ./testlang |
ef416fc2 | 528 | |
529 | ||
20fbc903 MS |
530 | # |
531 | # testoptions (dependency on static CUPS library is intentional) | |
532 | # | |
533 | ||
f8b3a85b | 534 | testoptions: testoptions.o $(LIBCUPSSTATIC) |
20fbc903 | 535 | echo Linking $@... |
a621d151 | 536 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testoptions.o $(LIBCUPSSTATIC) \ |
b94f7488 | 537 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
20fbc903 MS |
538 | echo Running option API tests... |
539 | ./testoptions | |
540 | ||
541 | ||
fa73b229 | 542 | # |
543 | # testppd (dependency on static CUPS library is intentional) | |
544 | # | |
545 | ||
f8b3a85b | 546 | testppd: testppd.o $(LIBCUPSSTATIC) test.ppd test2.ppd |
fa73b229 | 547 | echo Linking $@... |
a621d151 | 548 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testppd.o $(LIBCUPSSTATIC) \ |
b94f7488 | 549 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
c9fc04c6 MS |
550 | echo Running PPD API tests... |
551 | ./testppd | |
fa73b229 | 552 | |
553 | ||
54afec33 MS |
554 | # |
555 | # testpwg (dependency on static CUPS library is intentional) | |
556 | # | |
557 | ||
558 | testpwg: testpwg.o $(LIBCUPSSTATIC) test.ppd | |
559 | echo Linking $@... | |
a621d151 | 560 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testpwg.o $(LIBCUPSSTATIC) \ |
b94f7488 | 561 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
54afec33 MS |
562 | echo Running PWG API tests... |
563 | ./testpwg test.ppd | |
564 | ||
565 | ||
91c84a35 MS |
566 | # |
567 | # testsnmp (dependency on static CUPS library is intentional) | |
568 | # | |
569 | ||
f8b3a85b | 570 | testsnmp: testsnmp.o $(LIBCUPSSTATIC) |
91c84a35 | 571 | echo Linking $@... |
a621d151 | 572 | $(LD_CC) $(LDFLAGS) -o $@ testsnmp.o $(LIBCUPSSTATIC) \ |
b94f7488 | 573 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
91c84a35 MS |
574 | |
575 | ||
79a37326 MS |
576 | # |
577 | # tlscheck (dependency on static CUPS library is intentional) | |
578 | # | |
579 | ||
580 | tlscheck: tlscheck.o $(LIBCUPSSTATIC) | |
581 | echo Linking $@... | |
a621d151 | 582 | $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ tlscheck.o $(LIBCUPSSTATIC) \ |
b94f7488 | 583 | $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) |
79a37326 MS |
584 | |
585 | ||
ef416fc2 | 586 | # |
587 | # Automatic API help files... | |
588 | # | |
589 | ||
590 | apihelp: | |
591 | echo Generating CUPS API help files... | |
53af7f21 | 592 | $(RM) cupspm.xml |
798d6e29 MS |
593 | mxmldoc --section "Programming" --body cupspm.md \ |
594 | cupspm.xml \ | |
98d88c8d MS |
595 | auth.c cups.h dest*.c encode.c http.h http*.c ipp.h ipp*.c \ |
596 | options.c tls-darwin.c usersys.c util.c \ | |
e1c797ef | 597 | --coverimage cupspm.png \ |
798d6e29 MS |
598 | --epub ../doc/help/cupspm.epub |
599 | mxmldoc --section "Programming" --body cupspm.md \ | |
600 | cupspm.xml > ../doc/help/cupspm.html | |
601 | $(RM) cupspm.xml | |
dffa3c74 MS |
602 | mxmldoc --section "Programming" --title "Administration APIs" \ |
603 | --css ../doc/cups-printable.css \ | |
604 | --header api-admin.header --intro api-admin.shtml \ | |
605 | api-admin.xml \ | |
606 | adminutil.c adminutil.h getdevices.c >../doc/help/api-admin.html | |
dffa3c74 | 607 | $(RM) api-admin.xml |
a2326b5b | 608 | mxmldoc --section "Programming" --title "PPD API (DEPRECATED)" \ |
5a738aea MS |
609 | --css ../doc/cups-printable.css \ |
610 | --header api-ppd.header --intro api-ppd.shtml \ | |
6e5a57e8 | 611 | api-ppd.xml ppd.h ppd-*.c >../doc/help/api-ppd.html |
f11a948a | 612 | $(RM) api-ppd.xml |
5a738aea MS |
613 | mxmldoc --section "Programming" \ |
614 | --title "Filter and Backend Programming" \ | |
615 | --css ../doc/cups-printable.css \ | |
616 | --header api-filter.header --intro api-filter.shtml \ | |
f11a948a | 617 | api-filter.xml \ |
ac884b6a | 618 | backchannel.c backend.h backend.c sidechannel.c sidechannel.h \ |
7a14d768 | 619 | >../doc/help/api-filter.html |
f11a948a | 620 | $(RM) api-filter.xml |
5a738aea | 621 | |
ef416fc2 | 622 | |
84315f46 MS |
623 | # |
624 | # Lines of code computation... | |
625 | # | |
626 | ||
627 | sloc: | |
84315f46 MS |
628 | echo "libcups: \c" |
629 | sloccount $(LIBOBJS:.o=.c) 2>/dev/null | grep "Total Physical" | awk '{print $$9}' | |
630 | ||
631 | ||
ef416fc2 | 632 | # |
633 | # Dependencies... | |
634 | # | |
635 | ||
636 | include Dependencies | |
25731360 | 637 | tls.o: tls-darwin.c tls-gnutls.c tls-sspi.c |