stable.mk 14.4 KB
Newer Older
Florent Lamiraux's avatar
Florent Lamiraux committed
1
2
3
4
5
6
#
# Copyright (c) 2014 CNRS-LAAS
# Author: Florent Lamiraux
#

FCL_REPO=https://github.com/flexible-collision-library
Florent Lamiraux's avatar
Florent Lamiraux committed
7
8
LAAS_REPO=https://github.com/laas
HPP_REPO=https://github.com/humanoid-path-planner
9
SOT_REPO=https://github.com/stack-of-tasks
10
GEPETTO_REPO=https://github.com/Gepetto
11
TRAC_REPO=ssh://trac.laas.fr/git/jrl/robots/ros-hrp2
12
LOCO3D_REPO=https://github.com/loco-3d
Florent Lamiraux's avatar
Florent Lamiraux committed
13

14
15
16
17
SRC_DIR=${DEVEL_HPP_DIR}/src
ifndef INSTALL_HPP_DIR
INSTALL_HPP_DIR=${DEVEL_HPP_DIR}/install
endif
18

19
20
BUILD_TYPE?=Release
BUILD_TESTING?=ON
21
22
23
24
ifeq (${BUILD_TYPE},Debug)
  BUILD_FOLDER=build
else
  BUILD_FOLDER=build-rel
25
  BUILD_TESTING=OFF
26
endif
Florent Lamiraux's avatar
Florent Lamiraux committed
27

Florent Lamiraux's avatar
Florent Lamiraux committed
28
29
30
31
WGET=wget --quiet
UNZIP=unzip -qq
TAR=tar
GIT_QUIET=--quiet
32
# Qt version should be either 4 or 5
33
QT_VERSION=5
34
INSTALL_DOCUMENTATION=ON
Florent Lamiraux's avatar
Florent Lamiraux committed
35

Guilhem Saurel's avatar
Guilhem Saurel committed
36
# Either a version tag (e.g. v4.3.0), stable or devel
Guilhem Saurel's avatar
Guilhem Saurel committed
37
HPP_VERSION=v4.12.0
Guilhem Saurel's avatar
Guilhem Saurel committed
38
39
HPP_EXTRA_FLAGS= -DBUILD_TESTING=${BUILD_TESTING}$

40
41
42
##################################
# {{{ Dependencies

Guilhem Saurel's avatar
Guilhem Saurel committed
43
pinocchio_branch=v2.6.3
44
pinocchio_repository=${SOT_REPO}
45
pinocchio_extra_flags= -DBUILD_UNIT_TESTS=OFF -DBUILD_WITH_COLLISION_SUPPORT=ON
Florent Lamiraux's avatar
Florent Lamiraux committed
46

Guilhem Saurel's avatar
Guilhem Saurel committed
47
hpp-template-corba_branch=${HPP_VERSION}
48
hpp-template-corba_repository=${HPP_REPO}
49

50
51
52
# }}}
##################################
# {{{ Packages supporting HPP_VERSION
Guilhem Saurel's avatar
Guilhem Saurel committed
53
hpp-util_branch=${HPP_VERSION}
Florent Lamiraux's avatar
Florent Lamiraux committed
54
55
hpp-util_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
56
hpp-fcl_branch=v1.7.7
57
hpp-fcl_repository=${HPP_REPO}
Guilhem Saurel's avatar
Guilhem Saurel committed
58
hpp-fcl_extra_flags= -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON_INTERFACE=OFF
59

Guilhem Saurel's avatar
Guilhem Saurel committed
60
hpp-statistics_branch=${HPP_VERSION}
61
hpp-statistics_repository=${HPP_REPO}
62

Guilhem Saurel's avatar
Guilhem Saurel committed
63
hpp-pinocchio_branch=${HPP_VERSION}
64
hpp-pinocchio_repository=${HPP_REPO}
65
hpp-pinocchio_extra_flags=${HPP_EXTRA_FLAGS}
66

Guilhem Saurel's avatar
Guilhem Saurel committed
67
hpp-constraints_branch=${HPP_VERSION}
68
hpp-constraints_repository=${HPP_REPO}
69
hpp-constraints_extra_flags=${HPP_EXTRA_FLAGS} -DUSE_QPOASES=OFF
70

Guilhem Saurel's avatar
Guilhem Saurel committed
71
hpp-core_branch=${HPP_VERSION}
72
hpp-core_repository=${HPP_REPO}
73
hpp-core_extra_flags=${HPP_EXTRA_FLAGS}
Florent Lamiraux's avatar
Florent Lamiraux committed
74

