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