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