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