annotate buildsys.mk.in @ 2852:f2bec2d589d6

Parallel dependency resolution by Jonathan Schleifer.
author Tony Vroon <chainsaw@gentoo.org>
date Wed, 30 Jul 2008 23:04:46 +0100
parents 720e33771f24
children 74c302381136
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
1 #
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
2 # Copyright (c) 2007 - 2008, Jonathan Schleifer <js-buildsys@webkeks.org>
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
3 #
2378
e7d59a6ed443 Added HG repo URL to buildsys as a comment.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2374
diff changeset
4 # https://webkeks.org/hg/buildsys/
e7d59a6ed443 Added HG repo URL to buildsys as a comment.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2374
diff changeset
5 #
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
8 # copyright notice and this permission notice is present in all copies.
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
9 #
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
10 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
11 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
12 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
13 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
14 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
15 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
16 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
17 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
18 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
19 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
20 # POSSIBILITY OF SUCH DAMAGE.
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
21 #
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
22
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
23 PACKAGE = @PACKAGE@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
24 CC = @CC@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
25 CXX = @CXX@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
26 CPP = @CPP@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
27 DC = @DC@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
28 ERLC = @ERLC@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
29 OBJC = @OBJC@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
30 AR = @AR@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
31 LD = ${CC}
2800
ea4e97a98914 a fix for automatic plugin _CFGIDs to be generated
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2529
diff changeset
32 TR = @TR@
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
33 CFLAGS = @CFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
34 CXXFLAGS = @CXXFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
35 CPPFLAGS = @CPPFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
36 DFLAGS = @DFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
37 ERLCFLAGS = @ERLCFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
38 OBJCFLAGS = @OBJCFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
39 LDFLAGS = @LDFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
40 LIBS = @LIBS@
1909
81b524aa7fcd implib.
Jonathan Schleifer <js@h3c.de>
parents: 1902
diff changeset
41 PROG_IMPLIB_NEEDED = @PROG_IMPLIB_NEEDED@
81b524aa7fcd implib.
Jonathan Schleifer <js@h3c.de>
parents: 1902
diff changeset
42 PROG_IMPLIB_LDFLAGS = @PROG_IMPLIB_LDFLAGS@
1879
81cdc01db60e Update buildsys (adds ${PROG_SUFFIX}).
Jonathan Schleifer <js@h3c.de>
parents: 1877
diff changeset
43 PROG_SUFFIX = @EXEEXT@
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
44 LIB_CPPFLAGS = @LIB_CPPFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
45 LIB_CFLAGS = @LIB_CFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
46 LIB_LDFLAGS = @LIB_LDFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
47 LIB_PREFIX = @LIB_PREFIX@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
48 LIB_SUFFIX = @LIB_SUFFIX@
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
49 PLUGIN_DEFNAME = `echo ${subst ${PLUGIN_SUFFIX},,${PLUGIN}} | tr [:lower:] [:upper:]`
2800
ea4e97a98914 a fix for automatic plugin _CFGIDs to be generated
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2529
diff changeset
50 PLUGIN_CPPFLAGS = @PLUGIN_CPPFLAGS@ -D${PLUGIN_DEFNAME}_CFGID=\"${subst ${PLUGIN_SUFFIX},,${PLUGIN}}\"
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
51 PLUGIN_CFLAGS = @PLUGIN_CFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
52 PLUGIN_LDFLAGS = @PLUGIN_LDFLAGS@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
53 PLUGIN_SUFFIX = @PLUGIN_SUFFIX@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
54 INSTALL_LIB = @INSTALL_LIB@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
55 UNINSTALL_LIB = @UNINSTALL_LIB@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
56 CLEAN_LIB = @CLEAN_LIB@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
57 LN_S = @LN_S@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
58 MKDIR_P = mkdir -p
1863
0e92506c1805 install-sh doesn't work.
Jonathan Schleifer <js@h3c.de>
parents: 1845
diff changeset
59 INSTALL = install
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
60 SHELL = @SHELL@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
61 prefix = @prefix@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
62 exec_prefix = @exec_prefix@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
63 bindir = @bindir@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
64 libdir = @libdir@
2034
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
65 plugindir ?= ${libdir}/${PACKAGE}
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
66 datarootdir = @datarootdir@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
67 datadir = @datadir@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
68 includedir = @includedir@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
69 includesubdir ?= ${PACKAGE}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
70 mandir = @mandir@
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
71 mansubdir ?= man1
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
72
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
73 OBJS1 = ${SRCS:.c=.o}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
74 OBJS2 = ${OBJS1:.cc=.o}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
75 OBJS3 = ${OBJS2:.cxx=.o}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
76 OBJS4 = ${OBJS3:.d=.o}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
77 OBJS5 = ${OBJS4:.erl=.beam}
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
78 OBJS6 = ${OBJS5:.m=.o}
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
79 OBJS += ${OBJS6:.xpm=.o}
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
80
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
81 .SILENT:
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
82 .SUFFIXES: .beam .c .cc .cxx .d .dep .erl .m .xpm
1909
81b524aa7fcd implib.
Jonathan Schleifer <js@h3c.de>
parents: 1902
diff changeset
83 .PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
84
1826
d7709de0882c Fix dependencies and other parallel stuff.
Jonathan Schleifer <js@h3c.de>
parents: 1815
diff changeset
85 all:
1868
00738dd0dce6 Oops. Fix parallel build.
Jonathan Schleifer <js@h3c.de>
parents: 1866
diff changeset
86 for i in subdirs depend ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST}; do \
1845
eaa979be9b89 Abort on error.
Jonathan Schleifer <js@h3c.de>
parents: 1836
diff changeset
87 ${MAKE} ${MFLAGS} $$i || exit 1; \
1826
d7709de0882c Fix dependencies and other parallel stuff.
Jonathan Schleifer <js@h3c.de>
parents: 1815
diff changeset
88 done
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
89
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
90 subdirs:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
91 for i in ${SUBDIRS}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
92 ${DIR_ENTER}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
93 ${MAKE} ${MFLAGS} || exit 1; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
94 ${DIR_LEAVE}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
95 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
96
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
97 depend: pre-depend ${SRCS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
98 regen=0; \
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
99 deps=""; \
2034
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
100 test -f .deps || regen=1; \
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
101 for i in ${SRCS}; do \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
102 case $$i in \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
103 *.o) \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
104 test $$i -nt .deps && regen=1; \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
105 deps="$${deps%.o}.dep $$i"; \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
106 ;; \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
107 esac; \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
108 done; \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
109 if test x"$$regen" = x"1" -a x"$$deps" != "x"; then \
1815
b7d43348245d Add depend status.
Jonathan Schleifer <js@h3c.de>
parents: 1763
diff changeset
110 ${DEPEND_STATUS}; \
2372
3799c5a932a9 Make dependency generation threaded.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2148
diff changeset
111 rm -f .deps; \
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
112 if ${MAKE} ${MFLAGS} $$deps; then \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
113 cat $$deps >.deps; \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
114 rm -f $$deps; \
2372
3799c5a932a9 Make dependency generation threaded.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2148
diff changeset
115 ${DEPEND_OK}; \
3799c5a932a9 Make dependency generation threaded.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2148
diff changeset
116 else \
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
117 rm -f .deps $$deps; \
2372
3799c5a932a9 Make dependency generation threaded.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2148
diff changeset
118 ${DEPEND_FAILED}; \
1826
d7709de0882c Fix dependencies and other parallel stuff.
Jonathan Schleifer <js@h3c.de>
parents: 1815
diff changeset
119 fi; \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
120 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
121
2372
3799c5a932a9 Make dependency generation threaded.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2148
diff changeset
122 .c.dep .cc.dep .cxx.dep .m.dep:
2374
179821cb7dca Fix a possible bug in dependency generation.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2373
diff changeset
123 ${CPP} ${CPPFLAGS} -M $< >$@
2372
3799c5a932a9 Make dependency generation threaded.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2148
diff changeset
124
3799c5a932a9 Make dependency generation threaded.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2148
diff changeset
125 .d.dep:
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
126 .xpm.dep:
2372
3799c5a932a9 Make dependency generation threaded.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2148
diff changeset
127
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
128 pre-depend:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
129
1815
b7d43348245d Add depend status.
Jonathan Schleifer <js@h3c.de>
parents: 1763
diff changeset
130 ${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS}
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
131 ${LINK_STATUS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
132 if ${LD} -o $@ ${OBJS} ${LDFLAGS} ${LIBS}; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
133 ${LINK_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
134 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
135 ${LINK_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
136 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
137
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
138 ${LIB} ${LIB_NOINST}: ${EXT_DEPS} ${OBJS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
139 ${LINK_STATUS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
140 if ${LD} -o $@ ${OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
141 ${LINK_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
142 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
143 ${LINK_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
144 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
145
2529
0bd07451d1d1 buildsys.mk.in: Fixed typo.
Jonathan Schleifer <js@webkeks.org>
parents: 2378
diff changeset
146 ${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${OBJS}
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
147 ${LINK_STATUS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
148 if ${LD} -o $@ ${OBJS} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
149 ${LINK_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
150 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
151 ${LINK_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
152 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
153
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
154 ${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
155 ${LINK_STATUS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
156 if ${AR} cr $@ ${OBJS}; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
157 ${LINK_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
158 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
159 ${LINK_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
160 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
161
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
162 .c.o:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
163 ${COMPILE_STATUS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
164 if ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
165 ${COMPILE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
166 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
167 ${COMPILE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
168 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
169
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
170 .cc.o .cxx.o:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
171 ${COMPILE_STATUS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
172 if ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
173 ${COMPILE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
174 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
175 ${COMPILE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
176 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
177
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
178 .d.o:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
179 ${COMPILE_STATUS}
1865
176c29f85678 Use test instead of [ ].
Jonathan Schleifer <js@h3c.de>
parents: 1863
diff changeset
180 if test x"$(basename ${DC})" = x"dmd"; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
181 if ${DC} ${DFLAGS} -c -of$@ $<; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
182 ${COMPILE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
183 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
184 ${COMPILE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
185 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
186 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
187 if ${DC} ${DFLAGS} -c -o $@ $<; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
188 ${COMPILE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
189 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
190 ${COMPILE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
191 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
192 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
193
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
194 .erl.beam:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
195 ${COMPILE_STATUS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
196 if ${ERLC} ${ERLCFLAGS} -o $@ $<; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
197 ${COMPILE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
198 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
199 ${COMPILE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
200 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
201
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
202 .m.o:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
203 ${COMPILE_STATUS}
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
204 if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
205 ${COMPILE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
206 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
207 ${COMPILE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
208 fi
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
209
2852
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
210 .xpm.o:
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
211 ${COMPILE_STATUS}
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
212 if ${CC} ${CFLAGS} ${CPPFLAGS} -x c -c -o $@ $<; then \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
213 ${COMPILE_OK}; \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
214 else \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
215 ${COMPILE_FAILED}; \
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
216 fi
f2bec2d589d6 Parallel dependency resolution by Jonathan Schleifer.
Tony Vroon <chainsaw@gentoo.org>
parents: 2803
diff changeset
217
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
218 install: ${LIB} ${STATIC_LIB} ${PLUGIN} ${PROG} install-extra
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
219 for i in ${SUBDIRS}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
220 ${DIR_ENTER}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
221 ${MAKE} ${MFLAGS} install || exit 1; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
222 ${DIR_LEAVE}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
223 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
224
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
225 for i in ${LIB}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
226 ${INSTALL_STATUS}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
227 if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL_LIB}; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
228 ${INSTALL_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
229 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
230 ${INSTALL_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
231 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
232 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
233
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
234 for i in ${STATIC_LIB}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
235 ${INSTALL_STATUS}; \
1909
81b524aa7fcd implib.
Jonathan Schleifer <js@h3c.de>
parents: 1902
diff changeset
236 if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${libdir}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
237 ${INSTALL_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
238 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
239 ${INSTALL_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
240 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
241 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
242
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
243 for i in ${PLUGIN}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
244 ${INSTALL_STATUS}; \
2006
a56a26a5f233 Revised the plugindir logic.
Eugene Paskevich <eugene@raptor.kiev.ua>
parents: 2003
diff changeset
245 if ${MKDIR_P} ${DESTDIR}${plugindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
246 ${INSTALL_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
247 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
248 ${INSTALL_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
249 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
250 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
251
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
252 for i in ${DATA}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
253 ${INSTALL_STATUS}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
254 if ${MKDIR_P} $$(dirname ${DESTDIR}${datadir}/${PACKAGE}/$$i) && ${INSTALL} -m 644 $$i ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
255 ${INSTALL_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
256 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
257 ${INSTALL_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
258 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
259 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
260
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
261 for i in ${PROG}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
262 ${INSTALL_STATUS}; \
1877
28d360594d3a Update buildsys.
Jonathan Schleifer <js@h3c.de>
parents: 1868
diff changeset
263 if ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
264 ${INSTALL_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
265 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
266 ${INSTALL_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
267 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
268 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
269
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
270 for i in ${INCLUDES}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
271 ${INSTALL_STATUS}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
272 if ${MKDIR_P} ${DESTDIR}${includedir}/${includesubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
273 ${INSTALL_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
274 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
275 ${INSTALL_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
276 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
277 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
278
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
279 for i in ${MAN}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
280 ${INSTALL_STATUS}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
281 if ${MKDIR_P} ${DESTDIR}${mandir}/${mansubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
282 ${INSTALL_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
283 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
284 ${INSTALL_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
285 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
286 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
287
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
288 install-extra:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
289
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
290 uninstall: uninstall-extra
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
291 for i in ${SUBDIRS}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
292 ${DIR_ENTER}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
293 ${MAKE} ${MFLAGS} uninstall || exit 1; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
294 ${DIR_LEAVE}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
295 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
296
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
297 for i in ${LIB}; do \
1865
176c29f85678 Use test instead of [ ].
Jonathan Schleifer <js@h3c.de>
parents: 1863
diff changeset
298 if test -f ${DESTDIR}${libdir}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
299 if ${UNINSTALL_LIB}; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
300 ${DELETE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
301 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
302 ${DELETE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
303 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
304 fi; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
305 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
306
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
307 for i in ${STATIC_LIB}; do \
1865
176c29f85678 Use test instead of [ ].
Jonathan Schleifer <js@h3c.de>
parents: 1863
diff changeset
308 if test -f ${DESTDIR}${libdir}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
309 if rm -f ${DESTDIR}${libdir}/$$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
310 ${DELETE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
311 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
312 ${DELETE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
313 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
314 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
315 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
316
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
317 for i in ${PLUGIN}; do \
2006
a56a26a5f233 Revised the plugindir logic.
Eugene Paskevich <eugene@raptor.kiev.ua>
parents: 2003
diff changeset
318 if test -f ${DESTDIR}${plugindir}/$$i; then \
a56a26a5f233 Revised the plugindir logic.
Eugene Paskevich <eugene@raptor.kiev.ua>
parents: 2003
diff changeset
319 if rm -f ${DESTDIR}${plugindir}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
320 ${DELETE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
321 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
322 ${DELETE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
323 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
324 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
325 done
2034
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
326 -rmdir ${DESTDIR}${plugindir} >/dev/null 2>&1
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
327
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
328 for i in ${DATA}; do \
1865
176c29f85678 Use test instead of [ ].
Jonathan Schleifer <js@h3c.de>
parents: 1863
diff changeset
329 if test -f ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
330 if rm -f ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
331 ${DELETE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
332 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
333 ${DELETE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
334 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
335 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
336 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
337
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
338 for i in ${PROG}; do \
1865
176c29f85678 Use test instead of [ ].
Jonathan Schleifer <js@h3c.de>
parents: 1863
diff changeset
339 if test -f ${DESTDIR}${bindir}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
340 if rm -f ${DESTDIR}${bindir}/$$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
341 ${DELETE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
342 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
343 ${DELETE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
344 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
345 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
346 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
347
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
348 for i in ${INCLUDES}; do \
1865
176c29f85678 Use test instead of [ ].
Jonathan Schleifer <js@h3c.de>
parents: 1863
diff changeset
349 if test -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
350 if rm -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
351 ${DELETE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
352 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
353 ${DELETE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
354 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
355 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
356 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
357 -rmdir ${DESTDIR}${includedir}/${includesubdir} >/dev/null 2>&1
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
358
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
359 for i in ${MAN}; do \
1865
176c29f85678 Use test instead of [ ].
Jonathan Schleifer <js@h3c.de>
parents: 1863
diff changeset
360 if test -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
361 if rm -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
362 ${DELETE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
363 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
364 ${DELETE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
365 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
366 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
367 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
368
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
369 uninstall-extra:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
370
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
371 clean:
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
372 for i in ${SUBDIRS}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
373 ${DIR_ENTER}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
374 ${MAKE} ${MFLAGS} clean || exit 1; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
375 ${DIR_LEAVE}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
376 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
377
2374
179821cb7dca Fix a possible bug in dependency generation.
Jonathan Schleifer <js-audacious@webkeks.org>
parents: 2373
diff changeset
378 for i in ${OBJS} ${CLEAN} ${CLEAN_LIB} .deps ${DEPS}; do \
1865
176c29f85678 Use test instead of [ ].
Jonathan Schleifer <js@h3c.de>
parents: 1863
diff changeset
379 if test -f $$i -o -d $$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
380 if rm -fr $$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
381 ${DELETE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
382 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
383 ${DELETE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
384 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
385 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
386 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
387
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
388 distclean: clean
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
389 for i in ${SUBDIRS}; do \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
390 ${DIR_ENTER}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
391 ${MAKE} ${MFLAGS} distclean || exit 1; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
392 ${DIR_LEAVE}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
393 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
394
1973
f86cb7fc1d4f Add -pipe -Wall if gcc and fix a few warnings.
Jonathan Schleifer <js@h3c.de>
parents: 1918
diff changeset
395 for i in ${PROG} ${PROG_NOINST} ${LIB} ${LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${DISTCLEAN} *~; do \
1865
176c29f85678 Use test instead of [ ].
Jonathan Schleifer <js@h3c.de>
parents: 1863
diff changeset
396 if test -f $$i -o -d $$i; then \
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
397 if rm -fr $$i; then \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
398 ${DELETE_OK}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
399 else \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
400 ${DELETE_FAILED}; \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
401 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
402 fi \
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
403 done
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
404
2034
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
405 DIR_ENTER = printf "\033[K\033[0;36mEntering directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd $$i || exit 1
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
406 DIR_LEAVE = printf "\033[K\033[0;36mLeaving directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd .. || exit 1
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
407 DEPEND_STATUS = printf "\033[K\033[0;33mGenerating dependencies...\033[0m\r"
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
408 DEPEND_OK = printf "\033[K\033[0;32mSuccessfully generated dependencies.\033[0m\n"
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
409 DEPEND_FAILED = printf "\033[K\033[0;31mFailed to generate dependencies!\033[0m\n"; exit 1
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
410 COMPILE_STATUS = printf "\033[K\033[0;33mCompiling \033[1;33m$<\033[0;33m...\033[0m\r"
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
411 COMPILE_OK = printf "\033[K\033[0;32mSuccessfully compiled \033[1;32m$<\033[0;32m.\033[0m\n"
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
412 COMPILE_FAILED = printf "\033[K\033[0;31mFailed to compile \033[1;31m$<\033[0;31m!\033[0m\n"; exit 1
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
413 LINK_STATUS = printf "\033[K\033[0;33mLinking \033[1;33m$@\033[0;33m...\033[0m\r"
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
414 LINK_OK = printf "\033[K\033[0;32mSuccessfully linked \033[1;32m$@\033[0;32m.\033[0m\n"
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
415 LINK_FAILED = printf "\033[K\033[0;31mFailed to link \033[1;31m$@\033[0;31m!\033[0m\n"; exit 1
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
416 INSTALL_STATUS = printf "\033[K\033[0;33mInstalling \033[1;33m$$i\033[0;33m...\033[0m\r"
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
417 INSTALL_OK = printf "\033[K\033[0;32mSuccessfully installed \033[1;32m$$i\033[0;32m.\033[0m\n"
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
418 INSTALL_FAILED = printf "\033[K\033[0;31mFailed to install \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
419 DELETE_OK = printf "\033[K\033[0;34mDeleted \033[1;34m$$i\033[0;34m.\033[0m\n"
a21cc1e45080 Update buildsys. Please test.
Jonathan Schleifer <js@h3c.de>
parents: 2015
diff changeset
420 DELETE_FAILED = printf "\033[K\033[0;31mFailed to delete \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1
1763
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
421
a99495a865eb Import Mk2 core.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
422 -include .deps