Guilhem Saurel's avatar
Guilhem Saurel committed
75
hpp-corbaserver_branch=${HPP_VERSION}
76
hpp-corbaserver_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
77

Guilhem Saurel's avatar
Guilhem Saurel committed
78
hpp-doc_branch=stable
79
hpp-doc_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
80

Guilhem Saurel's avatar
Guilhem Saurel committed
81
hpp-manipulation_branch=${HPP_VERSION}
82
hpp-manipulation_repository=${HPP_REPO}
83

Guilhem Saurel's avatar
Guilhem Saurel committed
84
hpp-manipulation-urdf_branch=${HPP_VERSION}
85
hpp-manipulation-urdf_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
86

Guilhem Saurel's avatar
Guilhem Saurel committed
87
hpp-manipulation-corba_branch=${HPP_VERSION}
88
hpp-manipulation-corba_repository=${HPP_REPO}
89

90
hpp_tutorial_branch=${HPP_VERSION}
91
hpp_tutorial_repository=${HPP_REPO}
92

Guilhem Saurel's avatar
Guilhem Saurel committed
93
hpp-gepetto-viewer_branch=${HPP_VERSION}
94
hpp-gepetto-viewer_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
95

Guilhem Saurel's avatar
Guilhem Saurel committed
96
hpp-plot_branch=${HPP_VERSION}
97
hpp-plot_repository=${HPP_REPO}
98

Guilhem Saurel's avatar
Guilhem Saurel committed
99
hpp-gui_branch=${HPP_VERSION}
100
hpp-gui_repository=${HPP_REPO}
101

Guilhem Saurel's avatar
Guilhem Saurel committed
102
hpp-practicals_branch=${HPP_VERSION}
Florent Lamiraux's avatar
Florent Lamiraux committed
103
104
hpp-practicals_repository=${HPP_REPO}

105
106
107
# }}}
##################################
# {{{ Robot specific package + test packages
108

Guilhem Saurel's avatar
Guilhem Saurel committed
109
example-robot-data_branch=v3.11.0
110
example-robot-data_repository=${GEPETTO_REPO}
111
example-robot-data_extra_flags= -DBUILD_PYTHON_INTERFACE=OFF
112

Florent Lamiraux's avatar
Florent Lamiraux committed
113
hrp2-14-description_branch=master
114
hrp2-14-description_repository=${TRAC_REPO}
115

116
hpp-hrp2_branch=v4.9.0
117
hpp-hrp2_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
118

119
120
robot_capsule_urdf_branch=groovy
robot_capsule_urdf_repository=${LAAS_REPO}
121

122
123
robot_model_py_branch=groovy
robot_model_py_repository=${LAAS_REPO}
124

125
hpp_benchmark_branch=devel
126
hpp_benchmark_repository=${HPP_REPO}
127

Guilhem Saurel's avatar
Guilhem Saurel committed
128
hpp-environments_branch=${HPP_VERSION}
129
130
hpp-environments_repository=${HPP_REPO}

131
universal_robot_branch=kinetic
Florent Lamiraux's avatar
Florent Lamiraux committed
132
133
universal_robot_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
134
hpp-universal-robot_branch=${HPP_VERSION}
Guilhem Saurel's avatar
Guilhem Saurel committed
135
hpp-universal-robot_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
136

Guilhem Saurel's avatar
Guilhem Saurel committed
137
hpp-baxter_branch=${HPP_VERSION}
138
139
hpp-baxter_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
140
hpp_romeo_branch=${HPP_VERSION}
Florent Lamiraux's avatar
Florent Lamiraux committed
141
hpp_romeo_repository=${HPP_REPO}
142

143
144
145
146
147

# }}}
##################################
# {{{ Packages for rbprm

Guilhem Saurel's avatar
Guilhem Saurel committed
148
hpp-affordance_branch=${HPP_VERSION}
149
150
151
hpp-affordance_repository=${HPP_REPO}
hpp-affordance_extra_flags=${HPP_EXTRA_FLAGS}

Guilhem Saurel's avatar
Guilhem Saurel committed
152
hpp-affordance-corba_branch=${HPP_VERSION}
153
154
155
hpp-affordance-corba_repository=${HPP_REPO}
hpp-affordance-corba_extra_flags=${HPP_EXTRA_FLAGS}

