]> git.ipfire.org Git - thirdparty/cups.git/blob - cups/Makefile
Load cups into easysw/current.
[thirdparty/cups.git] / cups / Makefile
1 #
2 # "$Id: Makefile 6603 2007-06-22 22:23:21Z mike $"
3 #
4 # API library Makefile for the Common UNIX Printing System (CUPS).
5 #
6 # Copyright 1997-2006 by Easy Software Products, all rights reserved.
7 #
8 # These coded instructions, statements, and computer programs are the
9 # property of Easy Software Products and are protected by Federal
10 # copyright law. Distribution and use rights are outlined in the file
11 # "LICENSE.txt" which should have been included with this file. If this
12 # file is missing or damaged please contact Easy Software Products
13 # at:
14 #
15 # Attn: CUPS Licensing Information
16 # Easy Software Products
17 # 44141 Airport View Drive, Suite 204
18 # Hollywood, Maryland 20636 USA
19 #
20 # Voice: (301) 373-9600
21 # EMail: cups-info@cups.org
22 # WWW: http://www.cups.org
23 #
24 # This file is subject to the Apple OS-Developed Software exception.
25 #
26
27 include ../Makedefs
28
29 #
30 # Object files...
31 #
32
33 LIBOBJS = \
34 adminutil.o \
35 array.o \
36 attr.o \
37 auth.o \
38 backchannel.o \
39 backend.o \
40 custom.o \
41 dest.o \
42 dir.o \
43 emit.o \
44 encode.o \
45 file.o \
46 getifaddrs.o \
47 getputfile.o \
48 globals.o \
49 http.o \
50 http-addr.o \
51 http-addrlist.o \
52 http-support.o \
53 ipp.o \
54 ipp-support.o \
55 langprintf.o \
56 language.o \
57 localize.o \
58 mark.o \
59 md5.o \
60 md5passwd.o \
61 notify.o \
62 options.o \
63 page.o \
64 ppd.o \
65 request.o \
66 sidechannel.o \
67 snprintf.o \
68 string.o \
69 tempfile.o \
70 transcode.o \
71 usersys.o \
72 util.o
73 LIB32OBJS = $(LIBOBJS:.o=.32.o)
74 LIB64OBJS = $(LIBOBJS:.o=.64.o)
75 OBJS = \
76 $(LIBOBJS) \
77 $(LIB32OBJS) \
78 $(LIB64OBJS) \
79 testadmin.o \
80 testarray.o \
81 testcups.o \
82 testfile.o \
83 testhttp.o \
84 testi18n.o \
85 testipp.o \
86 testlang.o \
87 testppd.o \
88 php_cups_wrap.o
89
90
91 #
92 # Header files to install...
93 #
94
95 HEADERS = \
96 adminutil.h \
97 array.h \
98 backend.h \
99 cups.h \
100 dir.h \
101 file.h \
102 http.h \
103 i18n.h \
104 ipp.h \
105 language.h \
106 ppd.h \
107 sidechannel.h \
108 transcode.h
109
110
111 #
112 # Targets in this directory...
113 #
114
115 TARGETS = \
116 $(LIBCUPS) \
117 $(LIB32CUPS) \
118 $(LIB64CUPS) \
119 libcups.a \
120 testadmin \
121 testarray \
122 testcups \
123 testfile \
124 testhttp \
125 testi18n \
126 testipp \
127 testlang \
128 testppd
129
130
131 #
132 # Make all targets...
133 #
134
135 all: $(TARGETS)
136
137
138 #
139 # Remove object and target files...
140 #
141
142 clean:
143 $(RM) $(OBJS) $(TARGETS)
144 $(RM) libcups.so libcups.sl libcups.dylib
145 $(RM) -r 32bit 64bit
146
147
148 #
149 # Update dependencies (without system header dependencies...)
150 #
151
152 depend:
153 touch Dependencies.tmp
154 makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1
155 $(RM) Dependencies
156 cp Dependencies.tmp Dependencies
157 sed -r -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies
158 sed -r -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies
159 $(RM) Dependencies.tmp
160
161
162 #
163 # Install object and target files...
164 #
165
166 install: all installhdrs $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
167 $(INSTALL_DIR) -m 755 $(LIBDIR)
168 $(INSTALL_LIB) $(LIBCUPS) $(LIBDIR)
169 if test $(LIBCUPS) = "libcups.so.2" -o $(LIBCUPS) = "libcups.sl.2"; then \
170 $(RM) $(LIBDIR)/`basename $(LIBCUPS) .2`; \
171 $(LN) $(LIBCUPS) $(LIBDIR)/`basename $(LIBCUPS) .2`; \
172 fi
173 if test $(LIBCUPS) = "libcups.2.dylib"; then \
174 $(STRIP) -x $(LIBDIR)/$(LIBCUPS); \
175 $(RM) $(LIBDIR)/libcups.dylib; \
176 $(LN) $(LIBCUPS) $(LIBDIR)/libcups.dylib; \
177 fi
178 if test "x$(SYMROOT)" != "x"; then \
179 $(INSTALL_DIR) $(SYMROOT); \
180 for file in $(TARGETS); do \
181 cp $$file $(SYMROOT); \
182 done \
183 fi
184
185 installstatic:
186 $(INSTALL_DIR) -m 755 $(LIBDIR)
187 $(INSTALL_LIB) libcups.a $(LIBDIR)
188 $(RANLIB) $(LIBDIR)/libcups.a
189
190 installhdrs:
191 $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
192 for file in $(HEADERS); do \
193 $(INSTALL_DATA) $$file $(INCLUDEDIR)/cups; \
194 done
195
196 install32bit:
197 $(INSTALL_DIR) -m 755 $(LIB32DIR)
198 $(INSTALL_LIB) 32bit/libcups.so.2 $(LIB32DIR)/libcups.so.2
199 $(LN) libcups.so.2 $(LIB32DIR)/libcups.so
200
201 install64bit:
202 $(INSTALL_DIR) -m 755 $(LIB64DIR)
203 $(INSTALL_LIB) 64bit/libcups.so.2 $(LIB64DIR)/libcups.so.2
204 $(LN) libcups.so.2 $(LIB64DIR)/libcups.so
205
206
207 #
208 # Uninstall object and target files...
209 #
210
211 uninstall: $(UNINSTALL32) $(UNINSTALL64)
212 $(RM) $(LIBDIR)/libcups.2.dylib
213 $(RM) $(LIBDIR)/libcups.a
214 $(RM) $(LIBDIR)/libcups.dylib
215 $(RM) $(LIBDIR)/libcups_s.a
216 $(RM) $(LIBDIR)/libcups.sl
217 $(RM) $(LIBDIR)/libcups.sl.2
218 $(RM) $(LIBDIR)/libcups.so
219 $(RM) $(LIBDIR)/libcups.so.2
220 -$(RMDIR) $(LIBDIR)
221 for file in $(HEADERS); do \
222 $(RM) $(INCLUDEDIR)/cups/$$file; \
223 done
224 -$(RMDIR) $(INCLUDEDIR)/cups
225
226 uninstall32bit:
227 $(RM) $(LIB32DIR)/libcups.so
228 $(RM) $(LIB32DIR)/libcups.so.2
229 -$(RMDIR) $(LIB32DIR)
230
231 uninstall64bit:
232 $(RM) $(LIB64DIR)/libcups.so
233 $(RM) $(LIB64DIR)/libcups.so.2
234 -$(RMDIR) $(LIB64DIR)
235
236
237 #
238 # libcups.so.2, libcups.sl.2
239 #
240
241 libcups.so.2 libcups.sl.2: $(LIBOBJS)
242 echo Linking $@...
243 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
244 $(RM) `basename $@ .2`
245 $(LN) $@ `basename $@ .2`
246
247
248 #
249 # 32bit/libcups.so.2
250 #
251
252 32bit/libcups.so.2: $(LIB32OBJS)
253 echo Linking 32-bit $@...
254 -mkdir 32bit
255 $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
256 $(RM) 32bit/libcups.so
257 $(LN) libcups.so.2 32bit/libcups.so
258
259
260 #
261 # 64bit/libcups.so.2
262 #
263
264 64bit/libcups.so.2: $(LIB64OBJS)
265 echo Linking 64-bit $@...
266 -mkdir 64bit
267 $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
268 $(RM) 64bit/libcups.so
269 $(LN) libcups.so.2 64bit/libcups.so
270
271
272 #
273 # libcups.2.dylib
274 #
275
276 libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER)
277 echo Linking $@...
278 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
279 -install_name $(libdir)/$@ \
280 -current_version 2.8.0 \
281 -compatibility_version 2.0.0 \
282 -exported_symbols_list libcups.exp \
283 -sectorder __TEXT __text $(LIBCUPSORDER) \
284 $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
285 $(RM) libcups.dylib
286 $(LN) $@ libcups.dylib
287
288
289 #
290 # libcups_s.a
291 #
292
293 libcups_s.a: $(LIBOBJS) libcups_s.exp
294 echo Creating $@...
295 $(DSO) $(DSOFLAGS) -Wl,-bexport:libcups_s.exp -o libcups_s.o $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ) -lm
296 $(RM) $@
297 $(AR) $(ARFLAGS) $@ libcups_s.o
298
299
300 #
301 # libcups.la
302 #
303
304 libcups.la: $(LIBOBJS)
305 echo Linking $@...
306 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
307 -version-info 2:8 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
308
309
310 #
311 # libcups.a
312 #
313
314 libcups.a: $(LIBOBJS)
315 echo Archiving $@...
316 $(RM) $@
317 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
318 $(RANLIB) $@
319
320
321 #
322 # CUPS language bindings for various scripting languages...
323 #
324 # NOTE: Not currently used or functional - see the scripting/php directory
325 # for the hand-written bindings...
326 #
327
328 phpcups.so: $(LIBCUPS) php_cups_wrap.o
329 echo Linking $@...
330 if test `uname` = Darwin; then \
331 DSOFLAGS="-bundle -flat_namespace -undefined suppress"; \
332 else \
333 DSOFLAGS="$(DSOFLAGS)"; \
334 fi; \
335 $(DSO) $$DSOFLAGS -o $@ php_cups_wrap.o $(LIBS) `php-config --ldflags --libs`
336
337 php_cups_wrap.o: php_cups_wrap.c
338 echo Compiling $<...
339 $(CC) $(CFLAGS) `php-config --includes` -c $<
340 php_cups_wrap.c: cups.h
341 echo Creating $< using SWIG...
342 swig -php -o $@ -module cups cups.h
343
344
345 #
346 # testadmin (dependency on static CUPS library is intentional)
347 #
348
349 testadmin: testadmin.o libcups.a
350 echo Linking $@...
351 $(CC) $(LDFLAGS) -o $@ testadmin.o libcups.a \
352 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
353
354
355 #
356 # testarray (dependency on static CUPS library is intentional)
357 #
358
359 testarray: testarray.o libcups.a
360 echo Linking $@...
361 $(CC) $(LDFLAGS) -o $@ testarray.o libcups.a \
362 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
363
364
365 #
366 # testcups (dependency on static CUPS library is intentional)
367 #
368
369 testcups: testcups.o libcups.a
370 echo Linking $@...
371 $(CC) $(LDFLAGS) -o $@ testcups.o libcups.a \
372 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
373
374
375 #
376 # testfile (dependency on static CUPS library is intentional)
377 #
378
379 testfile: testfile.o libcups.a
380 echo Linking $@...
381 $(CC) $(LDFLAGS) -o $@ testfile.o libcups.a \
382 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
383
384
385 #
386 # testhttp (dependency on static CUPS library is intentional)
387 #
388
389 testhttp: testhttp.o libcups.a
390 echo Linking $@...
391 $(CC) $(LDFLAGS) -o $@ testhttp.o libcups.a \
392 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
393
394
395 #
396 # testipp (dependency on static CUPS library is intentional)
397 #
398
399 testipp: testipp.o libcups.a
400 echo Linking $@...
401 $(CC) $(LDFLAGS) -o $@ testipp.o libcups.a \
402 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
403
404
405 #
406 # testi18n (dependency on static CUPS library is intentional)
407 #
408
409 testi18n: testi18n.o libcups.a
410 echo Linking $@...
411 $(CC) $(LDFLAGS) -o $@ testi18n.o libcups.a \
412 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
413
414
415 #
416 # testlang (dependency on static CUPS library is intentional)
417 #
418
419 testlang: testlang.o libcups.a
420 echo Linking $@...
421 $(CC) $(LDFLAGS) -o $@ testlang.o libcups.a \
422 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
423
424
425 #
426 # testppd (dependency on static CUPS library is intentional)
427 #
428
429 testppd: testppd.o libcups.a
430 echo Linking $@...
431 $(CC) $(LDFLAGS) -o $@ testppd.o libcups.a \
432 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
433
434
435 #
436 # Automatic API help files...
437 #
438
439 apihelp:
440 echo Generating CUPS API help files...
441 mxmldoc --section "Programming" --title "Array API" \
442 --intro api-array.shtml \
443 array.h array.c >../doc/help/api-array.html
444 mxmldoc --section "Programming" --title "CUPS API" \
445 --intro api-cups.shtml \
446 cups.h dest.c getputfile.c language.c notify.c \
447 options.c tempfile.c usersys.c \
448 util.c >../doc/help/api-cups.html
449 mxmldoc --section "Programming" --title "File and Directory APIs" \
450 --intro api-filedir.shtml \
451 file.h file.c dir.h dir.c >../doc/help/api-filedir.html
452 mxmldoc --section "Programming" --title "PPD API" \
453 --intro api-ppd.shtml \
454 ppd.h attr.c custom.c emit.c localize.c mark.c page.c \
455 ppd.c >../doc/help/api-ppd.html
456 mxmldoc --section "Programming" --title "HTTP and IPP APIs" \
457 --intro api-httpipp.shtml \
458 http.h ipp.h auth.c encode.c http.c http-addr.c \
459 http-support.c ipp.c ipp-support.c md5passwd.c \
460 request.c >../doc/help/api-httpipp.html
461 mxmldoc --section "Programming" --title "Filter and Backend APIs" \
462 --intro api-filter.shtml \
463 backchannel.c sidechannel.c sidechannel.h >../doc/help/api-filter.html
464
465
466 #
467 # Dependencies...
468 #
469
470 include Dependencies
471
472
473 #
474 # End of "$Id: Makefile 6603 2007-06-22 22:23:21Z mike $".
475 #