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