]> git.draconx.ca Git - liblbx.git/blob - Makefile.am
tests: Remove toplevel set -e usage.
[liblbx.git] / Makefile.am
1 # Copyright © 2009-2010, 2013 Nick Bowler
2 #
3 # License WTFPL2: Do What The Fuck You Want To Public License, version 2.
4 # This is free software: you are free to do what the fuck you want to.
5 # There is NO WARRANTY, to the extent permitted by law.
6
7 AUTOMAKE_OPTIONS = parallel-tests color-tests
8 ACLOCAL_AMFLAGS = -I m4 -I common/m4
9
10 EXTRA_DIST         = m4/gnulib-cache.m4
11 CLEANFILES         =
12 MOSTLYCLEANFILES   =
13 noinst_LTLIBRARIES =
14
15 AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib -I$(top_srcdir)/src
16 AM_CFLAGS = $(LIBPNG_CFLAGS) $(GTK_CFLAGS)
17
18 dist_man_MANS = doc/man/lbxtool.1 doc/man/lbximg.1
19 dist_doc_DATA = doc/txt/moo2-data.txt
20
21 lbxdir = $(includedir)/lbx
22 lbx_HEADERS = src/lbx.h src/image.h src/error.h
23 noinst_HEADERS = src/misc.h src/tools.h src/pack.h
24
25 lib_LTLIBRARIES = liblbx.la
26 liblbx_la_SOURCES = src/lbx.c src/fops.c src/image.c src/pack.c src/error.c
27 liblbx_la_LDFLAGS = -export-symbols-regex '^lbx_'
28
29 bin_PROGRAMS = lbxtool lbximg
30 if BUILD_LBXGUI
31 bin_PROGRAMS += lbxgui
32 endif
33
34 lbxtool_SOURCES = src/lbxtool.c src/tools.c
35 lbxtool_LDADD = liblbx.la libgnu.la
36 $(lbxtool_OBJECTS): $(gnulib_headers)
37
38 lbximg_SOURCES = src/lbximg.c src/tools.c src/pnm.c
39 lbximg_LDADD = liblbx.la libgnu.la $(LIBPNG_LIBS)
40 $(lbximg_OBJECTS): $(gnulib_headers)
41
42 if HAVE_LIBPNG
43 lbximg_SOURCES += src/png.c
44 endif
45
46 nodist_lbxgui_SOURCES = src/gui/lbxgui.glade.c
47 lbxgui_SOURCES = src/gui/lbxgui.c src/gui/render.c src/gui/render.h \
48         src/gui/bg.xbm
49 lbxgui_LDFLAGS = $(AM_LDFLAGS) -export-dynamic
50 lbxgui_LDADD = liblbx.la $(GTK_LIBS)
51
52 TEST_EXTENSIONS = .tap
53
54 TAP_LOG_COMPILER = $(SHELL)
55 TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' \
56         $(SHELL) $(srcdir)/tests/util/tap-driver.sh
57
58 TESTS = tests/empty-image.tap tests/pam-formats.tap tests/moo2-mainmenu.tap \
59         tests/moo2-logo.tap tests/moo2-starbg.tap tests/moo2-ships.tap \
60         tests/moo2-monster.tap
61
62 mostlyclean-local: clean-testdirs
63 clean-testdirs:
64         for dir in $(TESTS:.tap=.dir); do \
65                 case $$dir in \
66                 *.dir) rm -rf "$$dir" ;; \
67                 esac; \
68         done
69 .PHONY: clean-testdirs
70
71 .xml.c:
72         $(AM_V_GEN) printf '%s\n' $(*F) | sed -e 's/[^[:alnum:]]/_/g' \
73                 -e 's/.*/const char &[] =/' > $@.tmp
74         $(AM_V_at) sed -e 's/\\/\\\\/g' \
75                 -e 's/"/\\"/g' \
76                 -e 's/.*/"&\\n"/' \
77                 -e '$$ s/$$/;/' $< >> $@.tmp
78         $(AM_V_at) mv -f $@.tmp $@
79
80 EXTRA_DIST += src/gui/lbxgui.glade.xml
81 CLEANFILES += src/gui/lbxgui.glade.c
82
83 include lib/gnulib.mk