a8df8f6e280a454d48cee9b23532eec39045fad9
[libsigrokdecode.git] / Makefile.am
1 ##
2 ## This file is part of the libsigrokdecode project.
3 ##
4 ## Copyright (C) 2010 Uwe Hermann <uwe@hermann-uwe.de>
5 ##
6 ## This program is free software; you can redistribute it and/or modify
7 ## it under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation; either version 2 of the License, or
9 ## (at your option) any later version.
10 ##
11 ## This program is distributed in the hope that it will be useful,
12 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 ## GNU General Public License for more details.
15 ##
16 ## You should have received a copy of the GNU General Public License
17 ## along with this program; if not, write to the Free Software
18 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
19 ##
20
21 ACLOCAL_AMFLAGS = -I m4
22 AM_LIBTOOLFLAGS = --silent
23 GNUMAKEFLAGS = --no-print-directory
24
25 DECODERS_DIR = $(pkgdatadir)/decoders
26 # Do not hard-code the decoders location on Windows.
27 if WIN32
28 AM_CPPFLAGS =
29 else
30 AM_CPPFLAGS = -DDECODERS_DIR='"$(DECODERS_DIR)"'
31 endif
32
33 # The tests CFLAGS are a superset of the libsigrokdecode CFLAGS.
34 AM_CFLAGS = $(SRD_EXTRA_CFLAGS) $(SRD_WFLAGS) $(TESTS_CFLAGS)
35
36 lib_LTLIBRARIES = libsigrokdecode.la
37
38 libsigrokdecode_la_SOURCES = \
39         srd.c \
40         session.c \
41         decoder.c \
42         instance.c \
43         log.c \
44         util.c \
45         exception.c \
46         module_sigrokdecode.c \
47         type_decoder.c \
48         type_logic.c \
49         error.c \
50         version.c
51
52 libsigrokdecode_la_LIBADD = $(SRD_EXTRA_LIBS) $(LIBSIGROKDECODE_LIBS)
53 libsigrokdecode_la_LDFLAGS = -version-info $(SRD_LIB_VERSION) -no-undefined
54
55 pkginclude_HEADERS = libsigrokdecode.h
56 nodist_pkginclude_HEADERS = version.h
57 noinst_HEADERS = libsigrokdecode-internal.h
58
59 pkgconfigdir = $(libdir)/pkgconfig
60 pkgconfig_DATA = libsigrokdecode.pc
61
62 EXTRA_DIST = Doxyfile HACKING contrib/sigrok-logo-notext.png
63
64 if HAVE_CHECK
65 TESTS = tests/main
66 check_PROGRAMS = ${TESTS}
67 endif
68
69 tests_main_SOURCES = \
70         libsigrokdecode.h \
71         tests/lib.h \
72         tests/main.c \
73         tests/core.c \
74         tests/decoder.c \
75         tests/inst.c \
76         tests/session.c
77
78 tests_main_CPPFLAGS = -DDECODERS_TESTDIR='"$(abs_top_srcdir)/decoders"'
79 tests_main_LDADD = libsigrokdecode.la $(SRD_EXTRA_LIBS) $(TESTS_LIBS)
80
81 MAINTAINERCLEANFILES = ChangeLog
82
83 .PHONY: ChangeLog install-decoders
84
85 ChangeLog:
86         git --git-dir '$(top_srcdir)/.git' log >$@ || touch $@
87
88 dist-hook: ChangeLog
89         $(MKDIR_P) $(distdir)/tools
90         cp ${top_srcdir}/tools/install-decoders $(distdir)/tools
91         $(MKDIR_P) $(distdir)/decoders
92         ${top_srcdir}/tools/install-decoders -i ${top_srcdir}/decoders \
93                 -o $(distdir)/decoders
94
95 install-decoders:
96         $(MKDIR_P) $(DESTDIR)$(DECODERS_DIR)
97         $(PYTHON3) ${top_srcdir}/tools/install-decoders \
98                 -i ${top_srcdir}/decoders -o $(DESTDIR)$(DECODERS_DIR)
99
100 install-data-hook: install-decoders
101