~ubuntu-branches/ubuntu/maverick/libaosd/maverick

« back to all changes in this revision

Viewing changes to buildsys.mk.in

  • Committer: Bazaar Package Importer
  • Author(s): William Pitcock
  • Date: 2007-11-30 07:42:21 UTC
  • Revision ID: james.westby@ubuntu.com-20071130074221-8yt6spn1ns6rfw7e
Tags: upstream-0.1.3
ImportĀ upstreamĀ versionĀ 0.1.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
#  Copyright (c) 2007, Jonathan Schleifer <js@h3c.de>
 
3
#
 
4
#  Permission to use, copy, modify, and/or distribute this software for any
 
5
#  purpose with or without fee is hereby granted, provided that the above
 
6
#  copyright notice and this permission notice is present in all copies.
 
7
#
 
8
#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
9
#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
10
#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
11
#  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 
12
#  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 
13
#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 
14
#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 
15
#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 
16
#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 
17
#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 
18
#  POSSIBILITY OF SUCH DAMAGE.
 
19
#
 
20
 
 
21
PACKAGE = @PACKAGE@
 
22
CC = @CC@
 
23
CXX = @CXX@
 
24
CPP = @CPP@
 
25
DC = @DC@
 
26
ERLC = @ERLC@
 
27
OBJC = @OBJC@
 
28
AR = @AR@
 
29
LD = ${CC}
 
30
CFLAGS = @CFLAGS@
 
31
CXXFLAGS = @CXXFLAGS@
 
32
CPPFLAGS = @CPPFLAGS@
 
33
DFLAGS = @DFLAGS@
 
34
ERLCFLAGS = @ERLCFLAGS@
 
35
OBJCFLAGS = @OBJCFLAGS@
 
36
LDFLAGS = @LDFLAGS@
 
37
LIBS = @LIBS@
 
38
PROG_IMPLIB_NEEDED = @PROG_IMPLIB_NEEDED@
 
39
PROG_IMPLIB_LDFLAGS = @PROG_IMPLIB_LDFLAGS@
 
40
PROG_SUFFIX = @EXEEXT@
 
41
LIB_CPPFLAGS = @LIB_CPPFLAGS@
 
42
LIB_CFLAGS = @LIB_CFLAGS@
 
43
LIB_LDFLAGS = @LIB_LDFLAGS@
 
44
LIB_PREFIX = @LIB_PREFIX@
 
45
LIB_SUFFIX = @LIB_SUFFIX@
 
46
PLUGIN_CPPFLAGS = @PLUGIN_CPPFLAGS@
 
47
PLUGIN_CFLAGS = @PLUGIN_CFLAGS@
 
48
PLUGIN_LDFLAGS = @PLUGIN_LDFLAGS@
 
49
PLUGIN_SUFFIX = @PLUGIN_SUFFIX@
 
50
INSTALL_LIB = @INSTALL_LIB@
 
51
UNINSTALL_LIB = @UNINSTALL_LIB@
 
52
CLEAN_LIB = @CLEAN_LIB@
 
53
LN_S = @LN_S@
 
54
MKDIR_P = mkdir -p
 
55
INSTALL = install
 
56
SHELL = @SHELL@
 
57
prefix = @prefix@
 
58
exec_prefix = @exec_prefix@
 
59
bindir = @bindir@
 
60
libdir = @libdir@
 
61
plugindir ?= ${libdir}/${PACKAGE}
 
62
datarootdir = @datarootdir@
 
63
datadir = @datadir@
 
64
includedir = @includedir@
 
65
includesubdir ?= ${PACKAGE}
 
66
mandir = @mandir@
 
67
mansubdir ?= man1
 
68
 
 
69
OBJS1 = ${SRCS:.c=.o}
 
70
OBJS2 = ${OBJS1:.cc=.o}
 
71
OBJS3 = ${OBJS2:.cxx=.o}
 
72
OBJS4 = ${OBJS3:.d=.o}
 
73
OBJS5 = ${OBJS4:.erl=.beam}
 
74
OBJS += ${OBJS5:.m=.o}
 
75
 
 
76
.SILENT:
 
77
.SUFFIXES: .beam .c .cc .cxx .d .erl .m
 
78
.PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean
 
79
 
 
80
all:
 
81
        for i in subdirs depend ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST}; do \
 
82
                ${MAKE} ${MFLAGS} $$i || exit 1; \
 
83
        done
 
84
 
 
85
subdirs:
 
86
        for i in ${SUBDIRS}; do \
 
87
                ${DIR_ENTER}; \
 
88
                ${MAKE} ${MFLAGS} || exit 1; \
 
