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