]> git.ipfire.org Git - thirdparty/cups.git/blob - cups/Makefile
Move libcupsimage to the "cups" subdirectory, along with its unit tests and
[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-support.o \
50 langprintf.o \
51 language.o \
52 md5.o \
53 md5passwd.o \
54 notify.o \
55 options.o \
56 ppd.o \
57 ppd-attr.o \
58 ppd-cache.o \
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 \
66 pwg-media.o \
67 request.o \
68 sidechannel.o \
69 snmp.o \
70 snprintf.o \
71 string.o \
72 tempfile.o \
73 thread.o \
74 tls.o \
75 transcode.o \
76 usersys.o \
77 util.o
78 IMAGEOBJS = \
79 error.o \
80 interpret.o \
81 raster.o
82 TESTOBJS = \
83 rasterbench.o \
84 testadmin.o \
85 testarray.o \
86 testcache.o \
87 testclient.o \
88 testconflicts.o \
89 testcreds.o \
90 testcups.o \
91 testdest.o \
92 testfile.o \
93 testgetdests.o \
94 testhttp.o \
95 testi18n.o \
96 testipp.o \
97 testoptions.o \
98 testlang.o \
99 testppd.o \
100 testpwg.o \
101 testraster.o \
102 testsnmp.o \
103 tlscheck.o
104 OBJS = \
105 $(LIBOBJS) \
106 $(IMAGEOBJS) \
107 $(TESTOBJS)
108
109
110 #
111 # Header files to install...
112 #
113
114 HEADERS = \
115 adminutil.h \
116 array.h \
117 backend.h \
118 cups.h \
119 dir.h \
120 file.h \
121 http.h \
122 ipp.h \
123 language.h \
124 ppd.h \
125 pwg.h \
126 raster.h \
127 sidechannel.h \
128 transcode.h \
129 versioning.h
130
131 HEADERSPRIV = \
132 array-private.h \
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 \
142 raster-private.h \
143 snmp-private.h \
144 string-private.h \
145 thread-private.h
146
147
148 #
149 # Targets in this directory...
150 #
151
152 LIBTARGETS = \
153 $(LIBCUPSIMAGE) \
154 $(LIBCUPSSTATIC) \
155 $(LIBCUPS) \
156 libcupsimage.a
157
158 UNITTARGETS = \
159 rasterbench \
160 testadmin \
161 testarray \
162 testcache \
163 testclient \
164 testconflicts \
165 testcreds \
166 testcups \
167 testdest \
168 testfile \
169 testgetdests \
170 testhttp \
171 testi18n \
172 testipp \
173 testlang \
174 testoptions \
175 testppd \
176 testpwg \
177 testraster \
178 testsnmp \
179 tlscheck
180
181 TARGETS = \
182 $(LIBTARGETS)
183
184
185 #
186 # Make all targets...
187 #
188
189 all: $(TARGETS)
190
191
192 #
193 # Make library targets...
194 #
195
196 libs: $(LIBTARGETS)
197
198
199 #
200 # Make unit tests...
201 #
202
203 unittests: $(UNITTARGETS)
204
205
206 #
207 # Remove object and target files...
208 #
209
210 clean:
211 $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
212 $(RM) libcups.so libcups.dylib
213
214
215 #
216 # Update dependencies (without system header dependencies...)
217 #
218
219 depend:
220 $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
221
222
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
231 #
232 # Install all targets...
233 #
234
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
262 if test "x$(privateinclude)" != x; then \
263 echo Installing private header files into $(PRIVATEINCLUDE)...; \
264 $(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \
265 for file in $(HEADERSPRIV); do \
266 $(INSTALL_DATA) $$file $(PRIVATEINCLUDE)/$$file; \
267 done; \
268 fi
269
270
271 #
272 # Install libraries...
273 #
274
275 install-libs: $(INSTALLSTATIC)
276 echo Installing libraries in $(LIBDIR)...
277 $(INSTALL_DIR) -m 755 $(LIBDIR)
278 $(INSTALL_LIB) $(LIBCUPS) $(LIBDIR)
279 if test $(LIBCUPS) = "libcups.so.2"; then \
280 $(RM) $(LIBDIR)/`basename $(LIBCUPS) .2`; \
281 $(LN) $(LIBCUPS) $(LIBDIR)/`basename $(LIBCUPS) .2`; \
282 fi
283 if test $(LIBCUPS) = "libcups.2.dylib"; then \
284 $(RM) $(LIBDIR)/libcups.dylib; \
285 $(LN) $(LIBCUPS) $(LIBDIR)/libcups.dylib; \
286 fi
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
297 if test "x$(SYMROOT)" != "x"; then \
298 $(INSTALL_DIR) $(SYMROOT); \
299 $(INSTALL_DIR) $(SYMROOT); \
300 cp $(LIBCUPS) $(SYMROOT); \
301 dsymutil $(SYMROOT)/$(LIBCUPS); \
302 cp $(LIBCUPSIMAGE) $(SYMROOT); \
303 dsymutil $(SYMROOT)/$(LIBCUPSIMAGE); \
304 fi
305
306 installstatic:
307 $(INSTALL_DIR) -m 755 $(LIBDIR)
308 $(INSTALL_LIB) -m 755 $(LIBCUPSSTATIC) $(LIBDIR)
309 $(RANLIB) $(LIBDIR)/$(LIBCUPSSTATIC)
310 $(CHMOD) 555 $(LIBDIR)/$(LIBCUPSSTATIC)
311 $(INSTALL_LIB) -m 755 libcupsimage.a $(LIBDIR)
312 $(RANLIB) $(LIBDIR)/libcupsimage.a
313 $(CHMOD) 555 $(LIBDIR)/libcupsimage.a
314
315
316 #
317 # Uninstall object and target files...
318 #
319
320 uninstall:
321 $(RM) $(LIBDIR)/libcups.2.dylib
322 $(RM) $(LIBDIR)/$(LIBCUPSSTATIC)
323 $(RM) $(LIBDIR)/libcups.dylib
324 $(RM) $(LIBDIR)/libcups.so
325 $(RM) $(LIBDIR)/libcups.so.2
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
331 -$(RMDIR) $(LIBDIR)
332 for file in $(HEADERS); do \
333 $(RM) $(INCLUDEDIR)/cups/$$file; \
334 done
335 -$(RMDIR) $(INCLUDEDIR)/cups
336
337
338 #
339 # libcups.so.2
340 #
341
342 libcups.so.2: $(LIBOBJS)
343 echo Linking $@...
344 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBGSSAPI) \
345 $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
346 $(RM) `basename $@ .2`
347 $(LN) $@ `basename $@ .2`
348
349
350 #
351 # libcups.2.dylib
352 #
353
354 libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER)
355 echo Creating export list for $@...
356 nm -gm $(LIBOBJS) 2>/dev/null | grep "__text" | grep -v weak | \
357 awk '{print $$NF}' | \
358 grep -v -E -e '^(_cupsConnect|_cupsCharset|_cupsEncodingName|_cupsSetDefaults|_cupsSetHTTPError|_cupsUserDefault)$$' | \
359 sort >t.exp
360 echo Linking $@...
361 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
362 -install_name $(libdir)/$@ \
363 -current_version 2.13.0 \
364 -compatibility_version 2.0.0 \
365 -exported_symbols_list t.exp \
366 $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
367 $(COMMONLIBS) $(LIBZ)
368 $(RM) libcups.dylib t.exp
369 $(LN) $@ libcups.dylib
370
371
372 #
373 # libcups.la
374 #
375
376 libcups.la: $(LIBOBJS)
377 echo Linking $@...
378 $(LD_CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) \
379 -rpath $(LIBDIR) -version-info 2:13 $(LIBGSSAPI) $(SSLLIBS) \
380 $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
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
394 #
395 # libcups2.def (Windows DLL exports file...)
396 #
397
398 libcups2.def: $(LIBOBJS) $(IMAGEOBJS) Makefile
399 echo Generating $@...
400 echo "LIBRARY libcups2" >libcups2.def
401 echo "VERSION 2.13" >>libcups2.def
402 echo "EXPORTS" >>libcups2.def
403 (nm $(LIBOBJS) $(IMAGEOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}'; \
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
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
469 #
470 # testadmin (dependency on static CUPS library is intentional)
471 #
472
473 testadmin: testadmin.o $(LIBCUPSSTATIC)
474 echo Linking $@...
475 $(LD_CC) $(LDFLAGS) -o $@ testadmin.o $(LIBCUPSSTATIC) \
476 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
477
478
479 #
480 # testarray (dependency on static CUPS library is intentional)
481 #
482
483 testarray: testarray.o $(LIBCUPSSTATIC)
484 echo Linking $@...
485 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testarray.o $(LIBCUPSSTATIC) \
486 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
487 echo Running array API tests...
488 ./testarray
489
490
491 #
492 # testcache (dependency on static CUPS library is intentional)
493 #
494
495 testcache: testcache.o $(LIBCUPSSTATIC)
496 echo Linking $@...
497 $(LD_CC) $(LDFLAGS) -o $@ testcache.o $(LIBCUPSSTATIC) \
498 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
499
500
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
512 #
513 # testconflicts (dependency on static CUPS library is intentional)
514 #
515
516 testconflicts: testconflicts.o $(LIBCUPSSTATIC)
517 echo Linking $@...
518 $(LD_CC) $(LDFLAGS) -o $@ testconflicts.o $(LIBCUPSSTATIC) \
519 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
520
521
522 #
523 # testcreds (dependency on static CUPS library is intentional)
524 #
525
526 testcreds: testcreds.o $(LIBCUPSSTATIC)
527 echo Linking $@...
528 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testcreds.o $(LIBCUPSSTATIC) \
529 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
530
531
532 #
533 # testcups (dependency on static CUPS library is intentional)
534 #
535
536 testcups: testcups.o $(LIBCUPSSTATIC)
537 echo Linking $@...
538 $(LD_CC) $(LDFLAGS) -o $@ testcups.o $(LIBCUPSSTATIC) \
539 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
540
541
542 #
543 # testdest (dependency on static CUPS library is intentional)
544 #
545
546 testdest: testdest.o $(LIBCUPSSTATIC)
547 echo Linking $@...
548 $(LD_CC) $(LDFLAGS) -o $@ testdest.o $(LIBCUPSSTATIC) \
549 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
550
551
552 #
553 # testfile (dependency on static CUPS library is intentional)
554 #
555
556 testfile: testfile.o $(LIBCUPSSTATIC)
557 echo Linking $@...
558 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testfile.o $(LIBCUPSSTATIC) \
559 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
560 echo Running file API tests...
561 ./testfile
562
563
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
574 #
575 # testhttp (dependency on static CUPS library is intentional)
576 #
577
578 testhttp: testhttp.o $(LIBCUPSSTATIC)
579 echo Linking $@...
580 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhttp.o $(LIBCUPSSTATIC) \
581 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
582 echo Running HTTP API tests...
583 ./testhttp
584
585
586 #
587 # testipp (dependency on static CUPS library is intentional)
588 #
589
590 testipp: testipp.o $(LIBCUPSSTATIC)
591 echo Linking $@...
592 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testipp.o $(LIBCUPSSTATIC) \
593 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
594 echo Running IPP API tests...
595 ./testipp
596
597
598 #
599 # testi18n (dependency on static CUPS library is intentional)
600 #
601
602 testi18n: testi18n.o $(LIBCUPSSTATIC)
603 echo Linking $@...
604 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testi18n.o $(LIBCUPSSTATIC) \
605 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
606 echo Running internationalization API tests...
607 ./testi18n
608
609
610 #
611 # testlang (dependency on static CUPS library is intentional)
612 #
613
614 testlang: testlang.o $(LIBCUPSSTATIC)
615 echo Linking $@...
616 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testlang.o $(LIBCUPSSTATIC) \
617 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
618 echo Creating locale directory structure...
619 $(RM) -r locale
620 $(MKDIR) locale/en
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
625 for po in ../locale/cups_*.po; do \
626 lang=`basename $$po .po | sed -e '1,$$s/^cups_//'`; \
627 $(MKDIR) locale/$$lang; \
628 $(LN) ../../$$po locale/$$lang; \
629 done
630 echo Running language API tests...
631 LOCALEDIR=locale ./testlang
632
633
634 #
635 # testoptions (dependency on static CUPS library is intentional)
636 #
637
638 testoptions: testoptions.o $(LIBCUPSSTATIC)
639 echo Linking $@...
640 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testoptions.o $(LIBCUPSSTATIC) \
641 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
642 echo Running option API tests...
643 ./testoptions
644
645
646 #
647 # testppd (dependency on static CUPS library is intentional)
648 #
649
650 testppd: testppd.o $(LIBCUPSSTATIC) test.ppd test2.ppd
651 echo Linking $@...
652 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testppd.o $(LIBCUPSSTATIC) \
653 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
654 echo Running PPD API tests...
655 ./testppd
656
657
658 #
659 # testpwg (dependency on static CUPS library is intentional)
660 #
661
662 testpwg: testpwg.o $(LIBCUPSSTATIC) test.ppd
663 echo Linking $@...
664 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testpwg.o $(LIBCUPSSTATIC) \
665 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
666 echo Running PWG API tests...
667 ./testpwg test.ppd
668
669
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
683 #
684 # testsnmp (dependency on static CUPS library is intentional)
685 #
686
687 testsnmp: testsnmp.o $(LIBCUPSSTATIC)
688 echo Linking $@...
689 $(LD_CC) $(LDFLAGS) -o $@ testsnmp.o $(LIBCUPSSTATIC) \
690 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
691
692
693 #
694 # tlscheck (dependency on static CUPS library is intentional)
695 #
696
697 tlscheck: tlscheck.o $(LIBCUPSSTATIC)
698 echo Linking $@...
699 $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ tlscheck.o $(LIBCUPSSTATIC) \
700 $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
701
702
703 #
704 # Automatic API help files...
705 #
706
707 apihelp:
708 echo Generating CUPS API help files...
709 $(RM) cupspm.xml
710 mxmldoc --section "Programming" --body cupspm.md \
711 cupspm.xml \
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 \
714 --coverimage cupspm.png \
715 --epub ../doc/help/cupspm.epub
716 mxmldoc --section "Programming" --body cupspm.md \
717 cupspm.xml > ../doc/help/cupspm.html
718 $(RM) cupspm.xml
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
724 $(RM) api-admin.xml
725 mxmldoc --section "Programming" --title "PPD API (DEPRECATED)" \
726 --css ../doc/cups-printable.css \
727 --header api-ppd.header --intro api-ppd.shtml \
728 api-ppd.xml ppd.h ppd-*.c >../doc/help/api-ppd.html
729 $(RM) api-ppd.xml
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
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 \
742 api-filter.xml \
743 backchannel.c backend.h backend.c sidechannel.c sidechannel.h \
744 >../doc/help/api-filter.html
745 $(RM) api-filter.xml
746
747
748 #
749 # Lines of code computation...
750 #
751
752 sloc:
753 echo "libcups: \c"
754 sloccount $(LIBOBJS:.o=.c) 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
755 echo "libcupsimage: \c"
756 sloccount $(IMAGEOBJS:.o=.c) 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
757
758
759 #
760 # Dependencies...
761 #
762
763 include Dependencies
764 tls.o: tls-darwin.c tls-gnutls.c tls-sspi.c