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