stable.mk 16 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

Joseph Mirabel's avatar
Joseph Mirabel committed
28
OSG_PACKAGE=osg-dae
29
#OSG_PACKAGE=OpenSceneGraph-3.4.0
30

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

39
40
41
##################################
# {{{ Dependencies

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

Guilhem Saurel's avatar
Guilhem Saurel committed
46
hpp-template-corba_branch=v4.10.0
47
hpp-template-corba_repository=${HPP_REPO}
48

49
50
51
# }}}
##################################
# {{{ Packages supporting HPP_VERSION
52

Guilhem Saurel's avatar
Guilhem Saurel committed
53
# Either a version tag (e.g. v4.3.0), stable or devel
54
HPP_EXTRA_FLAGS= -DBUILD_TESTING=${BUILD_TESTING}$
55

Guilhem Saurel's avatar
Guilhem Saurel committed
56
hpp-util_branch=v4.10.1
Florent Lamiraux's avatar
Florent Lamiraux committed
57
58
hpp-util_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
59
hpp-fcl_branch=v1.6.0
60
hpp-fcl_repository=${HPP_REPO}
61
hpp-fcl_extra_flags= -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON_INTERFACE=OFF
62

Guilhem Saurel's avatar
Guilhem Saurel committed
63
hpp-statistics_branch=v4.10.1
64
hpp-statistics_repository=${HPP_REPO}
65

Guilhem Saurel's avatar
Guilhem Saurel committed
66
hpp-pinocchio_branch=v4.10.2
67
hpp-pinocchio_repository=${HPP_REPO}
68
hpp-pinocchio_extra_flags=${HPP_EXTRA_FLAGS}
69

Guilhem Saurel's avatar
Guilhem Saurel committed
70
hpp-constraints_branch=v4.10.1
71
hpp-constraints_repository=${HPP_REPO}
72
hpp-constraints_extra_flags=${HPP_EXTRA_FLAGS} -DUSE_QPOASES=OFF
73

Guilhem Saurel's avatar
Guilhem Saurel committed
74
hpp-core_branch=v4.10.1
75
hpp-core_repository=${HPP_REPO}
76
hpp-core_extra_flags=${HPP_EXTRA_FLAGS}
Florent Lamiraux's avatar
Florent Lamiraux committed
77

Guilhem Saurel's avatar
Guilhem Saurel committed
78
hpp-corbaserver_branch=v4.10.1
79
hpp-corbaserver_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
80

Guilhem Saurel's avatar
Guilhem Saurel committed
81
hpp-walkgen_branch=v4.10.1
Joseph Mirabel's avatar
Joseph Mirabel committed
82
83
hpp-walkgen_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
84
hpp-wholebody-step_branch=v4.10.1
Florent Lamiraux's avatar
Florent Lamiraux committed
85
hpp-wholebody-step_repository=${HPP_REPO}
86
hpp-wholebody-step_extra_flags= -DRUN_TESTS=OFF
Florent Lamiraux's avatar
Florent Lamiraux committed
87

Guilhem Saurel's avatar
Guilhem Saurel committed
88
hpp-doc_branch=stable
89
hpp-doc_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
90

Guilhem Saurel's avatar
Guilhem Saurel committed
91
hpp-manipulation_branch=v4.10.1
92
hpp-manipulation_repository=${HPP_REPO}
93

Guilhem Saurel's avatar
Guilhem Saurel committed
94
hpp-manipulation-urdf_branch=v4.10.1
95
hpp-manipulation-urdf_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
96

Guilhem Saurel's avatar
Guilhem Saurel committed
97
hpp-manipulation-corba_branch=v4.10.1
98
hpp-manipulation-corba_repository=${HPP_REPO}
99

100
hpp_tutorial_branch=${HPP_VERSION}
101
hpp_tutorial_repository=${HPP_REPO}
102

