aboutsummaryrefslogtreecommitdiffstats
path: root/src/Makefile_Eolian_Cxx.am
blob: 4e2abcedc02118a2dfedf29fc432b5351b8c2160 (plain) (blame)
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212

### Library

installed_eoliancxxmainheadersdir = $(includedir)/eolian-cxx-@VMAJ@/
dist_installed_eoliancxxmainheaders_DATA = \
lib/eolian_cxx/Eolian_Cxx.hh

installed_eoliancxxgrammarheadersdir = $(includedir)/eolian-cxx-@VMAJ@/grammar/
dist_installed_eoliancxxgrammarheaders_DATA = \
lib/eolian_cxx/grammar/address_of.hpp \
lib/eolian_cxx/grammar/alternative.hpp \
lib/eolian_cxx/grammar/attribute_conditional.hpp \
lib/eolian_cxx/grammar/attribute_reorder.hpp \
lib/eolian_cxx/grammar/attribute_replace.hpp \
lib/eolian_cxx/grammar/attributes.hpp \
lib/eolian_cxx/grammar/blacklist.hpp \
lib/eolian_cxx/grammar/base_class_definition.hpp \
lib/eolian_cxx/grammar/case.hpp \
lib/eolian_cxx/grammar/class_declaration.hpp \
lib/eolian_cxx/grammar/class_definition.hpp \
lib/eolian_cxx/grammar/class_implementation.hpp \
lib/eolian_cxx/grammar/container.hpp \
lib/eolian_cxx/grammar/context.hpp \
lib/eolian_cxx/grammar/converting_argument.hpp \
lib/eolian_cxx/grammar/c_type.hpp \
lib/eolian_cxx/grammar/eps.hpp \
lib/eolian_cxx/grammar/function_declaration.hpp \
lib/eolian_cxx/grammar/function_definition.hpp \
lib/eolian_cxx/grammar/generator.hpp \
lib/eolian_cxx/grammar/header_guards.hpp \
lib/eolian_cxx/grammar/header.hpp \
lib/eolian_cxx/grammar/header_include_directive.hpp \
lib/eolian_cxx/grammar/html_escaped_string.hpp \
lib/eolian_cxx/grammar/implementation_include_directive.hpp \
lib/eolian_cxx/grammar/impl_header.hpp \
lib/eolian_cxx/grammar/indentation.hpp \
lib/eolian_cxx/grammar/integral.hpp \
lib/eolian_cxx/grammar/keyword.hpp \
lib/eolian_cxx/grammar/klass_def.hpp \
lib/eolian_cxx/grammar/kleene.hpp \
lib/eolian_cxx/grammar/list.hpp \
lib/eolian_cxx/grammar/meta.hpp \
lib/eolian_cxx/grammar/namespace.hpp \
lib/eolian_cxx/grammar/parameter.hpp \
lib/eolian_cxx/grammar/part_declaration.hpp \
lib/eolian_cxx/grammar/part_implementation.hpp \
lib/eolian_cxx/grammar/qualifier_def.hpp \
lib/eolian_cxx/grammar/sequence.hpp \
lib/eolian_cxx/grammar/string.hpp \
lib/eolian_cxx/grammar/type_function_declaration.hpp \
lib/eolian_cxx/grammar/type.hpp \
lib/eolian_cxx/grammar/type_impl.hpp \
lib/eolian_cxx/grammar/types_definition.hpp \
lib/eolian_cxx/grammar/type_traits.hpp

### Binary
if HAVE_CXX

bin_PROGRAMS += bin/eolian_cxx/eolian_cxx

bin_eolian_cxx_eolian_cxx_SOURCES = \
    bin/eolian_cxx/eolian_cxx.cc

bin_eolian_cxx_eolian_cxx_CXXFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/eolian_cxx/ \
@CHECK_CFLAGS@ @EINA_CFLAGS@ @EINA_CXX_CFLAGS@ @EO_CXX_CFLAGS@ @ECORE_CXX_CFLAGS@ @EO_CFLAGS@ \
-I$(top_srcdir)/src/bindings/cxx/eina_cxx \
@EOLIAN_CXX_CFLAGS@ @EOLIAN_CFLAGS@

bin_eolian_cxx_eolian_cxx_LDADD = @CHECK_LIBS@ @USE_EOLIAN_LIBS@

bin_eolian_cxx_eolian_cxx_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@


### Unit tests

if EFL_ENABLE_TESTS

check_PROGRAMS += tests/eolian_cxx/eolian_cxx_suite
TESTS += tests/eolian_cxx/eolian_cxx_suite