Guilhem Saurel's avatar
Guilhem Saurel committed
156
anymal-rbprm_branch=${HPP_VERSION}
Guilhem Saurel's avatar
Guilhem Saurel committed
157
158
anymal-rbprm_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
159
hyq-rbprm_branch=${HPP_VERSION}
Guilhem Saurel's avatar
Guilhem Saurel committed
160
161
hyq-rbprm_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
162
simple-humanoid-rbprm_branch=${HPP_VERSION}
Guilhem Saurel's avatar
Guilhem Saurel committed
163
164
simple-humanoid-rbprm_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
165
166
167
168
solo-rbprm_branch=${HPP_VERSION}
solo-rbprm_repository=${HPP_REPO}

talos-rbprm_branch=${HPP_VERSION}
169
170
talos-rbprm_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
171
hpp-rbprm_branch=${HPP_VERSION}
172
173
174
hpp-rbprm_repository=${HPP_REPO}
hpp-rbprm_extra_flags=${HPP_EXTRA_FLAGS}

Guilhem Saurel's avatar
Guilhem Saurel committed
175
hpp-rbprm-corba_branch=${HPP_VERSION}
176
177
178
hpp-rbprm-corba_repository=${HPP_REPO}
hpp-rbprm-corba_extra_flags=${HPP_EXTRA_FLAGS}

Guilhem Saurel's avatar
Guilhem Saurel committed
179
hpp-centroidal-dynamics_branch=${HPP_VERSION}
180
181
hpp-centroidal-dynamics_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
182
hpp-bezier-com-traj_branch=${HPP_VERSION}
183
184
185
hpp-bezier-com-traj_repository=${HPP_REPO}
hpp-bezier-com-traj_extra_flags= -DBUILD_PYTHON_INTERFACE=ON

Guilhem Saurel's avatar
Guilhem Saurel committed
186
ndcurves_branch=v1.1.0
187
188
ndcurves_repository=${LOCO3D_REPO}
ndcurves_extra_flags= -DBUILD_PYTHON_INTERFACE=ON
189

190
191
192
193
# }}}
##################################
# {{{ Packages for gepetto-gui

Guilhem Saurel's avatar
Guilhem Saurel committed
194
gepetto-viewer_branch=v4.12.1
195
gepetto-viewer_repository=${GEPETTO_REPO}
196
ifeq (${QT_VERSION}, 5)
197
	gepetto-viewer_extra_flags= -DPROJECT_USE_QT4=OFF
198
else
199
	gepetto-viewer_extra_flags= -DPROJECT_USE_QT4=ON
200
endif
Florent Lamiraux's avatar
Florent Lamiraux committed
201