Guilhem Saurel's avatar
Guilhem Saurel committed
103
hpp-gepetto-viewer_branch=v4.10.1
104
hpp-gepetto-viewer_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
105

Guilhem Saurel's avatar
Guilhem Saurel committed
106
hpp-plot_branch=v4.10.1
107
hpp-plot_repository=${HPP_REPO}
108

Guilhem Saurel's avatar
Guilhem Saurel committed
109
hpp-gui_branch=v4.10.1
110
hpp-gui_repository=${HPP_REPO}
111

Guilhem Saurel's avatar
Guilhem Saurel committed
112
hpp-practicals_branch=v4.10.0
Florent Lamiraux's avatar
Florent Lamiraux committed
113
114
hpp-practicals_repository=${HPP_REPO}

115
116
117
# }}}
##################################
# {{{ Robot specific package + test packages
118

Guilhem Saurel's avatar
Guilhem Saurel committed
119
example-robot-data_branch=v3.6.1
120
example-robot-data_repository=${GEPETTO_REPO}
121
example-robot-data_extra_flags= -DBUILD_PYTHON_INTERFACE=OFF
122

Florent Lamiraux's avatar
Florent Lamiraux committed
123
hrp2-14-description_branch=master
124
hrp2-14-description_repository=${TRAC_REPO}
125

126
hpp-hrp2_branch=v4.9.0
127
hpp-hrp2_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
128

129
130
robot_capsule_urdf_branch=groovy
robot_capsule_urdf_repository=${LAAS_REPO}
131

132
133
robot_model_py_branch=groovy
robot_model_py_repository=${LAAS_REPO}
134

135
hpp_benchmark_branch=devel
136
hpp_benchmark_repository=${HPP_REPO}
137

Guilhem Saurel's avatar
Guilhem Saurel committed
138
hpp-environments_branch=v4.10.1
139
140
hpp-environments_repository=${HPP_REPO}

141
universal_robot_branch=kinetic
Florent Lamiraux's avatar
Florent Lamiraux committed
142
143
universal_robot_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
144
hpp-universal-robot_branch=v4.10.0
Guilhem Saurel's avatar
Guilhem Saurel committed
145
hpp-universal-robot_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
146

Guilhem Saurel's avatar
Guilhem Saurel committed
147
hpp-baxter_branch=v4.10.0
148
149
hpp-baxter_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
150
hpp_romeo_branch=v4.10.0
Florent Lamiraux's avatar
Florent Lamiraux committed
151
hpp_romeo_repository=${HPP_REPO}
152

153
154
155
156
157

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

Guilhem Saurel's avatar
Guilhem Saurel committed
158
hpp-affordance_branch=v4.10.0
159
160
161
hpp-affordance_repository=${HPP_REPO}
hpp-affordance_extra_flags=${HPP_EXTRA_FLAGS}

Guilhem Saurel's avatar
Guilhem Saurel committed
162
hpp-affordance-corba_branch=v4.10.0
163
164
165
hpp-affordance-corba_repository=${HPP_REPO}
hpp-affordance-corba_extra_flags=${HPP_EXTRA_FLAGS}

Guilhem Saurel's avatar
Guilhem Saurel committed
166
167
168
169
170
171
172
173
174
175
anymal-rbprm_branch=v4.10.0
anymal-rbprm_repository=${HPP_REPO}

hyq-rbprm_branch=v4.10.0
hyq-rbprm_repository=${HPP_REPO}

simple-humanoid-rbprm_branch=v4.10.0
simple-humanoid-rbprm_repository=${HPP_REPO}

talos-rbprm_branch=v4.10.0
176
177
talos-rbprm_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
178
hpp-rbprm_branch=v4.10.1
179
180
181
hpp-rbprm_repository=${HPP_REPO}
hpp-rbprm_extra_flags=${HPP_EXTRA_FLAGS}

