]> jfr.im git - irc/atheme/libmowgli-2.git/blob - buildsys.mk.in
src/libmowgli/eventloop/helper: trampoline: ensure fds are valid
[irc/atheme/libmowgli-2.git] / buildsys.mk.in
1 #
2 # Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012
3 # Jonathan Schleifer <js@webkeks.org>
4 #
5 # https://webkeks.org/git/?p=buildsys.git
6 #
7 # Permission to use, copy, modify, and/or distribute this software for any
8 # purpose with or without fee is hereby granted, provided that the above
9 # copyright notice and this permission notice is present in all copies.
10 #
11 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
12 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
13 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
14 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
15 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
16 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
17 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
18 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
19 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
20 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
21 # POSSIBILITY OF SUCH DAMAGE.
22 #
23
24 #V=1
25 PACKAGE_NAME = @PACKAGE_NAME@
26 PACKAGE_VERSION = @PACKAGE_VERSION@
27 AS = @AS@
28 CC = @CC@
29 CXX = @CXX@
30 CPP = @CPP@
31 DC = @DC@
32 ERLC = @ERLC@
33 OBJC = @OBJC@
34 OBJCXX = @OBJCXX@
35 AR = @AR@
36 LD = ${CC}
37 RANLIB = @RANLIB@
38 PYTHON = @PYTHON@
39 ASFLAGS = @ASFLAGS@
40 CFLAGS = @CFLAGS@
41 CXXFLAGS = @CXXFLAGS@
42 CPPFLAGS = @CPPFLAGS@
43 DFLAGS = @DFLAGS@
44 ERLCFLAGS = @ERLCFLAGS@
45 OBJCFLAGS = @OBJCFLAGS@
46 OBJCXXFLAGS = @OBJCXXFLAGS@
47 LDFLAGS = @LDFLAGS@
48 LDFLAGS_RPATH = @LDFLAGS_RPATH@
49 LIBS = @LIBS@
50 PYTHON_FLAGS = @PYTHON_FLAGS@
51 PROG_IMPLIB_NEEDED = @PROG_IMPLIB_NEEDED@
52 PROG_IMPLIB_LDFLAGS = @PROG_IMPLIB_LDFLAGS@
53 PROG_SUFFIX = @EXEEXT@
54 LIB_CFLAGS = @LIB_CFLAGS@
55 LIB_LDFLAGS = @LIB_LDFLAGS@
56 LIB_PREFIX = @LIB_PREFIX@
57 LIB_SUFFIX = @LIB_SUFFIX@
58 PLUGIN_CFLAGS = @PLUGIN_CFLAGS@
59 PLUGIN_LDFLAGS = @PLUGIN_LDFLAGS@
60 PLUGIN_SUFFIX = @PLUGIN_SUFFIX@
61 INSTALL_LIB = @INSTALL_LIB@
62 UNINSTALL_LIB = @UNINSTALL_LIB@
63 CLEAN_LIB = @CLEAN_LIB@
64 LN_S = @LN_S@
65 MKDIR_P = mkdir -p
66 INSTALL = @INSTALL@
67 SHELL = @SHELL@
68 MSGFMT = @MSGFMT@
69 JAVAC = @JAVAC@
70 JAVACFLAGS = @JAVACFLAGS@
71 JAR = @JAR@
72 WINDRES = @WINDRES@
73 prefix = @prefix@
74 exec_prefix = @exec_prefix@
75 bindir = @bindir@
76 libdir = @libdir@
77 plugindir ?= ${libdir}/${PACKAGE_NAME}
78 datarootdir = @datarootdir@
79 datadir = @datadir@
80 includedir = @includedir@
81 includesubdir ?= ${PACKAGE_NAME}
82 localedir = @localedir@
83 localename ?= ${PACKAGE_NAME}
84 mandir = @mandir@
85 mansubdir ?= man1
86
87 OBJS1 = ${SRCS:.c=.o}
88 OBJS2 = ${OBJS1:.cc=.o}
89 OBJS3 = ${OBJS2:.cxx=.o}
90 OBJS4 = ${OBJS3:.d=.o}
91 OBJS5 = ${OBJS4:.erl=.beam}
92 OBJS6 = ${OBJS5:.java=.class}
93 OBJS7 = ${OBJS6:.m=.o}
94 OBJS8 = ${OBJS7:.mm=.o}
95 OBJS9 = ${OBJS8:.py=.pyc}
96 OBJS10 = ${OBJS9:.rc=.o}
97 OBJS11 = ${OBJS10:.S=.o}
98 OBJS += ${OBJS11:.xpm=.o}
99
100 LIB_OBJS = ${OBJS:.o=.lib.o}
101 PLUGIN_OBJS = ${OBJS:.o=.plugin.o}
102
103 MO_FILES = ${LOCALES:.po=.mo}
104
105 .SILENT:
106 .SUFFIXES:
107 .SUFFIXES: .beam .c .c.dep .cc .cc.dep .class .cxx .cxx.dep .d .erl .lib.o .java .mo .m .m.dep .mm .mm.dep .o .plugin.o .po .py .pyc .rc .S .S.dep .xpm
108 .PHONY: all subdirs ${SUBDIRS} pre-depend depend install install-extra uninstall uninstall-extra clean distclean locales
109
110 all: subdirs depend ${STATIC_LIB} ${STATIC_LIB_NOINST} ${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${SHARED_LIB} ${SHARED_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST} ${JARFILE} locales
111
112 subdirs: ${SUBDIRS}
113 ${SUBDIRS}:
114 ${MAKE} -C $@ ${MFLAGS}
115
116 depend: pre-depend ${SRCS}
117 regen=0; \
118 deps=""; \
119 test -f .deps || regen=1; \
120 for i in ${SRCS}; do \
121 case $$i in \
122 *.c | *.cc | *.cxx | *.m | *.mm | *.S) \
123 test $$i -nt .deps && regen=1; \
124 deps="$$deps $$i.dep"; \
125 ;; \
126 esac; \
127 done; \
128 if test x"$$regen" = x"1" -a x"$$deps" != x""; then \
129 ${DEPEND_STATUS}; \
130 if ${MAKE} ${MFLAGS} $$deps && cat $$deps >.deps; then \
131 rm -f $$deps; \
132 ${DEPEND_OK}; \
133 else \
134 :> .deps; \
135 touch -t 0001010000 .deps; \
136 ${DEPEND_FAILED}; \
137 fi; \
138 fi
139
140 .c.c.dep:
141 ${CPP} ${CPPFLAGS} ${CFLAGS} -M $< | \
142 sed 's/^\([^\.]*\)\.o:/\1.o \1.lib.o \1.plugin.o:/' >$@ || \
143 { rm -f $@; false; }
144
145 .cc.cc.dep .cxx.cxx.dep:
146 ${CPP} ${CPPFLAGS} ${CXXFLAGS} -M $< | \
147 sed 's/^\([^\.]*\)\.o:/\1.o \1.lib.o \1.plugin.o:/' >$@ || \
148 { rm -f $@; false; }
149
150 .m.m.dep:
151 ${CPP} ${CPPFLAGS} ${OBJCFLAGS} -M $< | \
152 sed 's/^\([^\.]*\)\.o:/\1.o \1.lib.o \1.plugin.o:/' >$@ || \
153 { rm -f $@; false; }
154
155 .mm.mm.dep:
156 ${CPP} ${CPPFLAGS} ${OBJCPPFLAGS} -M $< | \
157 sed 's/^\([^\.]*\)\.o:/\1.o \1.lib.o \1.plugin.o:/' >$@ || \
158 { rm -f $@; false; }
159
160 .S.S.dep:
161 ${CPP} ${CPPFLAGS} ${ASFLAGS} -M $< | \
162 sed 's/^\([^\.]*\)\.o:/\1.o \1.lib.o \1.plugin.o:/' >$@ || \
163 { rm -f $@; false; }
164
165 pre-depend:
166
167 ${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS} ${OBJS_EXTRA}
168 LDOBJS="${OBJS} ${OBJS_EXTRA}"; \
169 ${LINK_STATUS}; \
170 if ${LD} -o $@ ${OBJS} ${OBJS_EXTRA} ${LDFLAGS} ${LIBS}; then \
171 ${LINK_OK}; \
172 else \
173 ${LINK_FAILED}; \
174 fi
175
176 ${JARFILE}: ${EXT_DEPS} ${JAR_MANIFEST} ${OBJS} ${OBJS_EXTRA}
177 ${LINK_STATUS}
178 if test x"${JAR_MANIFEST}" != x""; then \
179 if ${JAR} cfm ${JARFILE} ${JAR_MANIFEST} ${OBJS} ${OBJS_EXTRA}; then \
180 ${LINK_OK}; \
181 else \
182 ${LINK_FAILED}; \
183 fi \
184 else \
185 if ${JAR} cf ${JARFILE} ${OBJS} ${OBJS_EXTRA}; then \
186 ${LINK_OK}; \
187 else \
188 ${LINK_FAILED}; \
189 fi \
190 fi
191
192 ${SHARED_LIB} ${SHARED_LIB_NOINST}: ${EXT_DEPS} ${LIB_OBJS} ${LIB_OBJS_EXTRA}
193 LDOBJS="${LIB_OBJS} ${LIB_OBJS_EXTRA}"; \
194 ${LINK_STATUS}; \
195 objs=""; \
196 ars=""; \
197 for i in ${LIB_OBJS} ${LIB_OBJS_EXTRA}; do \
198 case $$i in \
199 *.a) \
200 ars="$$ars $$i" \
201 ;; \
202 *.o) \
203 objs="$$objs $$i" \
204 ;; \
205 esac \
206 done; \
207 for i in $$ars; do \
208 dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
209 rm -fr $$dir; \
210 mkdir -p $$dir; \
211 cd $$dir; \
212 ${AR} x ../$$i; \
213 for j in *.o; do \
214 objs="$$objs $$dir/$$j"; \
215 done; \
216 cd ..; \
217 done; \
218 if ${LD} -o $@ $$objs ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
219 ${LINK_OK}; \
220 else \
221 ${LINK_FAILED}; \
222 fi; \
223 for i in $$ars; do \
224 dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
225 rm -fr $$dir; \
226 done
227
228 ${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS}
229 LDOBJS="${PLUGIN_OBJS}"; \
230 ${LINK_STATUS}; \
231 objs=""; \
232 ars=""; \
233 for i in ${PLUGIN_OBJS}; do \
234 case $$i in \
235 *.a) \
236 ars="$$ars $$i" \
237 ;; \
238 *.o) \
239 objs="$$objs $$i" \
240 ;; \
241 esac \
242 done; \
243 for i in $$ars; do \
244 dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
245 rm -fr $$dir; \
246 mkdir -p $$dir; \
247 cd $$dir; \
248 ${AR} x ../$$i; \
249 for j in *.o; do \
250 objs="$$objs $$dir/$$j"; \
251 done; \
252 cd ..; \
253 done; \
254 if ${LD} -o $@ $$objs ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
255 ${LINK_OK}; \
256 else \
257 ${LINK_FAILED}; \
258 fi; \
259 for i in $$ars; do \
260 dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
261 rm -fr $$dir; \
262 done
263
264 ${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS} ${OBJS_EXTRA}
265 LDOBJS="${OBJS} ${OBJS_EXTRA}"; \
266 ${LINK_STATUS}; \
267 rm -f $@; \
268 objs=""; \
269 ars=""; \
270 for i in ${OBJS} ${OBJS_EXTRA}; do \
271 case $$i in \
272 *.a) \
273 ars="$$ars $$i" \
274 ;; \
275 *.o) \
276 objs="$$objs $$i" \
277 ;; \
278 esac \
279 done; \
280 for i in $$ars; do \
281 dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
282 rm -fr $$dir; \
283 mkdir -p $$dir; \
284 cd $$dir; \
285 ${AR} x ../$$i; \
286 for j in *.o; do \
287 objs="$$objs $$dir/$$j"; \
288 done; \
289 cd ..; \
290 done; \
291 if ${AR} cr $@ $$objs && ${RANLIB} $@; then \
292 ${LINK_OK}; \
293 else \
294 ${LINK_FAILED}; \
295 rm -f $@; \
296 fi; \
297 for i in $$ars; do \
298 dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
299 rm -fr $$dir; \
300 done
301
302 ${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST}: ${EXT_DEPS} ${LIB_OBJS} ${LIB_OBJS_EXTRA}
303 LDOBJS="${LIB_OBJS} ${LIB_OBJS_EXTRA}"; \
304 ${LINK_STATUS}; \
305 rm -f $@
306 objs=""; \
307 ars=""; \
308 for i in ${LIB_OBJS} ${LIB_OBJS_EXTRA}; do \
309 case $$i in \
310 *.a) \
311 ars="$$ars $$i" \
312 ;; \
313 *.o) \
314 objs="$$objs $$i" \
315 ;; \
316 esac \
317 done; \
318 for i in $$ars; do \
319 dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
320 rm -fr $$dir; \
321 mkdir -p $$dir; \
322 cd $$dir; \
323 ${AR} x ../$$i; \
324 for j in *.o; do \
325 objs="$$objs $$dir/$$j"; \
326 done; \
327 cd ..; \
328 done; \
329 if ${AR} cr $@ $$objs && ${RANLIB} $@; then \
330 ${LINK_OK}; \
331 else \
332 ${LINK_FAILED}; \
333 rm -f $@; \
334 fi; \
335 for i in $$ars; do \
336 dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
337 rm -fr $$dir; \
338 done
339
340 locales: ${MO_FILES}
341
342 .c.o:
343 COMPILER="${CC}"; \
344 COMPILER_FLAGS="${CFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
345 ${COMPILE_STATUS}; \
346 $${COMPILER} $${COMPILER_FLAGS}
347
348 .c.lib.o:
349 COMPILER="${CC}"; \
350 COMPILER_FLAGS="${LIB_CFLAGS} ${CFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
351 ${COMPILE_LIB_STATUS}; \
352 $${COMPILER} $${COMPILER_FLAGS}
353
354 .c.plugin.o:
355 COMPILER="${CC}"; \
356 COMPILER_FLAGS="${PLUGIN_CFLAGS} ${CFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
357 ${COMPILE_PLUGIN_STATUS}; \
358 $${COMPILER} $${COMPILER_FLAGS}
359
360 .cc.o .cxx.o:
361 COMPILER="${CXX}"; \
362 COMPILER_FLAGS="${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
363 ${COMPILE_STATUS}; \
364 $${COMPILER} $${COMPILER_FLAGS}
365
366 .cc.lib.o .cxx.lib.o:
367 COMPILER="${CXX}"; \
368 COMPILER_FLAGS="${LIB_CFLAGS} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
369 ${COMPILE_LIB_STATUS}; \
370 $${COMPILER} $${COMPILER_FLAGS}
371
372 .cc.plugin.o .cxx.plugin.o:
373 COMPILER="${CXX}"; \
374 COMPILER_FLAGS="${PLUGIN_CFLAGS} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
375 ${COMPILE_PLUGIN_STATUS}; \
376 $${COMPILER} $${COMPILER_FLAGS}
377
378 .d.o:
379 COMPILER="${DC}"; \
380 ${COMPILE_STATUS}; \
381 if test x"$(basename ${COMPILER})" = x"dmd"; then \
382 $${COMPILER} ${DFLAGS} -c -of$@ $<; \
383 else \
384 $${COMPILER} ${DFLAGS} -c -o $@ $<; \
385 fi
386
387 .erl.beam:
388 COMPILER="${ERLC}"; \
389 COMPILER_FLAGS="${ERLCFLAGS} -o $@ $<"; \
390 ${COMPILE_STATUS}; \
391 $${COMPILER} $${COMPILER_FLAGS}
392
393 .java.class:
394 COMPILER="${JAVAC}"; \
395 COMPILER_FLAGS="${JAVACFLAGS} $<"; \
396 ${COMPILE_STATUS}; \
397 $${COMPILER} $${COMPILER_FLAGS}
398
399 .m.o:
400 COMPILER="${OBJC}"; \
401 COMPILER_FLAGS="${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
402 ${COMPILE_STATUS}; \
403 $${COMPILER} $${COMPILER_FLAGS}
404
405 .m.lib.o:
406 COMPILER="${OBJC}"; \
407 COMPILER_FLAGS="${LIB_CFLAGS} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
408 ${COMPILE_LIB_STATUS}; \
409 $${COMPILER} $${COMPILER_FLAGS}
410
411 .m.plugin.o:
412 COMPILER="${OBJC}"; \
413 COMPILER_FLAGS="${PLUGIN_CFLAGS} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
414 ${COMPILE_PLUGIN_STATUS}; \
415 $${COMPILER} $${COMPILER_FLAGS}
416
417 .mm.o:
418 COMPILER="${OBJCXX}"; \
419 COMPILER_FLAGS="${OBJCXXFLAGS} ${OBJCFLAGS} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
420 ${COMPILE_STATUS}; \
421 $${COMPILER} $${COMPILER_FLAGS}
422
423 .mm.lib.o:
424 COMPILER="${OBJCXX}"; \
425 COMPILER_FLAGS="${LIB_CFLAGS} ${OBJCXXFLAGS} ${OBJCFLAGS} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
426 ${COMPILE_LIB_STATUS}; \
427 $${COMPILER} $${COMPILER_FLAGS}
428
429 .mm.plugin.o:
430 COMPILER="${OBJCXX}"; \
431 COMPILER_FLAGS="${PLUGIN_CFLAGS} ${OBJCXXFLAGS} ${OBJCFLAGS} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
432 ${COMPILE_PLUGIN_STATUS}; \
433 $${COMPILER} $${COMPILER_FLAGS}
434
435 .po.mo:
436 COMPILER="${MSGFMT}"; \
437 COMPILER_FLAGS="-c -o $@ $<"; \
438 ${COMPILE_RESOURCE_STATUS}; \
439 $${COMPILER} $${COMPILER_FLAGS}
440
441 .py.pyc:
442 COMPILER="${PYTHON}"; \
443 COMPILER_FLAGS="${PYTHON_FLAGS}"; \
444 ${COMPILE_RESOURCE_STATUS}; \
445 $${COMPILER} $${COMPILER_FLAGS} -c "import py_compile; py_compile.compile('$<')"
446
447 .rc.o .rc.lib.o .rc.plugin.o:
448 COMPILER="${WINDRES}"; \
449 COMPILER_FLAGS="${CPPFLAGS} -J rc -O coff -o $@ $<"; \
450 ${COMPILE_RESOURCE_STATUS}; \
451 $${COMPILER} $${COMPILER_FLAGS}
452
453 .S.o:
454 COMPILER="${AS}"; \
455 COMPILER_FLAGS="${ASFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
456 ${COMPILE_STATUS}; \
457 $${COMPILER} $${COMPILER_FLAGS}
458
459 .S.lib.o:
460 COMPILER="${AS}"; \
461 COMPILER_FLAGS="${LIB_CFLAGS} ${ASFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
462 ${COMPILE_LIB_STATUS}; \
463 $${COMPILER} $${COMPILER_FLAGS}
464
465 .S.plugin.o:
466 COMPILER="${AS}"; \
467 COMPILER_FLAGS="${PLUGIN_CFLAGS} ${ASFLAGS} ${CPPFLAGS} -c -o $@ $<"; \
468 ${COMPILE_PLUGIN_STATUS}; \
469 $${COMPILER} $${COMPILER_FLAGS}
470
471 .xpm.o:
472 COMPILER="${CC}"; \
473 COMPILER_FLAGS="${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<"; \
474 ${COMPILE_STATUS}; \
475 $${COMPILER} $${COMPILER_FLAGS}
476
477 .xpm.lib.o:
478 COMPILER="${CC}"; \
479 COMPILER_FLAGS="${LIB_CFLAGS} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<"; \
480 ${COMPILE_LIB_STATUS}; \
481 $${COMPILER} $${COMPILER_FLAGS}
482
483 .xpm.plugin.o:
484 COMPILER="${CC}"; \
485 COMPILER_FLAGS="${PLUGIN_CFLAGS} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<"; \
486 ${COMPILE_PLUGIN_STATUS}; \
487 $${COMPILER} $${COMPILER_FLAGS}
488
489 install: ${SHARED_LIB} ${STATIC_LIB} ${STATIC_PIC_LIB} ${PLUGIN} ${PROG} install-extra
490 for i in ${SUBDIRS}; do \
491 ${DIR_ENTER}; \
492 ${MAKE} ${MFLAGS} install || exit $$?; \
493 ${DIR_LEAVE}; \
494 done
495
496 for i in ${SHARED_LIB}; do \
497 ${INSTALL_STATUS}; \
498 if ${MKDIR_P} ${DESTDIR}${libdir} ${INSTALL_LIB}; then \
499 ${INSTALL_OK}; \
500 else \
501 ${INSTALL_FAILED}; \
502 fi \
503 done
504
505 for i in ${STATIC_LIB} ${STATIC_PIC_LIB}; do \
506 ${INSTALL_STATUS}; \
507 if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${libdir}/$$i; then \
508 ${INSTALL_OK}; \
509 else \
510 ${INSTALL_FAILED}; \
511 fi \
512 done
513
514 for i in ${PLUGIN}; do \
515 ${INSTALL_STATUS}; \
516 if ${MKDIR_P} ${DESTDIR}${plugindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i; then \
517 ${INSTALL_OK}; \
518 else \
519 ${INSTALL_FAILED}; \
520 fi \
521 done
522
523 for i in ${DATA}; do \
524 ${INSTALL_STATUS}; \
525 if ${MKDIR_P} $$(dirname ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i) && ${INSTALL} -m 644 $$i ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i; then \
526 ${INSTALL_OK}; \
527 else \
528 ${INSTALL_FAILED}; \
529 fi \
530 done
531
532 for i in ${PROG}; do \
533 ${INSTALL_STATUS}; \
534 if ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i; then \
535 ${INSTALL_OK}; \
536 else \
537 ${INSTALL_FAILED}; \
538 fi \
539 done
540
541 for i in ${INCLUDES}; do \
542 ${INSTALL_STATUS}; \
543 if ${MKDIR_P} ${DESTDIR}${includedir}/${includesubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
544 ${INSTALL_OK}; \
545 else \
546 ${INSTALL_FAILED}; \
547 fi \
548 done
549
550 for i in ${MO_FILES}; do \
551 ${INSTALL_STATUS}; \
552 if ${MKDIR_P} ${DESTDIR}${localedir}/$${i%.mo}/LC_MESSAGES && ${INSTALL} -m 644 $$i ${DESTDIR}${localedir}/$${i%.mo}/LC_MESSAGES/${localename}.mo; then \
553 ${INSTALL_OK}; \
554 else \
555 ${INSTALL_FAILED}; \
556 fi \
557 done
558
559 for i in ${MAN}; do \
560 ${INSTALL_STATUS}; \
561 if ${MKDIR_P} ${DESTDIR}${mandir}/${mansubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
562 ${INSTALL_OK}; \
563 else \
564 ${INSTALL_FAILED}; \
565 fi \
566 done
567
568 install-extra:
569
570 uninstall: uninstall-extra
571 for i in ${SUBDIRS}; do \
572 ${DIR_ENTER}; \
573 ${MAKE} ${MFLAGS} uninstall || exit $$?; \
574 ${DIR_LEAVE}; \
575 done
576
577 for i in ${SHARED_LIB}; do \
578 if test -f ${DESTDIR}${libdir}/$$i; then \
579 if : ${UNINSTALL_LIB}; then \
580 ${DELETE_OK}; \
581 else \
582 ${DELETE_FAILED}; \
583 fi \
584 fi; \
585 done
586
587 for i in ${STATIC_LIB} ${STATIC_PIC_LIB}; do \
588 if test -f ${DESTDIR}${libdir}/$$i; then \
589 if rm -f ${DESTDIR}${libdir}/$$i; then \
590 ${DELETE_OK}; \
591 else \
592 ${DELETE_FAILED}; \
593 fi \
594 fi \
595 done
596
597 for i in ${PLUGIN}; do \
598 if test -f ${DESTDIR}${plugindir}/$$i; then \
599 if rm -f ${DESTDIR}${plugindir}/$$i; then \
600 ${DELETE_OK}; \
601 else \
602 ${DELETE_FAILED}; \
603 fi \
604 fi \
605 done
606 -rmdir ${DESTDIR}${plugindir} >/dev/null 2>&1
607
608 for i in ${DATA}; do \
609 if test -f ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i; then \
610 if rm -f ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i; then \
611 ${DELETE_OK}; \
612 else \
613 ${DELETE_FAILED}; \
614 fi \
615 fi; \
616 rmdir "$$(dirname ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i)" >/dev/null 2>&1 || true; \
617 done
618 -rmdir ${DESTDIR}${datadir}/${PACKAGE_NAME} >/dev/null 2>&1
619
620 for i in ${PROG}; do \
621 if test -f ${DESTDIR}${bindir}/$$i; then \
622 if rm -f ${DESTDIR}${bindir}/$$i; then \
623 ${DELETE_OK}; \
624 else \
625 ${DELETE_FAILED}; \
626 fi \
627 fi \
628 done
629
630 for i in ${INCLUDES}; do \
631 if test -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
632 if rm -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
633 ${DELETE_OK}; \
634 else \
635 ${DELETE_FAILED}; \
636 fi \
637 fi \
638 done
639 -rmdir ${DESTDIR}${includedir}/${includesubdir} >/dev/null 2>&1
640
641 for i in ${MO_FILES}; do \
642 if test -f ${DESTDIR}${localedir}/$${i%.mo}/LC_MESSAGES/${localename}.mo; then \
643 if rm -f ${DESTDIR}${localedir}/$${i%.mo}/LC_MESSAGES/${localename}.mo; then \
644 ${DELETE_OK}; \
645 else \
646 ${DELETE_FAILED}; \
647 fi \
648 fi \
649 done
650
651 for i in ${MAN}; do \
652 if test -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
653 if rm -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
654 ${DELETE_OK}; \
655 else \
656 ${DELETE_FAILED}; \
657 fi \
658 fi \
659 done
660
661 uninstall-extra:
662
663 clean:
664 for i in ${SUBDIRS}; do \
665 ${DIR_ENTER}; \
666 ${MAKE} ${MFLAGS} clean || exit $$?; \
667 ${DIR_LEAVE}; \
668 done
669
670 for i in ${DEPS} ${OBJS} ${OBJS_EXTRA} ${LIB_OBJS} ${LIB_OBJS_EXTRA} ${PLUGIN_OBJS} ${PROG} ${PROG_NOINST} ${SHARED_LIB} ${SHARED_LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \
671 if test -f $$i -o -d $$i; then \
672 if rm -fr $$i; then \
673 ${DELETE_OK}; \
674 else \
675 ${DELETE_FAILED}; \
676 fi \
677 fi \
678 done
679
680 distclean: clean
681 for i in ${SUBDIRS}; do \
682 ${DIR_ENTER}; \
683 ${MAKE} ${MFLAGS} distclean || exit $$?; \
684 ${DIR_LEAVE}; \
685 done
686
687 for i in ${DISTCLEAN} .deps *~; do \
688 if test -f $$i -o -d $$i; then \
689 if rm -fr $$i; then \
690 ${DELETE_OK}; \
691 else \
692 ${DELETE_FAILED}; \
693 fi \
694 fi \
695 done
696
697 ifndef V
698
699 DIR_ENTER = cd $$i || exit $$?
700 DIR_LEAVE = cd .. || exit $$?
701 DEPEND_STATUS = true
702 DEPEND_OK = true
703 DEPEND_FAILED = exit $$?
704 COMPILE_STATUS = printf "CompileExe: $@\n"
705 COMPILE_OK = true
706 COMPILE_FAILED = exit $$?
707 COMPILE_LIB_STATUS = printf "CompileLib: $@\n"
708 COMPILE_LIB_OK = true
709 COMPILE_LIB_FAILED = exit $$?
710 COMPILE_PLUGIN_STATUS = printf "CompilePlugin: $@\n"
711 COMPILE_PLUGIN_OK = true
712 COMPILE_PLUGIN_FAILED = exit $$?
713 COMPILE_RESOURCE_STATUS = printf "CompileResource: $@\n"
714 COMPILE_RESOURCE_OK = true
715 COMPILE_RESOURCE_FAILED = exit $$?
716 LINK_STATUS = printf "Link: $@\n"
717 LINK_OK = true
718 LINK_FAILED = exit $$?
719 INSTALL_STATUS = printf "Install: $$i\n"
720 INSTALL_OK = true
721 INSTALL_FAILED = exit $$?
722 DELETE_OK = printf "Delete: $$i\n"
723 DELETE_FAILED = exit $$?
724
725 else
726
727 DIR_ENTER = cd $$i || exit $$?
728 DIR_LEAVE = cd .. || exit $$?
729 DEPEND_STATUS = true
730 DEPEND_OK = true
731 DEPEND_FAILED = exit $$?
732 COMPILE_STATUS = printf "CompileExe: $$COMPILER $${COMPILER_FLAGS}\n"
733 COMPILE_OK = true
734 COMPILE_FAILED = exit $$?
735 COMPILE_LIB_STATUS = printf "CompileLib: $$COMPILER $${COMPILER_FLAGS}\n"
736 COMPILE_LIB_OK = true
737 COMPILE_LIB_FAILED = exit $$?
738 COMPILE_PLUGIN_STATUS = printf "CompilePlugin: $$COMPILER $${COMPILER_FLAGS}\n"
739 COMPILE_PLUGIN_OK = true
740 COMPILE_PLUGIN_FAILED = exit $$?
741 COMPILE_RESOURCE_STATUS = printf "CompileResource: $$COMPILER $${COMPILER_FLAGS}\n"
742 COMPILE_RESOURCE_OK = true
743 COMPILE_RESOURCE_FAILED = exit $$?
744 LINK_STATUS = printf "Link: ${LD} -o $@ $$LDOBJS ${LDFLAGS} ${LIBS}\n"
745 LINK_OK = true
746 LINK_FAILED = exit $$?
747 INSTALL_STATUS = printf "Install: $$i\n"
748 INSTALL_OK = true
749 INSTALL_FAILED = exit $$?
750 DELETE_OK = printf "Delete: $$i\n"
751 DELETE_FAILED = exit $$?
752
753 endif
754
755 include .deps