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