182
hpp-rbprm-robot-data_branch=v4.9.0
183
184
hpp-rbprm-robot-data_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
185
hpp-rbprm-corba_branch=v4.10.0
186
187
188
hpp-rbprm-corba_repository=${HPP_REPO}
hpp-rbprm-corba_extra_flags=${HPP_EXTRA_FLAGS}

Guilhem Saurel's avatar
Guilhem Saurel committed
189
hpp-centroidal-dynamics_branch=v4.10.0
190
191
hpp-centroidal-dynamics_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
192
hpp-bezier-com-traj_branch=v4.10.1
193
194
195
hpp-bezier-com-traj_repository=${HPP_REPO}
hpp-bezier-com-traj_extra_flags= -DBUILD_PYTHON_INTERFACE=ON

196
197
198
ndcurves_branch=v0.5.2
ndcurves_repository=${LOCO3D_REPO}
ndcurves_extra_flags= -DBUILD_PYTHON_INTERFACE=ON
199

Guilhem Saurel's avatar
Guilhem Saurel committed
200
eigenpy_branch=v2.5.0
201
202
eigenpy_repository=${SOT_REPO}

203
204
205
206
207
208
209
210
211
212
# }}}
##################################
# {{{ Packages for gepetto-gui

collada-dom_branch=master
collada-dom_repository=${HPP_REPO}
collada-dom_extra_flags=-DBUILD_SHARED_LIBS=TRUE -DOPT_COLLADA15=FALSE

osg-dae_branch=master
osg-dae_repository=${GEPETTO_REPO}
Joseph Mirabel's avatar
Joseph Mirabel committed
213
osg-dae_extra_flags= -DCOLLADA_DYNAMIC_LIBRARY=${INSTALL_HPP_DIR}/lib/libcollada14dom.so -DCOLLADA_INCLUDE_DIR=${INSTALL_HPP_DIR}/include/collada-dom
214
OpenSceneGraph-3.4.0_extra_flags= -DDESIRED_QT_VERSION=${QT_VERSION} -DCOLLADA_DYNAMIC_LIBRARY=${INSTALL_HPP_DIR}/lib/libcollada14dom.so -DCOLLADA_INCLUDE_DIR=${INSTALL_HPP_DIR}/include/collada-dom -DLIB_POSTFIX=""
215

Guilhem Saurel's avatar
Guilhem Saurel committed
216
gepetto-viewer_branch=v4.10.1
217
gepetto-viewer_repository=${GEPETTO_REPO}
218
ifeq (${QT_VERSION}, 5)
219
	gepetto-viewer_extra_flags= -DPROJECT_USE_QT4=OFF
220
else
221
	gepetto-viewer_extra_flags= -DPROJECT_USE_QT4=ON
222
endif
Florent Lamiraux's avatar
Florent Lamiraux committed
223

Guilhem Saurel's avatar
Guilhem Saurel committed
224
gepetto-viewer-corba_branch=v5.5.1
Guilhem Saurel's avatar
Guilhem Saurel committed
225
226
gepetto-viewer-corba_repository=${GEPETTO_REPO}

227
pythonqt_branch=qt${QT_VERSION}
228
pythonqt_repository=${GEPETTO_REPO}
229
230
pythonqt_extra_flags= -DPythonQt_Wrap_QtAll=ON -DPythonQt_Extensions=ON

231
qgv_branch=v1.3.0
232
qgv_repository=${HPP_REPO}
Joseph Mirabel's avatar
Joseph Mirabel committed
233
234
235
236
237
ifeq (${QT_VERSION}, 5)
	qgv_extra_flags=-DBINDINGS_QT5=ON -DBINDINGS_QT4=OFF
else
	qgv_extra_flags=-DBINDINGS_QT5=OFF -DBINDINGS_QT4=ON
endif
238

239
hpp-tools_branch=v4.9.0
240
hpp-tools_repository=${HPP_REPO}
241
hpp-tools_extra_flags=
242

