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