summaryrefslogtreecommitdiff
path: root/src/Makefile_Eolian.am
blob: 19a25b1be4315eb25c2037e1d1bb9b27c16e78f1 (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155

### 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_lexer.c \
                                  lib/eolian/eo_lexer.h \
                                  lib/eolian/eo_parser.c \
                                  lib/eolian/eo_parser.h \
                                  lib/eolian/eolian.c \
                                  lib/eolian/eolian_database.c \
                                  lib/eolian/eolian_database.h \
                                  lib/eolian/database_class.c \
                                  lib/eolian/database_class_api.c \
                                  lib/eolian/database_function.c \
                                  lib/eolian/database_function_api.c \
                                  lib/eolian/database_function_parameter.c \
                                  lib/eolian/database_function_parameter_api.c \
                                  lib/eolian/database_type.c \
                                  lib/eolian/database_type_api.c \
                                  lib/eolian/database_implement.c \
                                  lib/eolian/database_implement_api.c \
                                  lib/eolian/database_constructor.c \
                                  lib/eolian/database_constructor_api.c \
                                  lib/eolian/database_event.c \
                                  lib/eolian/database_event_api.c \
                                  lib/eolian/database_expr.c \
                                  lib/eolian/database_expr_api.c \
                                  lib/eolian/database_var.c \
                                  lib/eolian/database_var_api.c \
                                  lib/eolian/database_validate.c

lib_eolian_libeolian_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EOLIAN_CFLAGS@ \
	-DPACKAGE_DATA_DIR=\"$(datadir)/eolian\"

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/main.c \
                bin/eolian/main.h \
                bin/eolian/types.c \
                bin/eolian/types.h \
                bin/eolian/headers.c \
                bin/eolian/headers.h \
                bin/eolian/sources.c \
                bin/eolian/sources.h \
                bin/eolian/docs.c \
                bin/eolian/docs.h \
                bin/eolian/checks.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

### Unit tests


EOLIAN_TESTS_EOS = \
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_add.eo \
tests/eolian/data/consts.eo \
tests/eolian/data/override.eo \
tests/eolian/data/events.eo \
tests/eolian/data/extern.eo \
tests/eolian/data/struct.eo \
tests/eolian/data/var.eo \
tests/eolian/data/class_funcs.eo \
tests/eolian/data/enum.eo \
tests/eolian/data/free_func.eo \
tests/eolian/data/nmsp1_class1.eo \
tests/eolian/data/nmsp1_nmsp11_class2.eo \
tests/eolian/data/nmsp2_class1.eo \
tests/eolian/data/null.eo \
tests/eolian/data/no_nmsp.eo \
tests/eolian/data/import.eo \
tests/eolian/data/decl.eo \
tests/eolian/data/docs.eo \
tests/eolian/data/function_types.eot \
tests/eolian/data/function_as_argument.eo \
tests/eolian/data/import_types.eot

EOLIAN_TESTS_EOS_GENERATED = \
$(EOLIAN_TESTS_EOS:%.eo=%.eo.c)\
$(EOLIAN_TESTS_EOS:%.eo=%.eo.h)

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_generated_future.c \
tests/eolian/eolian_suite.c \
tests/eolian/eolian_suite.h

tests/eolian/tests_eolian_eolian_suite-eolian_generated_future.$(OBJEXT): tests/eolian/generated_future.eo.h tests/eolian/generated_future.eo.c

CLEANFILES += tests/eolian/generated_future.eo.h tests/eolian/generated_future.eo.c

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

tests_eolian_eolian_suite_LDADD = @CHECK_LIBS@ @USE_EOLIAN_LIBS@ @USE_EO_LIBS@
tests_eolian_eolian_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@ @USE_EO_INTERNAL_LIBS@
tests_eolian_eolian_suite.$(OBJEXT): $(EOLIAN_TESTS_EOS_GENERATED)

endif

EXTRA_DIST2 += \
tests/eolian/data/object_impl_ref.c \
tests/eolian/data/object_impl_add_ref.c \
tests/eolian/data/typedef_ref.c \
tests/eolian/data/typedef_ref_stub.c \
tests/eolian/data/struct_ref.c \
tests/eolian/data/struct_ref_stub.c \
tests/eolian/data/class_simple_ref.c \
tests/eolian/data/override_ref.c \
tests/eolian/data/class_simple_ref_eo.h \
tests/eolian/data/class_simple_ref_legacy.h \
tests/eolian/data/import_types_ref.h \
tests/eolian/data/docs_ref.h \
tests/eolian/data/docs_ref_legacy.h \
tests/eolian/data/function_types_ref.h \
tests/eolian/data/function_as_argument_impl_ref.c \
tests/eolian/data/function_as_argument_ref.c \
tests/eolian/data/function_as_argument_ref.h \
tests/eolian/generated_future.eo \
$(EOLIAN_TESTS_EOS)