Add common directory for shared modules.
[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 COMMON_DIR = $(pkgdatadir)/common
27 # Do not hard-code the decoders location on Windows.
28 if WIN32
29 AM_CPPFLAGS =
30 else
31 AM_CPPFLAGS = -DDECODERS_DIR='"$(DECODERS_DIR)"' -DCOMMON_DIR='"$(COMMON_DIR)"'
32 endif
33
34 # The tests CFLAGS are a superset of the libsigrokdecode CFLAGS.
35 AM_CFLAGS = $(SRD_EXTRA_CFLAGS) $(SRD_WFLAGS) $(TESTS_CFLAGS)
36
37 lib_LTLIBRARIES = libsigrokdecode.la
38
39 libsigrokdecode_la_SOURCES = \
40         srd.c \
41         session.c \
42         decoder.c \
43         instance.c \
44         log.c \
45         util.c \
46         exception.c \
47         module_sigrokdecode.c \
48         type_decoder.c \
49         type_logic.c \
50         error.c \
51         version.c
52
53 libsigrokdecode_la_LIBADD = $(SRD_EXTRA_LIBS) $(LIBSIGROKDECODE_LIBS)
54 libsigrokdecode_la_LDFLAGS = -version-info $(SRD_LIB_VERSION) -no-undefined
55
56 pkginclude_HEADERS = libsigrokdecode.h
57 nodist_pkginclude_HEADERS = version.h
58 noinst_HEADERS = libsigrokdecode-internal.h
59
60 pkgconfigdir = $(libdir)/pkgconfig
61 pkgconfig_DATA = libsigrokdecode.pc
62
63 EXTRA_DIST = Doxyfile HACKING contrib/sigrok-logo-notext.png
64
65 if HAVE_CHECK
66 TESTS = tests/main
67 check_PROGRAMS = ${TESTS}
68 endif
69
70 tests_main_SOURCES = \
71         libsigrokdecode.h \
72         tests/lib.h \
73         tests/main.c \
74         tests/core.c \
75         tests/decoder.c \
76         tests/inst.c \
77         tests/session.c
78
79 tests_main_CPPFLAGS = -DDECODERS_TESTDIR='"$(abs_top_srcdir)/decoders"'
80 tests_main_LDADD = libsigrokdecode.la $(SRD_EXTRA_LIBS) $(TESTS_LIBS)
81
82 MAINTAINERCLEANFILES = ChangeLog
83
84 .PHONY: ChangeLog install-decoders
85
86 ChangeLog:
87         git --git-dir '$(top_srcdir)/.git' log >$@ || touch $@
88
89 dist-hook: ChangeLog
90         $(MKDIR_P) $(distdir)/tools
91         cp ${top_srcdir}/tools/install-decoders $(distdir)/tools
92         $(MKDIR_P) $(distdir)/common
93         cp -a ${top_srcdir}/common $(distdir)
94         $(MKDIR_P) $(distdir)/decoders
95         ${top_srcdir}/tools/install-decoders -i ${top_srcdir}/decoders \
96                 -o $(distdir)/decoders
97
98 install-common:
99         $(MKDIR_P) $(DESTDIR)$(COMMON_DIR)
100         cp -a ${top_srcdir}/common $(DESTDIR)$(pkgdatadir)
101
102 install-decoders:
103         $(MKDIR_P) $(DESTDIR)$(DECODERS_DIR)
104         $(PYTHON3) ${top_srcdir}/tools/install-decoders \
105                 -i ${top_srcdir}/decoders -o $(DESTDIR)$(DECODERS_DIR)
106
107 install-data-hook: install-common install-decoders
108