summaryrefslogtreecommitdiff
path: root/src/options/Makefile.am
blob: 54047efcc2252c9fe9ca05ed881f9b9ec4d620da (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
156
157
158
# if coverage is enabled:
# COVERAGE_ON = yes from configure.ac
# Using an inline conditional function to choose between absolute and
# relative paths for options files
# lcov does not support relative paths and src/options and src/expr
# in particular were breaking it
# Building with coverage will cause portability issues in some cases

VPATH = $(if $(COVERAGE_ON), $(realpath @srcdir@), @srcdir@)

OPTIONS_CONFIG_FILES = \
	arith_options.toml \
	arrays_options.toml \
	base_options.toml \
	booleans_options.toml \
	builtin_options.toml \
	bv_options.toml \
	datatypes_options.toml \
	decision_options.toml \
	expr_options.toml \
	fp_options.toml \
	idl_options.toml \
	main_options.toml \
	parser_options.toml \
	printer_options.toml \
	proof_options.toml \
	prop_options.toml \
	quantifiers_options.toml \
	sep_options.toml \
	sets_options.toml \
	smt_options.toml \
	strings_options.toml \
	theory_options.toml \
	uf_options.toml

OPTIONS_GEN_H = $(OPTIONS_CONFIG_FILES:.toml=.h)

OPTIONS_GEN_CPP = $(OPTIONS_CONFIG_FILES:.toml=.cpp)

CPP_TEMPLATE_FILES = \
	module_template.h \
	module_template.cpp \
	options_holder_template.h \
	options_template.cpp

DOCUMENTATION_FILES = \
	../../doc/cvc4.1 \
	../../doc/SmtEngine.3cvc \
	../../doc/options.3cvc

DOCUMENTATION_TEMPLATE_FILES = \
	../../doc/cvc4.1_template \
	../../doc/SmtEngine.3cvc_template \
	../../doc/options.3cvc_template


AM_CPPFLAGS = \
	-D__BUILDING_CVC4LIB \
	$(if $(COVERAGE_ON), -I@abs_builddir@/.. -I@abs_srcdir@/../include -I@abs_srcdir@/.., \
	-I@builddir@/.. -I@srcdir@/../include -I@srcdir@/..)
AM_CXXFLAGS = -Wall $(FLAG_VISIBILITY_HIDDEN)

noinst_LTLIBRARIES = liboptions.la

liboptions_la_SOURCES = \
	arith_heuristic_pivot_rule.cpp \
	arith_heuristic_pivot_rule.h \
	arith_propagation_mode.cpp \
	arith_propagation_mode.h \
	arith_unate_lemma_mode.cpp \
	arith_unate_lemma_mode.h \
	argument_extender_implementation.cpp \
	argument_extender_implementation.h \
	argument_extender.h \
	base_handlers.h \
	bv_bitblast_mode.cpp \
	bv_bitblast_mode.h \
	datatypes_modes.h \
	decision_mode.cpp \
	decision_mode.h \
	decision_weight.h \
	didyoumean.cpp \
	didyoumean.h \
	language.cpp \
	language.h \
	open_ostream.cpp \
	open_ostream.h \
	option_exception.h \
	options.h \
	options_handler.cpp \
	options_handler.h \
	options_public_functions.cpp \
	printer_modes.cpp \
	printer_modes.h \
	quantifiers_modes.cpp \
	quantifiers_modes.h \
	set_language.cpp \
	set_language.h \
	smt_modes.cpp \
	smt_modes.h \
	sygus_out_mode.h \
	theoryof_mode.cpp \
	theoryof_mode.h \
	ufss_mode.h


nodist_liboptions_la_SOURCES = \
	options.cpp \
	options_holder.h \
	$(OPTIONS_GEN_H) \
	$(OPTIONS_GEN_CPP)


BUILT_SOURCES = \
	options.cpp


CLEANFILES = \
	$(BUILT_SOURCES) \
	$(OPTIONS_GEN_H) \
	$(OPTIONS_GEN_CPP) \
	$(DOCUMENTATION_FILES) \
	options_holder.h


EXTRA_DIST = \
	options.cpp \
	options_holder.h \
	$(OPTIONS_GEN_CPP) \
	$(OPTIONS_GEN_H) \
	$(OPTIONS_CONFIG_FILES) \
	$(CPP_TEMPLATE_FILES) \
	$(DOCUMENTATION_FILES) \
	mkoptions.py \
	language.i \
	option_exception.i \
	options.i



# Make sure the implicit rules never mistake a _template.cpp or _template.h
# file for source file.
$(CPP_TEMPLATE_FILES):;

# All source/doc files are generated in one pass with rule options.cpp. Note
# that this is done incrementally since mkoptions.py checks if a generated file
# changed before writing to the file. No global re-compilation of all generated
# files happens if only individual files were modified.
$(OPTIONS_GEN_CPP) $(OPTIONS_GEN_H) options_holder.h $(DOCUMENTATION_FILES): options.cpp

options.cpp: mkoptions.py $(CPP_TEMPLATE_FILES) $(OPTIONS_CONFIG_FILES) $(DOCUMENTATION_TEMPLATE_FILES)
	$(PYTHON) @srcdir@/mkoptions.py @abs_srcdir@ ../../doc . $(addprefix @abs_srcdir@/, $(OPTIONS_CONFIG_FILES))

# This rule is ugly.  It's needed to ensure that automake's dependence
# includes are available during distclean, even though they come from
# directories that are cleaned first.  Without this rule, "distclean"
# fails.
%.Plo:; $(MKDIR_P) "$(dir $@)" && : > "$@"
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback