summaryrefslogtreecommitdiff
path: root/Makefile.am
blob: 32c6dd63f4cefa5703e2fdc43271f427bd7ee15b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
##
## This file is part of the libsigrokdecode project.
##
## Copyright (C) 2010 Uwe Hermann <uwe@hermann-uwe.de>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, see <http://www.gnu.org/licenses/>.
##

ACLOCAL_AMFLAGS = -I m4
AM_LIBTOOLFLAGS = --silent
GNUMAKEFLAGS = --no-print-directory

DECODERS_DIR = $(pkgdatadir)/decoders
# Do not hard-code the decoders location on Windows.
if WIN32
AM_CPPFLAGS =
else
AM_CPPFLAGS = -DDECODERS_DIR='"$(DECODERS_DIR)"'
endif

# The tests CFLAGS are a superset of the libsigrokdecode CFLAGS.
AM_CFLAGS = $(SRD_EXTRA_CFLAGS) $(SRD_WFLAGS) $(TESTS_CFLAGS)

lib_LTLIBRARIES = libsigrokdecode.la

libsigrokdecode_la_SOURCES = \
	srd.c \
	session.c \
	decoder.c \
	instance.c \
	log.c \
	util.c \
	exception.c \
	module_sigrokdecode.c \
	type_decoder.c \
	error.c \
	version.c

libsigrokdecode_la_LIBADD = $(SRD_EXTRA_LIBS) $(LIBSIGROKDECODE_LIBS)
libsigrokdecode_la_LDFLAGS = -version-info $(SRD_LIB_VERSION) -no-undefined

pkginclude_HEADERS = libsigrokdecode.h
nodist_pkginclude_HEADERS = version.h
noinst_HEADERS = libsigrokdecode-internal.h

if WITH_IRMP
lib_LTLIBRARIES += libirmp.la
libirmp_la_SOURCES = \
	irmp/irmp-main-sharedlib.c \
	irmp/irmp-main-sharedlib.h \
	irmp/irmp.h \
	irmp/irmpconfig.h \
	irmp/irmpsystem.h \
	irmp/irmpprotocols.h
noinst_HEADERS += irmp/irmp.c
libirmp_la_CFLAGS = $(LIBIRMP_CFLAGS)
libirmp_la_LIBADD = $(LIBIRMP_LIBS)
libirmp_la_LDFLAGS = -no-undefined -version-info 0:0:0
endif

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libsigrokdecode.pc

EXTRA_DIST = Doxyfile HACKING contrib/sigrok-logo-notext.png

if HAVE_CHECK
TESTS = tests/main
check_PROGRAMS = ${TESTS}
endif

tests_main_SOURCES = \
	libsigrokdecode.h \
	tests/lib.h \
	tests/main.c \
	tests/core.c \
	tests/decoder.c \
	tests/inst.c \
	tests/session.c

tests_main_CPPFLAGS = -DDECODERS_TESTDIR='"$(abs_top_srcdir)/decoders"'
tests_main_LDADD = libsigrokdecode.la $(SRD_EXTRA_LIBS) $(TESTS_LIBS)

MAINTAINERCLEANFILES = ChangeLog

.PHONY: ChangeLog install-decoders

ChangeLog:
	git --git-dir '$(top_srcdir)/.git' log >$@ || touch $@

dist-hook: ChangeLog
	$(MKDIR_P) $(distdir)/tools
	cp ${top_srcdir}/tools/install-decoders $(distdir)/tools
	$(MKDIR_P) $(distdir)/decoders
	${top_srcdir}/tools/install-decoders -i ${top_srcdir}/decoders \
		-o $(distdir)/decoders

install-decoders:
	$(MKDIR_P) $(DESTDIR)$(DECODERS_DIR)
	$(PYTHON3) ${top_srcdir}/tools/install-decoders \
		-i ${top_srcdir}/decoders -o $(DESTDIR)$(DECODERS_DIR)

install-data-hook: install-decoders