243
244
245
246
# }}}
##################################
# {{{ High-level targets

247
all: hpp_tutorial.install hpp-gepetto-viewer.install hpp-plot.install hpp-gui.install
248
	${MAKE} hpp-doc.install
Florent Lamiraux's avatar
Florent Lamiraux committed
249

250
# For test on gepgitlab, install robot packages first
251
252
test-ci: example-robot-data.install  hpp-environments.install \
	hpp-baxter.install
253
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install hpp-rbprm-corba.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
254
	hpp-universal-robot.install && \
255
256
257
	${MAKE} hpp-doc.install

# For benchmark, install robot packages first
258
benchmark: example-robot-data.install \
259
	hpp-environments.install hrp2-14-description.install
260
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install; \
261
	${MAKE} hpp-baxter.install hpp_romeo.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
262
	hpp-universal-robot.install hpp-plot.install hpp-gui.install; \
263
	${MAKE} hpp_benchmark.checkout; \
264
	${MAKE} hpp-doc.install
265

266
267
268
269
rbprm: hpp-rbprm-corba.install hpp-gepetto-viewer.install
	${MAKE} hpp-doc.install


270
271
272
273
# }}}
##################################
# {{{ Dependencies declaration

274
hpp-doc.configure.dep: hpp-doc.checkout
275
hpp-fcl.configure.dep: hpp-fcl.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
276
hpp-walkgen.configure.dep: hpp-util.install hpp-core.install \
277
	hpp-walkgen.checkout
278
279
hpp-util.configure.dep: hpp-util.checkout
hpp-model-urdf.configure.dep: hpp-model.install hpp-model-urdf.checkout
280
pinocchio.configure.dep: hpp-fcl.install pinocchio.checkout
281
282
hpp-pinocchio.configure.dep: pinocchio.install hpp-util.install \
	hpp-pinocchio.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
283
hpp-statistics.configure.dep: hpp-util.install hpp-statistics.checkout
284
285
hpp-core.configure.dep: example-robot-data.install hpp-constraints.install \
	hpp-statistics.install hpp-core.checkout
Guilhem Saurel's avatar
Guilhem Saurel committed
286
hpp-constraints.configure.dep: hpp-pinocchio.install hpp-statistics.install \
287
	hpp-constraints.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
288
hpp-wholebody-step.configure.dep: hpp-constraints.install hpp-walkgen.install \
289
290
	hpp-wholebody-step.checkout
hpp-manipulation.configure.dep: hpp-core.install hpp-constraints.install \
Florent Lamiraux's avatar
Florent Lamiraux committed
291
	hpp-manipulation.checkout
292
hpp-manipulation-corba.configure.dep: hpp-manipulation-urdf.install \
293
294
	hpp-manipulation.install hpp-corbaserver.install \
	hpp-template-corba.install hpp-manipulation-corba.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
295
296
hpp-plot.configure.dep: hpp-corbaserver.install hpp-manipulation-corba.install \
	qgv.install hpp-plot.checkout
297
hpp-manipulation-urdf.configure.dep:hpp-manipulation.install \
298
	hpp-manipulation-urdf.checkout
299
hpp-corbaserver.configure.dep: hpp-core.install hpp-template-corba.install \
300
301
	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
302
303
qgv.configure.dep: qgv.checkout
pythonqt.configure.dep: pythonqt.checkout
304
305
306
robot_model_py.configure.dep: robot_model_py.checkout
robot_capsule_urdf.configure.dep: robot_model_py.install \
	robot_capsule_urdf.checkout
307
308
309
310
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
311
test-hpp.configure.dep: hpp-wholebody-step.install \
312
	hpp-gepetto-viewer.install hpp-hrp2.install test-hpp.checkout
313
hpp_tutorial.configure.dep: hpp-gepetto-viewer.install \
314
	hpp-manipulation-corba.install hpp_tutorial.checkout
