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