tests_eolian_cxx_eolian_cxx_suite_SOURCES = \
tests/eolian_cxx/eolian_cxx_suite.cc \
tests/eolian_cxx/eolian_cxx_test_parse.cc \
tests/eolian_cxx/a.c \
tests/eolian_cxx/b.c \
tests/eolian_cxx/c.c \
tests/eolian_cxx/d.c \
tests/eolian_cxx/eolian_cxx_test_binding.cc \
tests/eolian_cxx/eolian_cxx_test_address_of.cc \
tests/eolian_cxx/eolian_cxx_test_wrapper.cc \
tests/eolian_cxx/simple.c \
tests/eolian_cxx/name_name.c \
tests/eolian_cxx/name_name_cxx.cc \
tests/eolian_cxx/generic.c \
tests/eolian_cxx/name1_name2_type_generation.c \
tests/eolian_cxx/eolian_cxx_test_inheritance.cc \
tests/eolian_cxx/eolian_cxx_test_generate.cc \
tests/eolian_cxx/eolian_cxx_test_documentation.cc \
tests/eolian_cxx/eolian_cxx_test_cyclic.cc \
tests/eolian_cxx/complex.c \
tests/eolian_cxx/complex_cxx.cc \
tests/eolian_cxx/eolian_cxx_suite.h

if HAVE_AM_16
TESTS_EOLIAN_CXX_OBJNAME = 
else
TESTS_EOLIAN_CXX_OBJNAME = tests_eolian_cxx_
endif

tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-name1_name2_type_generation.$(OBJEXT): tests/eolian_cxx/name1_name2_type_generation.eo.h tests/eolian_cxx/name1_name2_type_generation.eo.c
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_inheritance.$(OBJEXT): tests/eolian_cxx/simple.eo.hh tests/eolian_cxx/simple.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_binding.$(OBJEXT): tests/eolian_cxx/generic.eo.hh tests/eolian_cxx/generic.eo.h tests/eolian_cxx/name1_name2_type_generation.eo.hh tests/eolian_cxx/name1_name2_type_generation.eo.h tests/eolian_cxx/name1_name2_type_generation.eo.c
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_address_of.$(OBJEXT): tests/eolian_cxx/a.eo.hh tests/eolian_cxx/b.eo.hh tests/eolian_cxx/c.eo.hh tests/eolian_cxx/d.eo.hh tests/eolian_cxx/a.eo.h tests/eolian_cxx/b.eo.h tests/eolian_cxx/c.eo.h tests/eolian_cxx/d.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-eolian_cxx_test_cyclic.$(OBJEXT): tests/eolian_cxx/cyclic1.eo.hh tests/eolian_cxx/cyclic2.eo.hh tests/eolian_cxx/cyclic1.eo.c tests/eolian_cxx/cyclic2.eo.c tests/eolian_cxx/cyclic1.eo.h tests/eolian_cxx/cyclic2.eo.h

tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-simple.$(OBJEXT): tests/eolian_cxx/simple.eo.c tests/eolian_cxx/simple.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-generic.$(OBJEXT): tests/eolian_cxx/generic.eo.c tests/eolian_cxx/generic.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-a.$(OBJEXT): tests/eolian_cxx/a.eo.c tests/eolian_cxx/a.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-b.$(OBJEXT): tests/eolian_cxx/b.eo.c tests/eolian_cxx/b.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-c.$(OBJEXT): tests/eolian_cxx/c.eo.c tests/eolian_cxx/c.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-d.$(OBJEXT): tests/eolian_cxx/d.eo.c tests/eolian_cxx/d.eo.h

tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-name_name.$(OBJEXT): tests/eolian_cxx/name_name.eo.c tests/eolian_cxx/name_name.eo.h tests/eolian_cxx/ns_name.eo.c tests/eolian_cxx/ns_name.eo.h tests/eolian_cxx/ns_name_other.eo.c tests/eolian_cxx/ns_name_other.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-name_name_cxx.$(OBJEXT): tests/eolian_cxx/name_name.eo.h tests/eolian_cxx/name_name.eo.hh tests/eolian_cxx/ns_name.eo.h tests/eolian_cxx/ns_name.eo.hh tests/eolian_cxx/ns_name_other.eo.h tests/eolian_cxx/ns_name_other.eo.hh

tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-complex.$(OBJEXT): tests/eolian_cxx/complex.eo.c tests/eolian_cxx/complex.eo.h
tests/eolian_cxx/$(TESTS_EOLIAN_CXX_OBJNAME)eolian_cxx_suite-complex_cxx.$(OBJEXT): tests/eolian_cxx/complex.eo.h tests/eolian_cxx/complex.eo.hh

