-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMakefile
More file actions
211 lines (190 loc) · 5.88 KB
/
Makefile
File metadata and controls
211 lines (190 loc) · 5.88 KB
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
-include Makefile.local
-include Makefile.include
CFLAGS += -I.
CFLAGS += $(BORUVKA_CFLAGS)
CFLAGS += $(LP_SOLVE_CFLAGS)
CFLAGS += $(CPLEX_CFLAGS)
CXXFLAGS += -I.
CXXFLAGS += $(BORUVKA_CFLAGS)
CXXFLAGS += $(PROTOBUF_CFLAGS)
CXXFLAGS += -Wno-long-long
TARGETS = libplan.a
OBJS = problem
OBJS += problem_fd
OBJS += problem_2
OBJS += var
OBJS += state
OBJS += part_state
OBJS += state_packer
OBJS += state_pool
OBJS += op
OBJS += op_id_tr
OBJS += succ_gen
OBJS += causal_graph
OBJS += path
OBJS += state_space
OBJS += prio_queue
OBJS += pq
OBJS += landmark
OBJS += arr
OBJS += fact_id
OBJS += list_lazy
OBJS += list_lazy_fifo
OBJS += list_lazy_heap
OBJS += list_lazy_bucket
OBJS += list_lazy_rbtree
OBJS += list_lazy_splaytree
OBJS += list
OBJS += list_tiebreaking
OBJS += search
OBJS += search_applicable_ops
OBJS += search_stat
OBJS += search_lazy_base
OBJS += search_ehc
OBJS += search_lazy
OBJS += search_astar
OBJS += heur
OBJS += dtg
OBJS += fact_op_cross_ref
OBJS += pref_op_selector
OBJS += heur_relax
OBJS += heur_goalcount
OBJS += heur_relax_add_max
OBJS += heur_add
OBJS += heur_max
OBJS += heur_max2
OBJS += heur_relax_ff
OBJS += heur_relax_lm_cut
OBJS += heur_lm_cut
OBJS += heur_lm_cut2
OBJS += heur_dtg
OBJS += heur_flow
OBJS += heur_potential
OBJS += heur_ma_ff
OBJS += heur_ma_dtg
OBJS += heur_ma_max
OBJS += heur_ma_lm_cut
OBJS += heur_ma_pot
OBJS += heur_ma_pot_proj
OBJS += msg_schema
OBJS += ma_msg
OBJS += ma_comm
OBJS += ma_comm_tcp
OBJS += ma_comm_inproc
OBJS += ma_search
OBJS += ma_snapshot
OBJS += ma_private_state
OBJS += ma_state
OBJS += ma_terminate
OBJS += lp
OBJS += pot
OBJS += mutex
OBJS += fa_mutex
CXX_OBJS =
CXX_OBJS += problem
CXX_OBJS += problemdef.pb
OBJS := $(foreach obj,$(OBJS),.objs/$(obj).o)
CXX_OBJS := $(foreach obj,$(CXX_OBJS),.objs/$(obj).cxx.o)
all: $(TARGETS)
libplan.a: $(OBJS) $(CXX_OBJS)
ar cr $@ $(OBJS) $(CXX_OBJS)
ranlib $@
plan/config.h: plan/config.h.m4
$(M4) $(CONFIG_FLAGS) $< >$@
src/%.pb.h src/%.pb.cc: src/%.proto
cd src && $(PROTOC) --cpp_out=. $(notdir $<)
.objs/heur_relax.o: src/heur_relax.c src/heur_relax.h src/_heur_relax_explore.h plan/config.h
$(CC) $(CFLAGS) -c -o $@ $<
.objs/%.o: src/%.c src/%.h plan/config.h
$(CC) $(CFLAGS) -c -o $@ $<
.objs/%.o: src/%.c plan/%.h plan/config.h
$(CC) $(CFLAGS) -c -o $@ $<
.objs/%.o: src/%.c plan/config.h
$(CC) $(CFLAGS) -c -o $@ $<
.objs/ma_msg.cxx.o: src/ma_msg.cc plan/ma_msg.h src/ma_msg.pb.h plan/config.h
$(CXX) $(CXXFLAGS) -Wno-pedantic -c -o $@ $<
.objs/ma_msg.pb.cxx.o: src/ma_msg.pb.cc src/ma_msg.pb.h
$(CXX) $(CXXFLAGS) -Wno-pedantic -c -o $@ $<
.objs/problem.cxx.o: src/problem.cc plan/problem.h src/problemdef.pb.h plan/config.h
$(CXX) $(CXXFLAGS) -Wno-pedantic -c -o $@ $<
.objs/problemdef.pb.cxx.o: src/problemdef.pb.cc src/problemdef.pb.h
$(CXX) $(CXXFLAGS) -Wno-pedantic -c -o $@ $<
.objs/%.cxx.o: src/%.cc plan/%.h plan/config.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
.objs/%.cxx.o: src/%.cc plan/config.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
%.h: plan/config.h
%.c: plan/config.h
clean:
rm -f $(OBJS)
rm -f $(CXX_OBJS)
rm -f .objs/*.o
rm -f $(TARGETS)
rm -f plan/config.h
rm -f src/*.pb.{cc,h}
if [ -d bin ]; then $(MAKE) -C bin clean; fi;
if [ -d testsuites ]; then $(MAKE) -C testsuites clean; fi;
if [ -d doc ]; then $(MAKE) -C doc clean; fi;
check:
$(MAKE) -C testsuites check
check-valgrind:
$(MAKE) -C testsuites check-valgrind
check-segfault:
$(MAKE) -C testsuites check-segfault
doc:
$(MAKE) -C doc
analyze: clean
$(SCAN_BUILD) $(MAKE)
submodule:
$(MAKE) -C third-party submodule
third-party:
$(MAKE) -C third-party
third-party-clean:
$(MAKE) -C third-party clean
help:
@echo "Targets:"
@echo " all - Build library"
@echo " doc - Build documentation"
@echo " check - Build & Run automated tests"
@echo " check-valgrind - Build & Run automated tests in valgrind(1)"
@echo " check-segfault - Build & Run automated tests in valgrind(1) set up to detect only segfaults"
@echo " clean - Remove all generated files"
@echo " analyze - Perform static analysis using Clang Static Analyzer"
@echo " submodule - Fetch all submodules using git."
@echo " third-party - Build all third-party projects."
@echo " third-party-clean - Clean all third-party projects."
@echo ""
@echo "Options:"
@echo " CC - Path to C compiler (=$(CC))"
@echo " CXX - Path to C++ compiler (=$(CXX))"
@echo " M4 - Path to m4 macro processor (=$(M4))"
@echo " SCAN_BUILD - Path to scan-build (=$(SCAN_BUILD))"
@echo " PROTOC - Path to protobuf compiler (=$(PROTOC))"
@echo " PYTHON2 - Path to python v2 interpret (=$(PYTHON2))"
@echo ""
@echo " DEBUG 'yes'/'no' - Turn on/off debugging (=$(DEBUG))"
@echo " PROFIL 'yes'/'no' - Compiles profiling info (=$(PROFIL))"
@echo ""
@echo "Variables:"
@echo " Note that most of can be preset or changed by user"
@echo " SYSTEM = $(SYSTEM)"
@echo " CFLAGS = $(CFLAGS)"
@echo " CXXFLAGS = $(CXXFLAGS)"
@echo " LDFLAGS = $(LDFLAGS)"
@echo " CONFIG_FLAGS = $(CONFIG_FLAGS)"
@echo " USE_LOCAL_OPTS = $(USE_LOCAL_OPTS)"
@echo " OPTS_CFLAGS = $(OPTS_CFLAGS)"
@echo " OPTS_LDFLAGS = $(OPTS_LDFLAGS)"
@echo " USE_LOCAL_BORUVKA = $(USE_LOCAL_BORUVKA)"
@echo " BORUVKA_CFLAGS = $(BORUVKA_CFLAGS)"
@echo " BORUVKA_LDFLAGS = $(BORUVKA_LDFLAGS)"
@echo " USE_LOCAL_PROTOBUF = $(USE_LOCAL_PROTOBUF)"
@echo " PROTOBUF_CFLAGS = $(PROTOBUF_CFLAGS)"
@echo " PROTOBUF_LDFLAGS = $(PROTOBUF_LDFLAGS)"
@echo ""
@echo " LP = $(LP)"
@echo " LP_CFLAGS = $(LP_CFLAGS)"
@echo " LP_LDFLAGS = $(LP_LDFLAGS)"
@echo " USE_CPLEX = $(USE_CPLEX)"
@echo " USE_LP_SOLVE = $(USE_LP_SOLVE)"
.PHONY: all clean check check-valgrind help doc install analyze examples submodule third-party