1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
#
# Bindle Binaries Tools
# Copyright (C) 2022 David M. Syzdek <david@syzdek.net>.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of Bindle Binaries nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BINDLE BINARIES BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
include_HEADERS += include/bindle.h
lib_LIBRARIES += lib/libbindle.a
EXTRA_DIST += $(bindletools_srcdir)/build-aux/makefile-libbindle.am
EXTRA_DIST += $(bindletools_srcdir)/include/bindle.h
BUILT_SOURCES += include/bindle_prefix.h
CLEANFILES += include/bindle_prefix.h
LIBBINDLE_PREFIX ?= bindle_
libbindle_files = $(srcdir)/$(bindletools_srcdir)/include/bindle.h \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/libbindle.h \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/ldebug.c \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/ldebug.h \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/lobj.c \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/lobj.h \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/loptions.c \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/loptions.h \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/lstring.c \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/lstring.h \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/lstrings.c \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/lstrings.h \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/lutf8.c \
$(srcdir)/$(bindletools_srcdir)/lib/libbindle/lutf8.h
libbindle_sources = $(libbindle_files) \
include/bindle_prefix.h
# macros for lib/libbindle.a
lib_libbindle_a_DEPENDENCIES = Makefile \
config.h \
$(libbindle_sources)
lib_libbindle_a_CPPFLAGS = $(AM_CPPFLAGS) \
-I$(srcdir)/lib/libbindle
lib_libbindle_a_CFLAGS = $(AM_CFLAGS)
lib_libbindle_a_SOURCES = $(libbindle_sources)
libbindle_symbol_list = $(EGREP) \
'^[[:space:]]{0,1}bindle_[_[:alnum:]]{1,}[\(\;][[:space:]]{0,}$$' \
$(libbindle_sources) \
|cut -d: -f2 \
|$(SED) -e 's/[[:space:]]//g' -e 's/[(;]$$//g' -e 's/^bindle_//g' \
|sort \
|uniq
include/bindle_prefix.h: Makefile $(libbindle_files)
@if test "x$(V)" == "x0";then \
echo " GEN $(@)"; \
else \
echo "$(libbindle_symbol_list)"; \
fi; \
$(MKDIR_P) "`dirname "$(@)"`" || exit 1; \
rm -f $(@) || exit 1; \
for FUNC in `$(libbindle_symbol_list)`;do \
echo "#undef bindle_$$FUNC"; \
echo "#define bindle_$$FUNC $(LIBBINDLE_PREFIX)$$FUNC"; \
done > $(@); \
touch $(@);
# end of automake file
|