Guilhem Saurel's avatar
Guilhem Saurel committed
202
gepetto-viewer-corba_branch=v5.6.0
Guilhem Saurel's avatar
Guilhem Saurel committed
203
204
gepetto-viewer-corba_repository=${GEPETTO_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
205
qgv_branch=v1.3.2
206
qgv_repository=${HPP_REPO}
Joseph Mirabel's avatar
Joseph Mirabel committed
207
208
209
210
211
ifeq (${QT_VERSION}, 5)
	qgv_extra_flags=-DBINDINGS_QT5=ON -DBINDINGS_QT4=OFF
else
	qgv_extra_flags=-DBINDINGS_QT5=OFF -DBINDINGS_QT4=ON
endif
212

213
hpp-tools_branch=v4.9.0
214
hpp-tools_repository=${HPP_REPO}
215
hpp-tools_extra_flags=
216

217
218
219
220
# }}}
##################################
# {{{ High-level targets

221
all: hpp_tutorial.install hpp-gepetto-viewer.install hpp-plot.install hpp-gui.install
222
	${MAKE} hpp-doc.install
Florent Lamiraux's avatar
Florent Lamiraux committed
223

224
# For test on gepgitlab, install robot packages first
225
test-ci: example-robot-data.install  hpp-environments.install \
226
	hpp-baxter.install
227
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install hpp-rbprm-corba.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
228
	hpp-universal-robot.install && \
229
230
231
	${MAKE} hpp-doc.install

# For benchmark, install robot packages first
232
benchmark: example-robot-data.install \
233
	hpp-environments.install hrp2-14-description.install
234
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install; \
235
	${MAKE} hpp-baxter.install hpp_romeo.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
236
	hpp-universal-robot.install hpp-plot.install hpp-gui.install; \
237
	${MAKE} hpp_benchmark.checkout; \
238
	${MAKE} hpp-doc.install
239

240
241
242
243
rbprm: hpp-rbprm-corba.install hpp-gepetto-viewer.install
	${MAKE} hpp-doc.install


244
245
246
247
# }}}
##################################
# {{{ Dependencies declaration

248
hpp-doc.configure.dep: hpp-doc.checkout
Guilhem Saurel's avatar
Guilhem Saurel committed
249
hpp-fcl.configure.dep: hpp-fcl.checkout
250
251
hpp-util.configure.dep: hpp-util.checkout
hpp-model-urdf.configure.dep: hpp-model.install hpp-model-urdf.checkout
252
pinocchio.configure.dep: hpp-fcl.install pinocchio.checkout
253
254
hpp-pinocchio.configure.dep: pinocchio.install hpp-util.install \
	hpp-pinocchio.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
255
hpp-statistics.configure.dep: hpp-util.install hpp-statistics.checkout
256
257
hpp-core.configure.dep: example-robot-data.install hpp-constraints.install \
	hpp-statistics.install hpp-core.checkout
Guilhem Saurel's avatar
Guilhem Saurel committed
258
hpp-constraints.configure.dep: hpp-pinocchio.install hpp-statistics.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
259
	hpp-environments.install hpp-constraints.checkout
260
hpp-manipulation.configure.dep: hpp-core.install hpp-constraints.install \
Florent Lamiraux's avatar
Florent Lamiraux committed
261
	hpp-manipulation.checkout
262
hpp-manipulation-corba.configure.dep: hpp-manipulation-urdf.install \
263
264
	hpp-manipulation.install hpp-corbaserver.install \
	hpp-template-corba.install hpp-manipulation-corba.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
265
266
hpp-plot.configure.dep: hpp-corbaserver.install hpp-manipulation-corba.install \
	qgv.install hpp-plot.checkout
267
hpp-manipulation-urdf.configure.dep:hpp-manipulation.install \
268
	hpp-manipulation-urdf.checkout
269
hpp-corbaserver.configure.dep: hpp-core.install hpp-template-corba.install \
270
271
	hpp-constraints.install hpp-corbaserver.checkout
hpp-template-corba.configure.dep: hpp-util.install hpp-template-corba.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
272
qgv.configure.dep: qgv.checkout
273
274
275
robot_model_py.configure.dep: robot_model_py.checkout
robot_capsule_urdf.configure.dep: robot_model_py.install \
	robot_capsule_urdf.checkout
276
277
278
279
hpp-hrp2.configure.dep: hrp2-14-description.install hpp-corbaserver.install \
	hpp-hrp2.checkout
hrp2-14-description.configure.dep: robot_capsule_urdf.install \
	robot_model_py.install hrp2-14-description.checkout
Guilhem Saurel's avatar
Guilhem Saurel committed
280
test-hpp.configure.dep: \
281
	hpp-gepetto-viewer.install hpp-hrp2.install test-hpp.checkout
282
hpp_tutorial.configure.dep: hpp-gepetto-viewer.install \
283
	hpp-manipulation-corba.install hpp_tutorial.checkout
284
hpp_benchmark.configure.dep: hpp_tutorial.install hpp_benchmark.checkout
285
gepetto-viewer.configure.dep: gepetto-viewer.checkout
286
gepetto-viewer-corba.configure.dep: gepetto-viewer.install \
287
	gepetto-viewer-corba.checkout
288
hpp-gepetto-viewer.configure.dep: gepetto-viewer-corba.install \
Florent Lamiraux's avatar
Florent Lamiraux committed
289
	hpp-corbaserver.install \
290
	hpp-gepetto-viewer.checkout
291
hpp-gui.configure.dep: hpp-gui.checkout
292
universal_robot.configure.dep: universal_robot.checkout
293
hpp-universal-robot.configure.dep: example-robot-data.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
294
	hpp-universal-robot.checkout
295
example-robot-data.configure.dep: example-robot-data.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
296
hpp-environments.configure.dep: hpp-environments.checkout
297
hpp-baxter.configure.dep: example-robot-data.install hpp-baxter.checkout
298
hpp_romeo.configure.dep: hpp_romeo.checkout
299
300
301
hpp-affordance.configure.dep: hpp-core.install hpp-fcl.install hpp-affordance.checkout
hpp-affordance-corba.configure.dep: hpp-affordance.install hpp-template-corba.install \
 hpp-corbaserver.install hpp-affordance-corba.checkout
Guilhem Saurel's avatar
Guilhem Saurel committed
302
303
304
anymal-rbprm.configure.dep: anymal-rbprm.checkout
hyq-rbprm.configure.dep: hyq-rbprm.checkout
simple-humanoid-rbprm.configure.dep: simple-humanoid-rbprm.checkout
Guilhem Saurel's avatar
Guilhem Saurel committed
305
solo-rbprm.configure.dep: solo-rbprm.checkout
306
307
talos-rbprm.configure.dep: talos-rbprm.checkout
hpp-rbprm.configure.dep: hpp-core.install hpp-centroidal-dynamics.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
308
	anymal-rbprm.install hyq-rbprm.install talos-rbprm.install simple-humanoid-rbprm.install solo-rbprm.install \
309
	hpp-affordance.install ndcurves.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
310
	hpp-bezier-com-traj.install hpp-rbprm.checkout
311
hpp-rbprm-corba.configure.dep: hpp-rbprm.install hpp-affordance-corba.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
312
 hpp-corbaserver.install hpp-rbprm-corba.checkout
313
hpp-centroidal-dynamics.configure.dep: hpp-centroidal-dynamics.checkout
314
315
hpp-bezier-com-traj.configure.dep: hpp-centroidal-dynamics.install ndcurves.install hpp-bezier-com-traj.checkout
ndcurves.configure.dep: ndcurves.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
316
hpp-tools.configure.dep: hpp-tools.checkout
317

318
319
320
321
# }}}
##################################
# {{{ Targets

322
status:
323
324
325
	@for child_dir in $$(ls ${SRC_DIR}); do \
		test -d "$$child_dir" || continue; \
		test -d "$$child_dir/.git" || continue; \
Florent Lamiraux's avatar
Florent Lamiraux committed
326
		${MAKE} "$$child_dir".status; \
327
	done
328

Florent Lamiraux's avatar
Florent Lamiraux committed
329
330
331
332
333
334
335
log:
	@for child_dir in $$(ls ${SRC_DIR}); do \
		test -d "$$child_dir" || continue; \
		test -d "$$child_dir/.git" || continue; \
		${MAKE} "$$child_dir".log; \
	done

336
337
338
339
340
341
342
fetch:
	@for child_dir in $$(ls ${SRC_DIR}); do \
		test -d "$$child_dir" || continue; \
		test -d "$$child_dir/.git" || continue; \
		${MAKE} "$$child_dir".fetch; \
	done

343
update:
344
345
346
347
348
	@for child_dir in $$(ls ${SRC_DIR}); do \
		test -d "$$child_dir" || continue; \
		test -d "$$child_dir/.git" || continue; \
		${MAKE} "$$child_dir".update; \
	done
Florent Lamiraux's avatar
Florent Lamiraux committed
349
350
351

%.checkout:
	if [ -d $(@:.checkout=) ]; then \
352
		echo "$(@:.checkout=) already checkout out."; \
Florent Lamiraux's avatar
Florent Lamiraux committed
353
	else \
Florent Lamiraux's avatar
Florent Lamiraux committed
354
		git clone ${GIT_QUIET} --recursive -b ${$(@:.checkout=)_branch} ${$(@:.checkout=)_repository}/$(@:.checkout=); \
Florent Lamiraux's avatar
Florent Lamiraux committed
355
356
	fi \

357
358
359
360
361
362
%.fetch:
	if [ "${$(@:.fetch=)_repository}" = "" ]; then \
		echo "$(@:.fetch=) is not referenced"; \
	else \
		cd ${SRC_DIR}/$(@:.fetch=);\
		git fetch ${GIT_QUIET} origin; \
363
		git fetch ${GIT_QUIET} origin --tags; \
364
365
	fi

Florent Lamiraux's avatar
Florent Lamiraux committed
366
%.update:
367
368
369
370
371
372
373
	if [ "${$(@:.update=)_repository}" = "" ]; then \
		echo "$(@:.update=) is not referenced"; \
	else \
		cd ${SRC_DIR}/$(@:.update=);\
		git remote rm origin;\
		git remote add origin ${$(@:.update=)_repository}/$(@:.update=);\
		git fetch origin;\
374
		git fetch origin --tags;\
Florent Lamiraux's avatar
Florent Lamiraux committed
375
376
377
		git checkout -q --detach;\
		git branch -f ${$(@:.update=)_branch} origin/${$(@:.update=)_branch};\
		git checkout -q ${$(@:.update=)_branch};\
378
379
380
		git submodule update; \
	fi

Florent Lamiraux's avatar
Florent Lamiraux committed
381

382
383
%.configure.dep: %.checkout

Florent Lamiraux's avatar
Florent Lamiraux committed
384
385
%.configure: %.configure.dep
	${MAKE} $(@:.configure=).configure_nodep
386

Florent Lamiraux's avatar
Florent Lamiraux committed
387
388
389
%.configure_nodep:%.checkout
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
390
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
Guilhem Saurel's avatar
Guilhem Saurel committed
391
			-DENFORCE_MINIMAL_CXX_STANDARD=ON \
392
393
394
			-DINSTALL_DOCUMENTATION=${INSTALL_DOCUMENTATION} \
			-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g -O3 -DNDEBUG" \
			${$(@:.configure_nodep=)_extra_flags} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
395

Florent Lamiraux's avatar
Florent Lamiraux committed
396
%.install:%.configure
397
398
	${MAKE} -C ${SRC_DIR}/$(@:.install=)/${BUILD_FOLDER} install

Florent Lamiraux's avatar
Florent Lamiraux committed
399
400
%.install_nodep:%.configure_nodep
	${MAKE} -C ${SRC_DIR}/$(@:.install_nodep=)/${BUILD_FOLDER} install
Florent Lamiraux's avatar
Florent Lamiraux committed
401
402

%.uninstall:
403
	${MAKE} -C ${SRC_DIR}/$(@:.uninstall=)/${BUILD_FOLDER} uninstall
Florent Lamiraux's avatar
Florent Lamiraux committed
404
405

%.clean:
406
	${MAKE} -C ${SRC_DIR}/$(@:.clean=)/${BUILD_FOLDER} clean
Florent Lamiraux's avatar
Florent Lamiraux committed
407

408
%.very-clean:
409
	rm -rf ${SRC_DIR}/$(@:.very-clean=)/${BUILD_FOLDER}/*
410

Florent Lamiraux's avatar
Florent Lamiraux committed
411
%.status:
Florent Lamiraux's avatar
Florent Lamiraux committed
412
413
414
415
	@cd ${SRC_DIR}/$(@:.status=); \
	echo \
	"\033[1;36m------- Folder $(@:.status=) ---------------\033[0m"; \
	git --no-pager -c status.showUntrackedFiles=no status --short --branch;\
Florent Lamiraux's avatar
Florent Lamiraux committed
416

Florent Lamiraux's avatar
Florent Lamiraux committed
417
418
419
420
421
422
423
%.log:
	@cd ${SRC_DIR}/$(@:.log=); \
	if [ -f .git/refs/heads/${$(@:.log=)_branch} ]; then \
		echo -n "$(@:.log=): "; \
		cat .git/refs/heads/${$(@:.log=)_branch}; \
	fi

424
robot_model_py.configure: robot_model_py.configure.dep
Florent Lamiraux's avatar
Florent Lamiraux committed
425
	cd ${SRC_DIR}/$(@:.configure=)/xml_reflection;\
426
427
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
428
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
429
	cd ${SRC_DIR}/$(@:.configure=)/urdf_parser_py;\
430
431
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
432
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Marine Heckler's avatar
Marine Heckler committed
433

Florent Lamiraux's avatar
Florent Lamiraux committed
434
robot_model_py.install: robot_model_py.configure
435
436
	${MAKE} -C ${SRC_DIR}/$(@:.install=)/xml_reflection/${BUILD_FOLDER} install; \
	${MAKE} -C ${SRC_DIR}/$(@:.install=)/urdf_parser_py/${BUILD_FOLDER} install;
Florent Lamiraux's avatar
Florent Lamiraux committed
437
438
439
440

universal_robot.configure_nodep:
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
441
	cmake -DCMAKE_INSTALL_PREFIX=${DEVEL_HPP_DIR}/install -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g -O3 -DNDEBUG" ${$(@:.configure_nodep=)_extra_flags} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
442
443
444
445
446
447
448
449

universal_robot.install_nodep:universal_robot.configure_nodep
	cd ${SRC_DIR}/$(@:.install_nodep=)/ur_description/${BUILD_FOLDER};\
	make install

universal_robot.install:universal_robot.configure
	cd ${SRC_DIR}/$(@:.install=)/ur_description/${BUILD_FOLDER};\
	make install
Florent Lamiraux's avatar
Florent Lamiraux committed
450

451
452
453
# }}}

# vim: foldmethod=marker foldlevel=0