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