315
hpp_benchmark.configure.dep: hpp_tutorial.install hpp_benchmark.checkout
316
collada-dom.configure.dep: collada-dom.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
317
318
osg-dae.configure.dep: collada-dom.install \
	osg-dae.checkout
319
320
OpenSceneGraph-3.4.0.configure.dep: collada-dom.install \
	OpenSceneGraph-3.4.0.checkout
321
gepetto-viewer.configure.dep: pythonqt.install gepetto-viewer.checkout
322
gepetto-viewer-corba.configure.dep: gepetto-viewer.install \
323
	pythonqt.install gepetto-viewer-corba.checkout
324
hpp-gepetto-viewer.configure.dep: gepetto-viewer-corba.install \
Florent Lamiraux's avatar
Florent Lamiraux committed
325
	hpp-corbaserver.install \
326
	hpp-gepetto-viewer.checkout
327
hpp-gui.configure.dep: hpp-gui.checkout
328
universal_robot.configure.dep: universal_robot.checkout
329
hpp-universal-robot.configure.dep: example-robot-data.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
330
	hpp-universal-robot.checkout
331
example-robot-data.configure.dep: example-robot-data.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
332
hpp-environments.configure.dep: hpp-environments.checkout
333
334
hpp-baxter.configure.dep: hpp-baxter.checkout
hpp_romeo.configure.dep: hpp_romeo.checkout
335
336
337
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
338
339
340
anymal-rbprm.configure.dep: anymal-rbprm.checkout
hyq-rbprm.configure.dep: hyq-rbprm.checkout
simple-humanoid-rbprm.configure.dep: simple-humanoid-rbprm.checkout
341
342
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
343
	anymal-rbprm.install hyq-rbprm.install talos-rbprm.install simple-humanoid-rbprm.install \
344
	hpp-affordance.install ndcurves.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
345
	hpp-bezier-com-traj.install hpp-rbprm.checkout
346
347
348
349
hpp-rbprm-robot-data.configure.dep: hpp-rbprm-robot-data.checkout
hpp-rbprm-corba.configure.dep: hpp-rbprm.install hpp-affordance-corba.install \
 hpp-corbaserver.install hpp-rbprm-robot-data.install hpp-rbprm-corba.checkout
hpp-centroidal-dynamics.configure.dep: eigenpy.install hpp-centroidal-dynamics.checkout
350
351
hpp-bezier-com-traj.configure.dep: hpp-centroidal-dynamics.install ndcurves.install hpp-bezier-com-traj.checkout
ndcurves.configure.dep: ndcurves.checkout
352
eigenpy.configure.dep: eigenpy.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
353
hpp-tools.configure.dep: hpp-tools.checkout
354

355
356
357
358
# }}}
##################################
# {{{ Targets

359
status:
360
361
362
	@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
363
		${MAKE} "$$child_dir".status; \
364
	done
365

Florent Lamiraux's avatar
Florent Lamiraux committed
366
367
368
369
370
371
372
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

373
374
375
376
377
378
379
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

380
update:
381
382
383
384
385
	@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
386
387
388

%.checkout:
	if [ -d $(@:.checkout=) ]; then \
389
		echo "$(@:.checkout=) already checkout out."; \
Florent Lamiraux's avatar
Florent Lamiraux committed
390
	else \
Florent Lamiraux's avatar
Florent Lamiraux committed
391
		git clone ${GIT_QUIET} --recursive -b ${$(@:.checkout=)_branch} ${$(@:.checkout=)_repository}/$(@:.checkout=); \
Florent Lamiraux's avatar
Florent Lamiraux committed
392
393
	fi \

394
395
396
397
398
399
%.fetch:
	if [ "${$(@:.fetch=)_repository}" = "" ]; then \
		echo "$(@:.fetch=) is not referenced"; \
	else \
		cd ${SRC_DIR}/$(@:.fetch=);\
		git fetch ${GIT_QUIET} origin; \
