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