89
                ${DIR_LEAVE}; \
 
90
        done
 
91
 
 
92
depend: pre-depend ${SRCS}
 
93
        regen=0; \
 
94
        test -f .deps || regen=1; \
 
95
        for i in ${SRCS}; do test $$i -nt .deps && regen=1; done; \
 
96
        if test x"$$regen" = x"1"; then \
 
97
                list=""; \
 
98
                ${DEPEND_STATUS}; \
 
99
                for i in ${SRCS}; do \
 
100
                        case $${i##*.} in \
 
101
                        c|cc|cxx|m) \
 
102
                                list="$$list $$i"; \
 
103
                                ;; \
 
104
                        esac; \
 
105
                done; \
 
106
                if test x"$$list" != "x"; then \
 
107
                        if ${CPP} ${CPPFLAGS} -M $$list >.deps; then \
 
108
                                ${DEPEND_OK}; \
 
109
                        else \
 
110
                                ${DEPEND_FAILED}; \
 
111
                        fi; \
 
112
                fi; \
 
113
        fi
 
114
 
 
115
pre-depend:
 
116
 
 
117
${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS}
 
118
        ${LINK_STATUS}
 
119
        if ${LD} -o $@ ${OBJS} ${LDFLAGS} ${LIBS}; then \
 
120
                ${LINK_OK}; \
 
121
        else \
 
122
                ${LINK_FAILED}; \
 
123
        fi
 
124
 
 
125
${LIB} ${LIB_NOINST}: ${EXT_DEPS} ${OBJS}
 
126
        ${LINK_STATUS}
 
127
        if ${LD} -o $@ ${OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
 
128
                ${LINK_OK}; \
 
129
        else \
 
130
                ${LINK_FAILED}; \
 
131
        fi
 
132
 
 
133
${PLUGIN} ${PLUGIN_NONST}: ${EXT_DEPS} ${OBJS}
 
134
        ${LINK_STATUS}
 
135
        if ${LD} -o $@ ${OBJS} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
 
136
                ${LINK_OK}; \
 
137
        else \
 
138
                ${LINK_FAILED}; \
 
139
        fi
 
140
 
 
141
${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS}
 
142
        ${LINK_STATUS}
 
143
        if ${AR} cr $@ ${OBJS}; then \
 
144
                ${LINK_OK}; \
 
145
        else \
 
146
                ${LINK_FAILED}; \
 
147
        fi
 
148
 
 
149
.c.o:
 
150
        ${COMPILE_STATUS}
 
151
        if ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
 
152
                ${COMPILE_OK}; \
 
153
        else \
 
154
                ${COMPILE_FAILED}; \
 
155
        fi
 
156
 
 
157
.cc.o .cxx.o:
 
158
        ${COMPILE_STATUS}
 
159
        if ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
 
160
                ${COMPILE_OK}; \
 
161
        else \
 
162
                ${COMPILE_FAILED}; \
 
163
        fi
 
164
 
 
165
.d.o:
 
166
        ${COMPILE_STATUS}
 
167
        if test x"$(basename ${DC})" = x"dmd"; then \
 
168
                if ${DC} ${DFLAGS} -c -of$@ $<; then \
 
169
                        ${COMPILE_OK}; \
 
170
                else \
 
171
                        ${COMPILE_FAILED}; \
 
172
                fi \
 
173
        else \
 
174
                if ${DC} ${DFLAGS} -c -o $@ $<; then \
 
175
                        ${COMPILE_OK}; \
 
176
                else \
 
177
                        ${COMPILE_FAILED}; \
 
178
                fi \
 
179
        fi
 
180
 
 
181
.erl.beam:
 
182
        ${COMPILE_STATUS}
 
183
        if ${ERLC} ${ERLCFLAGS} -o $@ $<; then \
 
184
                ${COMPILE_OK}; \
 
185
        else \
 
186
                ${COMPILE_FAILED}; \
 
187
        fi
 
188
 
 
189
.m.o:
 
190
        ${COMPILE_STATUS}
 
191
        if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
 
192
                ${COMPILE_OK}; \
 
193
        else \
 
194
                ${COMPILE_FAILED}; \
 
195
        fi
 
196
 
 
197
install: ${LIB} ${STATIC_LIB} ${PLUGIN} ${PROG} install-extra
 
198
        for i in ${SUBDIRS}; do \
 
199
                ${DIR_ENTER}; \
 
200
                ${MAKE} ${MFLAGS} install || exit 1; \
 
201
                ${DIR_LEAVE}; \
 
202
        done
 
203
 
 
204
        for i in ${LIB}; do \
 
205
                ${INSTALL_STATUS}; \
 
206
                if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL_LIB}; then \
 