400
		git fetch ${GIT_QUIET} origin --tags; \
401
402
	fi

Florent Lamiraux's avatar
Florent Lamiraux committed
403
%.update:
404
405
406
407
408
409
410
	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;\
411
		git fetch origin --tags;\
Florent Lamiraux's avatar
Florent Lamiraux committed
412
413
414
		git checkout -q --detach;\
		git branch -f ${$(@:.update=)_branch} origin/${$(@:.update=)_branch};\
		git checkout -q ${$(@:.update=)_branch};\
415
416
417
		git submodule update; \
	fi

Florent Lamiraux's avatar
Florent Lamiraux committed
418

419
420
%.configure.dep: %.checkout

Florent Lamiraux's avatar
Florent Lamiraux committed
421
422
%.configure: %.configure.dep
	${MAKE} $(@:.configure=).configure_nodep
423

Florent Lamiraux's avatar
Florent Lamiraux committed
424
425
426
%.configure_nodep:%.checkout
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
427
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
Guilhem Saurel's avatar
Guilhem Saurel committed
428
			-DENFORCE_MINIMAL_CXX_STANDARD=ON \
429
430
431
			-DINSTALL_DOCUMENTATION=${INSTALL_DOCUMENTATION} \
			-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g -O3 -DNDEBUG" \
			${$(@:.configure_nodep=)_extra_flags} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
432

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

Florent Lamiraux's avatar
Florent Lamiraux committed
436
437
%.install_nodep:%.configure_nodep
	${MAKE} -C ${SRC_DIR}/$(@:.install_nodep=)/${BUILD_FOLDER} install
Florent Lamiraux's avatar
Florent Lamiraux committed
438
439

%.uninstall:
440
	${MAKE} -C ${SRC_DIR}/$(@:.uninstall=)/${BUILD_FOLDER} uninstall
Florent Lamiraux's avatar
Florent Lamiraux committed
441
442

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

445
%.very-clean:
446
	rm -rf ${SRC_DIR}/$(@:.very-clean=)/${BUILD_FOLDER}/*
447

Florent Lamiraux's avatar
Florent Lamiraux committed
448
%.status:
Florent Lamiraux's avatar
Florent Lamiraux committed
449
450
451
452
	@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
453

Florent Lamiraux's avatar
Florent Lamiraux committed
454
455
456
457
458
459
460
%.log:
	@cd ${SRC_DIR}/$(@:.log=); \
	if [ -f .git/refs/heads/${$(@:.log=)_branch} ]; then \
		echo -n "$(@:.log=): "; \
		cat .git/refs/heads/${$(@:.log=)_branch}; \
	fi

461
462
463
464
465
466
467
468
469
OpenSceneGraph-3.4.0.checkout:
	if [ -d $(@:.checkout=) ]; then \
		echo "$(@:.checkout=) already checkout out."; \
	else \
		wget http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.4.0/source/OpenSceneGraph-3.4.0.zip;\
		cd ${SRC_DIR}; unzip OpenSceneGraph-3.4.0.zip;\
		rm -f OpenSceneGraph-3.4.0.zip;\
	fi

470
robot_model_py.configure: robot_model_py.configure.dep
Florent Lamiraux's avatar
Florent Lamiraux committed
471
	cd ${SRC_DIR}/$(@:.configure=)/xml_reflection;\
472
473
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
474
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
475
	cd ${SRC_DIR}/$(@:.configure=)/urdf_parser_py;\
476
477
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
478
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Marine Heckler's avatar
Marine Heckler committed
479

Florent Lamiraux's avatar
Florent Lamiraux committed
480
robot_model_py.install: robot_model_py.configure
481
482
	${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
483
484
485
486

universal_robot.configure_nodep:
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
487
	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
488
489
490
491
492
493
494
495

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
496

497
498
499
# }}}

# vim: foldmethod=marker foldlevel=0