summaryrefslogtreecommitdiff
path: root/src/Makefile_Eolian.am
blob: 1e44ce2cb44f95be0257c9836972696fe3c38244 (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

### Library

lib_LTLIBRARIES += lib/eolian/libeolian.la

installed_eolianmainheadersdir = $(includedir)/eolian-@VMAJ@
dist_installed_eolianmainheaders_DATA = lib/eolian/Eolian.h

lib_eolian_libeolian_la_SOURCES = \
                                  lib/eolian/eo_definitions.c \
                                  lib/eolian/eo_definitions.h \
                                  lib/eolian/eo_lexer.c \
                                  lib/eolian/eo_lexer.h \
                                  lib/eolian/eolian.c \
                                  lib/eolian/eolian_database.c \
                                  lib/eolian/eolian_database.h

lib_eolian_libeolian_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EOLIAN_CFLAGS@
lib_eolian_libeolian_la_LIBADD = @EOLIAN_LIBS@
lib_eolian_libeolian_la_DEPENDENCIES = @EOLIAN_INTERNAL_LIBS@
lib_eolian_libeolian_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@

### Binary

bin_PROGRAMS += \
                bin/eolian/eolian_gen

bin_eolian_eolian_gen_SOURCES = \
                bin/eolian/common_funcs.c \
                bin/eolian/common_funcs.h \
                bin/eolian/eo1_generator.c \
                bin/eolian/eo1_generator.h \
                bin/eolian/impl_generator.c \
                bin/eolian/impl_generator.h \
                bin/eolian/legacy_generator.c \
                bin/eolian/legacy_generator.h \
                bin/eolian/main.c

bin_eolian_eolian_gen_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EOLIAN_CFLAGS@
bin_eolian_eolian_gen_LDADD = @USE_EOLIAN_LIBS@
bin_eolian_eolian_gen_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@

### Helper for other modules using Eolian
include Makefile_Eolian_Helper.am

EXTRA_DIST += lib/eolian/eo_lexer.rl

if EFL_HAVE_RAGEL
SUFFIXES += .rl

AM_V_RAGEL = $(am__v_RAGEL_@AM_V@)
am__v_RAGEL_ = $(am__v_RAGEL_@AM_DEFAULT_V@)
am__v_RAGEL_0 = @echo "  RAGEL   " $@;

.rl.c:
	$(AM_V_RAGEL) ragel -o $@ $<

lib/eolian/eo_lexer.c: lib/eolian/eo_lexer.rl
endif

### Unit tests

if EFL_ENABLE_TESTS
check_PROGRAMS += \
tests/eolian/eolian_suite

tests_eolian_eolian_suite_SOURCES = \
tests/eolian/eolian_parsing.c \
tests/eolian/eolian_generation.c \
tests/eolian/eolian_suite.c \
tests/eolian/eolian_suite.h

tests_eolian_eolian_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian\" \
-DPACKAGE_DATA_DIR=\"$(top_srcdir)/src/tests/eolian\" \
-DPACKAGE_BUILD_DIR=\"`pwd`/$(top_builddir)\" \
@CHECK_CFLAGS@ \
@EOLIAN_CFLAGS@
TESTS += tests/eolian/eolian_suite

tests_eolian_eolian_suite_LDADD = @CHECK_LIBS@ @USE_EOLIAN_LIBS@
tests_eolian_eolian_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@

endif

EXTRA_DIST += \
tests/eolian/data/base.eo \
tests/eolian/data/class_simple.eo \
tests/eolian/data/scope.eo \
tests/eolian/data/ctor_dtor.eo \
tests/eolian/data/complex_type.eo \
tests/eolian/data/typedef.eo \
tests/eolian/data/object_impl.eo \
tests/eolian/data/object_impl_ref.c \
tests/eolian/data/object_impl_add.eo \
tests/eolian/data/object_impl_add_ref.c \
tests/eolian/data/consts.eo \
tests/eolian/data/override.eo