207
                        ${INSTALL_OK}; \
 
208
                else \
 
209
                        ${INSTALL_FAILED}; \
 
210
                fi \
 
211
        done
 
212
 
 
213
        for i in ${STATIC_LIB}; do \
 
214
                ${INSTALL_STATUS}; \
 
215
                if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${libdir}/$$i; then \
 
216
                        ${INSTALL_OK}; \
 
217
                else \
 
218
                        ${INSTALL_FAILED}; \
 
219
                fi \
 
220
        done
 
221
 
 
222
        for i in ${PLUGIN}; do \
 
223
                ${INSTALL_STATUS}; \
 
224
                if ${MKDIR_P} ${DESTDIR}${plugindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i; then \
 
225
                        ${INSTALL_OK}; \
 
226
                else \
 
227
                        ${INSTALL_FAILED}; \
 
228
                fi \
 
229
        done
 
230
 
 
231
        for i in ${DATA}; do \
 
232
                ${INSTALL_STATUS}; \
 
233
                if ${MKDIR_P} $$(dirname ${DESTDIR}${datadir}/${PACKAGE}/$$i) && ${INSTALL} -m 644 $$i ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
 
234
                        ${INSTALL_OK}; \
 
235
                else \
 
236
                        ${INSTALL_FAILED}; \
 
237
                fi \
 
238
        done
 
239
 
 
240
        for i in ${PROG}; do \
 
241
                ${INSTALL_STATUS}; \
 
242
                if ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i; then \
 
243
                        ${INSTALL_OK}; \
 
244
                else \
 
245
                        ${INSTALL_FAILED}; \
 
246
                fi \
 
247
        done
 
248
 
 
249
        for i in ${INCLUDES}; do \
 
250
                ${INSTALL_STATUS}; \
 
251
                if ${MKDIR_P} ${DESTDIR}${includedir}/${includesubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
 
252
                        ${INSTALL_OK}; \
 
253
                else \
 
254
                        ${INSTALL_FAILED}; \
 
255
                fi \
 
256
        done
 
257
 
 
258
        for i in ${MAN}; do \
 
259
                ${INSTALL_STATUS}; \
 
260
                if ${MKDIR_P} ${DESTDIR}${mandir}/${mansubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
 
261
                        ${INSTALL_OK}; \
 
262
                else \
 
263
                        ${INSTALL_FAILED}; \
 
264
                fi \
 
265
        done
 
266
 
 
267
install-extra:
 
268
 
 
269
uninstall: uninstall-extra
 
270
        for i in ${SUBDIRS}; do \
 
271
                ${DIR_ENTER}; \
 
272
                ${MAKE} ${MFLAGS} uninstall || exit 1; \
 
273
                ${DIR_LEAVE}; \
 
274
        done
 
275
 
 
276
        for i in ${LIB}; do \
 
277
                if test -f ${DESTDIR}${libdir}/$$i; then \
 
278
                        if ${UNINSTALL_LIB}; then \
 
279
                                ${DELETE_OK}; \
 
280
                        else \
 
281
                                ${DELETE_FAILED}; \
 
282
                        fi \
 
283
                fi; \
 
284
        done
 
285
 
 
286
        for i in ${STATIC_LIB}; do \
 
287
                if test -f ${DESTDIR}${libdir}/$$i; then \
 
288
                        if rm -f ${DESTDIR}${libdir}/$$i; then \
 
289
                                ${DELETE_OK}; \
 
290
                        else \
 
291
                                ${DELETE_FAILED}; \
 
292
                        fi \
 
293
                fi \
 
294
        done
 
295
 
 
296
        for i in ${PLUGIN}; do \
 
297
                if test -f ${DESTDIR}${plugindir}/$$i; then \
 
298
                        if rm -f ${DESTDIR}${plugindir}/$$i; then \
 
299
                                ${DELETE_OK}; \
 
300
                        else \
 
301
                                ${DELETE_FAILED}; \
 
302
                        fi \
 
303
                fi \
 
304
        done
 
305
        -rmdir ${DESTDIR}${plugindir} >/dev/null 2>&1
 
306
 
 
307
        for i in ${DATA}; do \
 
308
                if test -f ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
 
309
                        if rm -f ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
 
310
                                ${DELETE_OK}; \
 
311
                        else \
 
312
                                ${DELETE_FAILED}; \
 
313
                        fi \
 
314
                fi \
 
315
        done
 
316
 
 
317
        for i in ${PROG}; do \
 
318
                if test -f ${DESTDIR}${bindir}/$$i; then \
 
319
                        if rm -f ${DESTDIR}${bindir}/$$i; then \
 
320
                                ${DELETE_OK}; \
 
321
                        else \
 
322
                                ${DELETE_FAILED}; \
 
323
                        fi \
 
324
                fi \
 
325
        done
 
326
 
 
327
        for i in ${INCLUDES}; do \
 
328
                if test -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
 
329
                        if rm -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
 
330
                                ${DELETE_OK}; \
 
331
                        else \
 
332
                                ${DELETE_FAILED}; \
 
333
                        fi \
 
334
                fi \
 
335
        done
 
336
        -rmdir ${DESTDIR}${includedir}/${includesubdir} >/dev/null 2>&1
 
337
 
 
338
        for i in ${MAN}; do \
 
339
                if test -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
 
340
                        if rm -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
 
341
                                ${DELETE_OK}; \
 
342
                        else \
 
343
                                ${DELETE_FAILED}; \
 
344
                        fi \
 
345
                fi \
 
346
        done
 
347
 
 
348
uninstall-extra:
 
349
 
 
350
clean:
 
351
        for i in ${SUBDIRS}; do \
 
352
                ${DIR_ENTER}; \
 
353
                ${MAKE} ${MFLAGS} clean || exit 1; \
 
354
                ${DIR_LEAVE}; \
 
355
        done
 
356
        
 
357
        for i in ${OBJS} ${CLEAN} ${CLEAN_LIB} .deps; do \
 
358
                if test -f $$i -o -d $$i; then \
 
359
                        if rm -fr $$i; then \
 
360
                                ${DELETE_OK}; \
 
361
                        else \
 
362
                                ${DELETE_FAILED}; \
 
363
                        fi \
 
364
                fi \
 
365
        done
 
366
 
 
367
distclean: clean
 
368
        for i in ${SUBDIRS}; do \
 
369
                ${DIR_ENTER}; \
 
370
                ${MAKE} ${MFLAGS} distclean || exit 1; \
 
371
                ${DIR_LEAVE}; \
 
372
        done
 
373
        
 
374
        for i in ${PROG} ${PROG_NOINST} ${LIB} ${LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${DISTCLEAN} *~; do \
 
375
                if test -f $$i -o -d $$i; then \
 
376
                        if rm -fr $$i; then \
 
377
                                ${DELETE_OK}; \
 
378
                        else \
 
379
                                ${DELETE_FAILED}; \
 
380
                        fi \
 
381
                fi \
 
382
        done
 
383
 
 
384
DIR_ENTER = printf "\033[K\033[0;36mEntering directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd $$i || exit 1
 
385
DIR_LEAVE = printf "\033[K\033[0;36mLeaving directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd .. || exit 1
 
386
DEPEND_STATUS = printf "\033[K\033[0;33mGenerating dependencies...\033[0m\r"
 
387
DEPEND_OK = printf "\033[K\033[0;32mSuccessfully generated dependencies.\033[0m\n"
 
388
DEPEND_FAILED = printf "\033[K\033[0;31mFailed to generate dependencies!\033[0m\n"; exit 1
 
389
COMPILE_STATUS = printf "\033[K\033[0;33mCompiling \033[1;33m$<\033[0;33m...\033[0m\r"
 
390
COMPILE_OK = printf "\033[K\033[0;32mSuccessfully compiled \033[1;32m$<\033[0;32m.\033[0m\n"
 
391
COMPILE_FAILED = printf "\033[K\033[0;31mFailed to compile \033[1;31m$<\033[0;31m!\033[0m\n"; exit 1
 
392
LINK_STATUS = printf "\033[K\033[0;33mLinking \033[1;33m$@\033[0;33m...\033[0m\r"
 
393
LINK_OK = printf "\033[K\033[0;32mSuccessfully linked \033[1;32m$@\033[0;32m.\033[0m\n"
 
394
LINK_FAILED = printf "\033[K\033[0;31mFailed to link \033[1;31m$@\033[0;31m!\033[0m\n"; exit 1
 
395
INSTALL_STATUS = printf "\033[K\033[0;33mInstalling \033[1;33m$$i\033[0;33m...\033[0m\r"
 
396
INSTALL_OK = printf "\033[K\033[0;32mSuccessfully installed \033[1;32m$$i\033[0;32m.\033[0m\n"
 
397
INSTALL_FAILED = printf "\033[K\033[0;31mFailed to install \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1
 
398
DELETE_OK = printf "\033[K\033[0;34mDeleted \033[1;34m$$i\033[0;34m.\033[0m\n"
 
399
DELETE_FAILED = printf "\033[K\033[0;31mFailed to delete \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1
 
400
 
 
401
-include .deps