libcruft-util/Makefile.am

353 lines
7.5 KiB
Makefile

###############################################################################
## Global build rules
ACLOCAL_AMFLAGS = -I m4
AM_CXXFLAGS = $(BOOST_CPPFLAGS) $(ZLIB_CFLAGS)
###############################################################################
## Source definitions
UTIL_FILES = \
aabb.cpp \
aabb.hpp \
backtrace.hpp \
bezier.cpp \
bezier.hpp \
bitwise.cpp \
bitwise.hpp \
colour.cpp \
colour.hpp \
colour.ipp \
coord/base.hpp \
coord.hpp \
coord/init.hpp \
coord/names.hpp \
coord/ops.hpp \
coord/store.hpp \
crypto/arc4.cpp \
crypto/arc4.hpp \
crypto/tea.cpp \
crypto/tea.hpp \
crypto/xtea.cpp \
crypto/xtea.hpp \
crypto/xxtea.cpp \
crypto/xxtea.hpp \
debug.cpp \
debug.hpp \
endian.cpp \
endian.hpp \
except.cpp \
except.hpp \
exe.cpp \
exe.hpp \
extent.cpp \
extent.hpp \
extent.ipp \
fixed.cpp \
fixed.hpp \
float.cpp \
float.hpp \
fourcc.cpp \
fourcc.hpp \
guid.cpp \
guid.hpp \
hash.hpp \
hash/adler.cpp \
hash/adler.hpp \
hash/bsdsum.cpp \
hash/bsdsum.hpp \
hash/crc.cpp \
hash/crc.hpp \
hash/fasthash.cpp \
hash/fletcher.hpp \
hash/fnv1a.cpp \
hash/fnv1a.hpp \
hash/hmac.cpp \
hash/hmac.hpp \
hash/hotp.cpp \
hash/hotp.hpp \
hash/md2.cpp \
hash/md2.hpp \
hash/md4.cpp \
hash/md4.hpp \
hash/md5.cpp \
hash/md5.hpp \
hash/murmur/common.cpp \
hash/murmur/common.hpp \
hash/murmur.hpp \
hash/murmur/murmur1.cpp \
hash/murmur/murmur1.hpp \
hash/murmur/murmur2.cpp \
hash/murmur/murmur2.hpp \
hash/murmur/murmur3.cpp \
hash/murmur/murmur3.hpp \
hash/pbkdf1.cpp \
hash/pbkdf1.hpp \
hash/pbkdf2.cpp \
hash/pbkdf2.hpp \
hash/ripemd.cpp \
hash/ripemd.hpp \
hash/sha1.cpp \
hash/sha1.hpp \
hash/sha2.cpp \
hash/sha2.hpp \
hash/wang.hpp \
hash/wang.ipp \
image.cpp \
image.hpp \
introspection.cpp \
introspection.hpp \
io.cpp \
io.hpp \
io.ipp \
ip.cpp \
ip.hpp \
iterator.hpp \
json/fwd.hpp \
json/except.cpp \
json/except.hpp \
json/flat.cpp \
json/flat.hpp \
json/schema.cpp \
json/schema.hpp \
json/tree.cpp \
json/tree.hpp \
log.cpp \
log.hpp \
log.ipp \
maths.cpp \
maths.hpp \
maths.ipp \
maths/matrix.cpp \
maths/matrix.hpp \
maths/vector.cpp \
maths/vector.hpp \
matrix.cpp \
matrix.hpp \
matrix.ipp \
memory.cpp \
memory.hpp \
net/address.cpp \
net/address.hpp \
net/except.cpp \
net/except.hpp \
net/socket.cpp \
net/socket.hpp \
net/types.cpp \
net/types.hpp \
netpbm.cpp \
netpbm.hpp \
nocopy.hpp \
noise.hpp \
noise/basis.hpp \
noise/basis/constant.cpp \
noise/basis/constant.hpp \
noise/basis/constant.ipp \
noise/basis/value.hpp \
noise/basis/value.ipp \
noise/basis/perlin.hpp \
noise/basis/perlin.ipp \
noise/basis/worley.hpp \
noise/basis/worley.ipp \
noise/fractal/base.hpp \
noise/fractal/base.ipp \
noise/fractal/fbm.hpp \
noise/fractal/fbm.ipp \
noise/fractal/hetero.hpp \
noise/fractal/hetero.ipp \
noise/fractal/hmf.hpp \
noise/fractal/hmf.ipp \
noise/fractal/rmf.hpp \
noise/fractal/rmf.ipp \
noise/lerp.cpp \
noise/lerp.hpp \
noise/lut.cpp \
noise/lut.hpp \
noise/turbulence.hpp \
noise/turbulence.ipp \
options.cpp \
options.hpp \
pascal.cpp \
pascal.hpp \
plane.cpp \
plane.hpp \
platform.hpp \
point.cpp \
point.hpp \
point.ipp \
polynomial.cpp \
polynomial.hpp \
polynomial.ipp \
pool.cpp \
pool.hpp \
pool.ipp \
preprocessor.hpp \
quaternion.cpp \
quaternion.hpp \
raii.hpp \
random.cpp \
random.hpp \
random.ipp \
range.cpp \
range.hpp \
range.ipp \
rational.cpp \
rational.hpp \
ray.cpp \
ray.hpp \
region.cpp \
region.hpp \
si.cpp \
signal.cpp \
signal.hpp \
signal.ipp \
si.hpp \
sphere.cpp \
sphere.hpp \
stats.cpp \
stats.hpp \
stream.cpp \
stream.hpp \
string.cpp \
string.hpp \
stringid.cpp \
stringid.hpp \
tap.cpp \
tap.hpp \
tap.ipp \
time.cpp \
time.hpp \
tuple.cpp \
tuple.hpp \
types/bits.hpp \
types/casts.hpp \
types/comparator.hpp \
types/comparator.ipp \
types.hpp \
types/string.cpp \
types/string.hpp \
types/traits.hpp \
uri.cpp \
uri.hpp \
variadic.cpp \
variadic.hpp \
variadic.ipp \
vector.cpp \
vector.hpp \
version.cpp \
version.hpp \
view.cpp \
view.hpp \
zlib.cpp \
zlib.hpp
if PLATFORM_LINUX
UTIL_FILES += \
backtrace_execinfo.cpp \
io_posix.cpp \
io_posix.hpp
endif
if PLATFORM_WIN32
UTIL_FILES += \
backtrace_null.cpp \
io_win32.cpp
endif
###############################################################################
## Local build rules
CLEANFILES = json.cpp version.cpp ip.cpp
EXTRA_DIST = json/flat.cpp.rl version.cpp.rl ip.cpp.rl uri.cpp.rl
RAGELFLAGS = -F1
SUFFIXES = .cpp .cpp.rl
.cpp.rl.cpp:
$(RAGEL) $(RAGELFLAGS) -C $< -o $(builddir)/$@
###############################################################################
## Library definition
lib_LIBRARIES = libutil.a
libutil_a_SOURCES = $(UTIL_FILES)
libutil_a_CXXFLAGS = $(AM_CXXFLAGS)
###############################################################################
## Utility programs
AM_DEFAULT_SOURCE_EXT = .cpp
AM_LDFLAGS = $(BOOST_LDFLAGS)
bin_PROGRAMS = \
tools/json-clean \
tools/json-validate \
tools/json-schema \
tools/hash \
tools/noise
LDADD = $(top_builddir)/libutil.a $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(ZLIB_LIBS)
##-----------------------------------------------------------------------------
## Tests
AM_LDFLAGS += $(BOOST_LDFLAGS) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB)
AM_CXXFLAGS += -I$(top_srcdir)
TEST_BIN = \
test/aabb \
test/backtrace \
test/bezier \
test/bitwise \
test/checksum \
test/colour \
test/crypto/arc4 \
test/crypto/tea \
test/crypto/xtea \
test/crypto/xxtea \
test/extent \
test/fixed \
test/float \
test/hash/murmur \
test/hash/fasthash \
test/hmac \
test/hotp \
test/hton \
test/introspection \
test/ip \
test/json_types \
test/ray \
test/maths \
test/maths_matrix \
test/matrix \
test/md2 \
test/md4 \
test/md5 \
test/options \
test/point \
test/polynomial \
test/pool \
test/rand \
test/range \
test/region \
test/ripemd \
test/sha1 \
test/sha2 \
test/signal \
test/stringid \
test/tuple \
test/uri \
test/vector \
test/version
if PLATFORM_WIN32
test_hton_LDFLAGS = -lws2_32
endif
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/build-aux/tap-driver.sh
TESTS = $(top_builddir)/test/json-parse $(top_builddir)/test/json-schema $(TEST_BIN)
check_PROGRAMS = $(TEST_BIN)
EXTRA_DIST += test/json test/json-parse test/json-schema