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