CLEANFILES += \
tests/eolian_cxx/simple.eo.c \
tests/eolian_cxx/simple.eo.h \
tests/eolian_cxx/simple.eo.hh \
tests/eolian_cxx/simple.eo.impl.hh \
tests/eolian_cxx/generic.eo.c \
tests/eolian_cxx/generic.eo.h \
tests/eolian_cxx/generic.eo.hh \
tests/eolian_cxx/generic.eo.impl.hh \
tests/eolian_cxx/a.eo.hh tests/eolian_cxx/a.eo.impl.hh tests/eolian_cxx/a.eo.c tests/eolian_cxx/a.eo.h \
tests/eolian_cxx/b.eo.hh tests/eolian_cxx/b.eo.impl.hh tests/eolian_cxx/b.eo.c tests/eolian_cxx/b.eo.h \
tests/eolian_cxx/c.eo.hh tests/eolian_cxx/c.eo.impl.hh tests/eolian_cxx/c.eo.c tests/eolian_cxx/c.eo.h \
tests/eolian_cxx/d.eo.hh tests/eolian_cxx/d.eo.impl.hh tests/eolian_cxx/d.eo.c tests/eolian_cxx/d.eo.h \
tests/eolian_cxx/name_name.eo.hh \
tests/eolian_cxx/name_name.eo.c \
tests/eolian_cxx/name_name.eo.h \
tests/eolian_cxx/name_name.eo.impl.hh \
tests/eolian_cxx/ns_name.eo.hh \
tests/eolian_cxx/ns_name.eo.c \
tests/eolian_cxx/ns_name.eo.h \
tests/eolian_cxx/ns_name.eo.impl.hh \
tests/eolian_cxx/ns_name_other.eo.hh \
tests/eolian_cxx/ns_name_other.eo.c \
tests/eolian_cxx/ns_name_other.eo.h \
tests/eolian_cxx/ns_name_other.eo.impl.hh \
tests/eolian_cxx/complex.eo.hh \
tests/eolian_cxx/complex.eo.c \
tests/eolian_cxx/complex.eo.h \
tests/eolian_cxx/complex.eo.impl.hh \
tests/eolian_cxx/name1_name2_type_generation.eo.hh \
tests/eolian_cxx/name1_name2_type_generation.eo.impl.hh \
tests/eolian_cxx/name1_name2_type_generation.eo.h \
tests/eolian_cxx/name1_name2_type_generation.eo.c \
tests/eolian_cxx/cyclic1.eo.c \
tests/eolian_cxx/cyclic1.eo.h \
tests/eolian_cxx/cyclic1.eo.hh \
tests/eolian_cxx/cyclic1.eo.impl.hh \
tests/eolian_cxx/cyclic2.eo.c \
tests/eolian_cxx/cyclic2.eo.h \
tests/eolian_cxx/cyclic2.eo.hh \
tests/eolian_cxx/cyclic2.eo.impl.hh

tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS = \
-I$(top_builddir)/src/lib/efl \
-I$(top_builddir)/src/lib/efl/interfaces \
-I$(top_srcdir)/src/bin/eolian_cxx \
-I$(top_builddir)/src/tests/eolian_cxx \
-DTESTS_WD=\"`pwd`\" \
-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eolian_cxx\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/eolian_cxx\" \
-DPACKAGE_DATA_DIR=\"$(top_srcdir)/src/tests/eolian_cxx\" \
-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian_cxx\" \
@CHECK_CFLAGS@ @EOLIAN_CXX_CFLAGS@ @EINA_CXX_CFLAGS@ \
@EOLIAN_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@ @ECORE_CFLAGS@ \
@EO_CXX_CFLAGS@ @ECORE_CXX_CFLAGS@

tests_eolian_cxx_eolian_cxx_suite_CFLAGS = ${tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS}
tests_eolian_cxx_eolian_cxx_suite_CPPFLAGS = ${tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS}
tests_eolian_cxx_eolian_cxx_suite_LDADD = \
@CHECK_LIBS@ @USE_EO_LIBS@ @USE_EINA_LIBS@ @USE_ECORE_LIBS@ @USE_EOLIAN_LIBS@
tests_eolian_cxx_eolian_cxx_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@

endif
endif

EXTRA_DIST2 += \
tests/eolian_cxx/simple.eo \
tests/eolian_cxx/generic.eo \
tests/eolian_cxx/docs.eo \
tests/eolian_cxx/a.eo \
tests/eolian_cxx/b.eo \
tests/eolian_cxx/c.eo \
tests/eolian_cxx/d.eo \
tests/eolian_cxx/name_name.eo \
tests/eolian_cxx/ns_name.eo \
tests/eolian_cxx/ns_name_other.eo \
tests/eolian_cxx/name1_name2_type_generation.eo \
tests/eolian_cxx/complex.eo \
tests/eolian_cxx/cyclic1.eo \
tests/eolian_cxx/cyclic2.eo

include Makefile_Eolian_Cxx_Helper.am