]> git.draconx.ca Git - liblbx.git/blob - Makefile.am
Trivial manual fixes.
[liblbx.git] / Makefile.am
1 # Copyright © 2009-2010,2013-2014,2021 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 ACLOCAL_AMFLAGS = -I m4 -I common/m4
8
9 # For Gnulib
10 MOSTLYCLEANFILES =
11 EXTRA_LTLIBRARIES =
12
13 EXTRA_DIST = bootstrap $(DX_BASEDIR)/scripts/fix-gnulib.pl m4/gnulib-cache.m4
14 CLEANFILES = $(EXTRA_LTLIBRARIES)
15 DISTCLEANFILES =
16
17 AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib \
18               -I$(top_builddir)/src -I$(top_srcdir)/src \
19               -I$(top_srcdir)/common/src
20 AM_CFLAGS = $(LIBPNG_CFLAGS) $(GTK_CFLAGS)
21
22 dist_man_MANS = doc/man/lbxtool.1 doc/man/lbximg.1
23 dist_doc_DATA = doc/txt/moo2-data.txt
24
25 lbxdir = $(includedir)/lbx
26 lbx_HEADERS = src/lbx.h src/image.h src/error.h
27 noinst_HEADERS = src/misc.h src/tools.h src/imgoutput.h common/src/help.h
28
29 lib_LTLIBRARIES = liblbx.la
30 liblbx_la_SOURCES = src/lbx.c src/fops.c src/image.c src/error.c \
31                     common/src/pack.c common/src/pack.h
32 liblbx_la_LDFLAGS = -export-symbols-regex '^lbx_'
33
34 bin_PROGRAMS = lbxtool lbximg
35 if BUILD_LBXGUI
36 bin_PROGRAMS += lbxgui
37 endif
38
39 lbxtool_SOURCES = src/lbxtool.c src/tools.c common/src/help.c
40 lbxtool_LDADD = liblbx.la libgnu.la
41 $(lbxtool_OBJECTS): $(gnulib_headers)
42 $(lbxtool_OBJECTS): src/toolopts.h
43
44 lbximg_SOURCES = src/lbximg.c src/tools.c src/pnm.c common/src/help.c
45 lbximg_LDADD = liblbx.la libgnu.la $(LIBPNG_LIBS)
46 $(lbximg_OBJECTS): $(gnulib_headers)
47 $(lbximg_OBJECTS): src/imgopts.h
48
49 if HAVE_LIBPNG
50 lbximg_SOURCES += src/png.c
51 endif
52
53 nodist_lbxgui_SOURCES = src/gui/lbxgui.glade.c
54 lbxgui_SOURCES = src/gui/lbxgui.c src/gui/lbxgui.h src/gui/image.c \
55         src/gui/bg.xbm
56 lbxgui_LDFLAGS = $(AM_LDFLAGS) -export-dynamic
57 lbxgui_LDADD = liblbx.la $(GTK_LIBS)
58
59 OPTFILES = src/toolopts.opt src/imgopts.opt
60 .opt.h:
61         $(AM_V_GEN) $(AWK) -f $(DX_BASEDIR)/scripts/gen-options.awk $< >$@.tmp
62         $(AM_V_at) mv -f $@.tmp $@
63 $(OPTFILES:.opt=.h): $(DX_BASEDIR)/scripts/gen-options.awk
64 CLEANFILES += $(OPTFILES:.opt=.h)
65 EXTRA_DIST += $(DX_BASEDIR)/scripts/gen-options.awk $(OPTFILES)
66
67 .xml.c:
68         $(AM_V_GEN) printf '%s\n' $(*F) | sed -e 's/[^[:alnum:]]/_/g' \
69                 -e 's/.*/const char &[] =/' > $@.tmp
70         $(AM_V_at) sed -e 's/\\/\\\\/g' \
71                 -e 's/"/\\"/g' \
72                 -e 's/.*/"&\\n"/' \
73                 -e '$$ s/$$/;/' $< >> $@.tmp
74         $(AM_V_at) mv -f $@.tmp $@
75
76 EXTRA_DIST += src/gui/lbxgui.glade.xml
77 CLEANFILES += src/gui/lbxgui.glade.c
78
79 atlocal: config.status
80         $(AM_V_GEN) :; { \
81           printf ': "$${%s=%s}"\n' \
82             datadir '$(datadir)' \
83             LN_S '$(LN_S)' \
84             MD5 '$(MD5)' \
85             PAMARITH '$(PAMARITH)' \
86             PAMCHANNEL '$(PAMCHANNEL)' \
87         ; } >$@.tmp
88         $(AM_V_at) mv -f $@.tmp $@
89 check_DATA = atlocal
90 CLEANFILES += atlocal
91
92 # Data files used in test cases
93 dist_check_DATA = tests/testdata/image-0x0 tests/testdata/image-1x1 \
94                   tests/testdata/image-1x1-mt tests/testdata/palette-ramp \
95                   tests/testdata/arch-trunc.lbx
96
97 include $(top_srcdir)/common/snippet/autotest.mk
98 include $(top_srcdir)/lib/gnulib.mk