Makefile 15.2 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
Florent Lamiraux's avatar
Florent Lamiraux committed
12

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

Florent Lamiraux's avatar
Florent Lamiraux committed
18
19
20
# Whether to compute humanoid specific part
HUMANOID=TRUE

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

Joseph Mirabel's avatar
Joseph Mirabel committed
30
OSG_PACKAGE=osg-dae
31
#OSG_PACKAGE=OpenSceneGraph-3.4.0
32

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

41
42
43
##################################
# {{{ Dependencies

44
pinocchio_branch=v2.1.0
45
46
pinocchio_repository=${SOT_REPO}
pinocchio_extra_flags= -DBUILD_PYTHON_INTERFACE=OFF -DBUILD_UNIT_TESTS=OFF
Florent Lamiraux's avatar
Florent Lamiraux committed
47

48
hpp-template-corba_branch=v1.1.5
49
hpp-template-corba_repository=${HPP_REPO}
50

51
52
53
# }}}
##################################
# {{{ Packages supporting HPP_VERSION
54

55
# Either a version tag (e.g. v4.3.0), master or devel
56
HPP_VERSION=devel
57
58
59
HPP_EXTRA_FLAGS=-DDISABLE_TESTS=${DISABLE_TESTS}

hpp-util_branch=${HPP_VERSION}
Florent Lamiraux's avatar
Florent Lamiraux committed
60
61
hpp-util_repository=${HPP_REPO}

62
63
64
65
66
67
hpp-fcl_branch=${HPP_VERSION}
hpp-fcl_repository=${HPP_REPO}
hpp-fcl_extra_flags= -DCMAKE_BUILD_TYPE=Release

hpp-statistics_branch=${HPP_VERSION}
hpp-statistics_repository=${HPP_REPO}
68

69
hpp-pinocchio_branch=${HPP_VERSION}
70
hpp-pinocchio_repository=${HPP_REPO}
71
hpp-pinocchio_extra_flags=${HPP_EXTRA_FLAGS}
72

73
74
75
hpp-constraints_branch=${HPP_VERSION}
hpp-constraints_repository=${HPP_REPO}
hpp-constraints_extra_flags=${HPP_EXTRA_FLAGS}
76

77
hpp-core_branch=${HPP_VERSION}
78
hpp-core_repository=${HPP_REPO}
79
hpp-core_extra_flags=${HPP_EXTRA_FLAGS}
Florent Lamiraux's avatar
Florent Lamiraux committed
80

81
hpp-corbaserver_branch=${HPP_VERSION}
82
hpp-corbaserver_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
83

84
hpp-walkgen_branch=${HPP_VERSION}
Joseph Mirabel's avatar
Joseph Mirabel committed
85
86
hpp-walkgen_repository=${HPP_REPO}

87
hpp-wholebody-step_branch=${HPP_VERSION}
Florent Lamiraux's avatar
Florent Lamiraux committed
88
89
hpp-wholebody-step_repository=${HPP_REPO}

Joseph Mirabel's avatar
Joseph Mirabel committed
90
hpp-doc_branch=${HPP_VERSION}
91
hpp-doc_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
92

93
hpp-manipulation_branch=${HPP_VERSION}
94
hpp-manipulation_repository=${HPP_REPO}
95

96
hpp-manipulation-urdf_branch=${HPP_VERSION}
97
hpp-manipulation-urdf_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
98

99
hpp-manipulation-corba_branch=${HPP_VERSION}
100
hpp-manipulation-corba_repository=${HPP_REPO}
101

102
103
104
105
106
ifeq (${HUMANOID}, TRUE)
  hpp-manipulation_extra_flags=-DHPP_MANIPULATION_HAS_WHOLEBODY_STEP=TRUE
else
  hpp-manipulation_extra_flags=-DHPP_MANIPULATION_HAS_WHOLEBODY_STEP=FALSE
endif
107

108
hpp_tutorial_branch=${HPP_VERSION}
109
hpp_tutorial_repository=${HPP_REPO}
110

111
112
hpp-gepetto-viewer_branch=${HPP_VERSION}
hpp-gepetto-viewer_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
113

114
115
hpp-plot_branch=${HPP_VERSION}
hpp-plot_repository=${HPP_REPO}
116

117
118
hpp-gui_branch=${HPP_VERSION}
hpp-gui_repository=${HPP_REPO}
119

120
121
122
# }}}
##################################
# {{{ Robot specific package + test packages
123

124
hrp2-14-description_branch=devel
125
hrp2-14-description_repository=${TRAC_REPO}
126

127
hpp-hrp2_branch=devel
128
hpp-hrp2_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
129

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

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

136
iai_maps_branch=devel
137
138
139
140
iai_maps_repository=${HPP_REPO}

hpp_benchmark_branch=master
hpp_benchmark_repository=${HPP_REPO}
141

142
hpp-environments_branch=devel
143
144
hpp-environments_repository=${HPP_REPO}

145
universal_robot_branch=kinetic
Florent Lamiraux's avatar
Florent Lamiraux committed
146
147
universal_robot_repository=${HPP_REPO}

148
hpp_universal_robot_branch=devel
149
hpp_universal_robot_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
150

151
152
153
hpp-baxter_branch=master
hpp-baxter_repository=${HPP_REPO}

Florent Lamiraux's avatar
Florent Lamiraux committed
154
155
156
hpp_romeo_branch=master
hpp_romeo_repository=${HPP_REPO}

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

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

hpp-affordance_branch=${HPP_VERSION}
hpp-affordance_repository=${HPP_REPO}
hpp-affordance_extra_flags=${HPP_EXTRA_FLAGS}

hpp-affordance-corba_branch=${HPP_VERSION}
hpp-affordance-corba_repository=${HPP_REPO}
hpp-affordance-corba_extra_flags=${HPP_EXTRA_FLAGS}

hpp-rbprm_branch=devel
hpp-rbprm_repository=${HPP_REPO}
hpp-rbprm_extra_flags=${HPP_EXTRA_FLAGS}

hpp-rbprm-robot-data_branch=master
hpp-rbprm-robot-data_repository=${HPP_REPO}

hpp-rbprm-corba_branch=devel
hpp-rbprm-corba_repository=${HPP_REPO}
hpp-rbprm-corba_extra_flags=${HPP_EXTRA_FLAGS}

hpp-centroidal-dynamics_branch=master
hpp-centroidal-dynamics_repository=${HPP_REPO}

hpp-bezier-com-traj_branch=master
hpp-bezier-com-traj_repository=${HPP_REPO}
hpp-bezier-com-traj_extra_flags= -DBUILD_PYTHON_INTERFACE=ON

hpp-spline_branch=master
hpp-spline_repository=${HPP_REPO}
hpp-spline_extra_flags= -DBUILD_PYTHON_INTERFACE=ON

eigenpy_branch=master
eigenpy_repository=${SOT_REPO}

195
196
197
198
199
200
201
202
203
204
# }}}
##################################
# {{{ 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
205
osg-dae_extra_flags= -DCOLLADA_DYNAMIC_LIBRARY=${INSTALL_HPP_DIR}/lib/libcollada14dom.so -DCOLLADA_INCLUDE_DIR=${INSTALL_HPP_DIR}/include/collada-dom
206
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=""
207

208
gepetto-viewer_branch=devel
209
gepetto-viewer_repository=${GEPETTO_REPO}
Joseph Mirabel's avatar
Joseph Mirabel committed
210

211
gepetto-viewer-corba_branch=devel
212
213
214
gepetto-viewer-corba_repository=${GEPETTO_REPO}
ifeq (${QT_VERSION}, 5)
  gepetto-viewer-corba_extra_flags= -DUSE_QT4=OFF
215
216
else
  gepetto-viewer-corba_extra_flags= -DUSE_QT4=ON
Florent Lamiraux's avatar
Florent Lamiraux committed
217
218
endif

219
pythonqt_branch=qt${QT_VERSION}
220
pythonqt_repository=${GEPETTO_REPO}
221
222
pythonqt_extra_flags= -DPythonQt_Wrap_QtAll=ON -DPythonQt_Extensions=ON

223
qgv_branch=devel
224
qgv_repository=${HPP_REPO}
Joseph Mirabel's avatar
Joseph Mirabel committed
225
226
227
228
229
ifeq (${QT_VERSION}, 5)
	qgv_extra_flags=-DBINDINGS_QT5=ON -DBINDINGS_QT4=OFF
else
	qgv_extra_flags=-DBINDINGS_QT5=OFF -DBINDINGS_QT4=ON
endif
230
231
232
233
234

# }}}
##################################
# {{{ High-level targets

235
all: hpp_tutorial.install hpp-gepetto-viewer.install
236
	${MAKE} hpp-doc.install
Florent Lamiraux's avatar
Florent Lamiraux committed
237

238
# For test on gepgitlab, install robot packages first
239
test-ci: universal_robot.install  hpp-environments.install
240
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install hpp-rbprm-corba.install \
241
	hpp_universal_robot.install && \
242
243
244
	${MAKE} hpp-doc.install

# For benchmark, install robot packages first
245
benchmark: universal_robot.install \
246
	hpp-environments.install hrp2-14-description.install
247
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install; \
248
	${MAKE} hpp-baxter.install hpp_romeo.install \
249
	hpp_universal_robot.install hpp-plot.install hpp-gui.install; \
250
	${MAKE} hpp_benchmark.checkout; \
251
	${MAKE} hpp-doc.install
252

253
254
255
256
rbprm: hpp-rbprm-corba.install hpp-gepetto-viewer.install
	${MAKE} hpp-doc.install


257
258
259
260
# }}}
##################################
# {{{ Dependencies declaration

261
hpp-doc.configure.dep: hpp-doc.checkout
262
hpp-fcl.configure.dep: hpp-fcl.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
263
hpp-walkgen.configure.dep: hpp-util.install hpp-core.install \
264
	hpp-walkgen.checkout
265
266
hpp-util.configure.dep: hpp-util.checkout
hpp-model-urdf.configure.dep: hpp-model.install hpp-model-urdf.checkout
267
pinocchio.configure.dep: hpp-fcl.install pinocchio.checkout
268
269
hpp-pinocchio.configure.dep: pinocchio.install hpp-util.install \
	hpp-pinocchio.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
270
hpp-statistics.configure.dep: hpp-util.install hpp-statistics.checkout
271
272
hpp-core.configure.dep: hpp-constraints.install hpp-statistics.install \
	hpp-core.checkout
Guilhem Saurel's avatar
Guilhem Saurel committed
273
hpp-constraints.configure.dep: hpp-pinocchio.install hpp-statistics.install \
274
	hpp-constraints.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
275
hpp-wholebody-step.configure.dep: hpp-constraints.install hpp-walkgen.install \
276
	hpp-wholebody-step.checkout
277
278
279
280
ifeq (${HUMANOID}, TRUE)
hpp-manipulation.configure.dep: hpp-core.install hpp-constraints.install \
	hpp-wholebody-step.install hpp-manipulation.checkout
hpp-manipulation-corba.configure.dep: hpp-manipulation-urdf.install \
281
	hpp-manipulation.install hpp-manipulation-corba.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
282
hpp-plot.configure.dep: hpp-corbaserver.install hpp-manipulation-corba.install \
283
	qgv.install hpp-plot.checkout
284
else
285
hpp-manipulation.configure.dep: hpp-core.install hpp-constraints.install \
Florent Lamiraux's avatar
Florent Lamiraux committed
286
	hpp-manipulation.checkout
287
hpp-manipulation-corba.configure.dep: hpp-manipulation-urdf.install \
288
289
	hpp-manipulation.install hpp-corbaserver.install \
	hpp-template-corba.install hpp-manipulation-corba.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
290
291
hpp-plot.configure.dep: hpp-corbaserver.install hpp-manipulation-corba.install \
	qgv.install hpp-plot.checkout
292
endif
293
hpp-manipulation-urdf.configure.dep:hpp-manipulation.install \
294
295
	hpp-manipulation-urdf.checkout
hpp-corbaserver.configure.dep: hpp-core.install \
296
297
	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
298
299
qgv.configure.dep: qgv.checkout
pythonqt.configure.dep: pythonqt.checkout
300
301
302
robot_model_py.configure.dep: robot_model_py.checkout
robot_capsule_urdf.configure.dep: robot_model_py.install \
	robot_capsule_urdf.checkout
303
304
305
306
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
307
test-hpp.configure.dep: hpp-wholebody-step.install \
308
	hpp-gepetto-viewer.install hpp-hrp2.install test-hpp.checkout
309
iai_maps.configure.dep: iai_maps.checkout
310
hpp_tutorial.configure.dep: hpp-gepetto-viewer.install iai_maps.install \
311
	hpp-manipulation-corba.install hpp_tutorial.checkout
312
hpp_benchmark.configure.dep: hpp_benchmark.checkout
313
collada-dom.configure.dep: collada-dom.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
314
315
osg-dae.configure.dep: collada-dom.install \
	osg-dae.checkout
316
317
OpenSceneGraph-3.4.0.configure.dep: collada-dom.install \
	OpenSceneGraph-3.4.0.checkout
318
gepetto-viewer.configure.dep: gepetto-viewer.checkout
319
gepetto-viewer-corba.configure.dep: gepetto-viewer.install \
320
	pythonqt.install gepetto-viewer-corba.checkout
321
hpp-gepetto-viewer.configure.dep: gepetto-viewer-corba.install \
Florent Lamiraux's avatar
Florent Lamiraux committed
322
	hpp-corbaserver.install \
323
	hpp-gepetto-viewer.checkout
324
hpp-gui.configure.dep: hpp-gui.checkout
325
universal_robot.configure.dep: universal_robot.checkout
326
327
hpp_universal_robot.configure.dep: universal_robot.install \
	hpp_universal_robot.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
328
hpp-environments.configure.dep: hpp-environments.checkout
329
330
hpp-baxter.configure.dep: hpp-baxter.checkout
hpp_romeo.configure.dep: hpp_romeo.checkout
331
332
333
334
335
336
337
338
339
340
341
342
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
hpp-rbprm.configure.dep: hpp-core.install hpp-centroidal-dynamics.install \
hpp-affordance.install hpp-spline.install hpp-bezier-com-traj.install hpp-rbprm.checkout
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
hpp-bezier-com-traj.configure.dep: hpp-centroidal-dynamics.install hpp-spline.install hpp-bezier-com-traj.checkout
hpp-spline.configure.dep: hpp-spline.checkout
eigenpy.configure.dep: eigenpy.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
343
hpp-tools.configure.dep: hpp-tools.checkout
344

345
346
347
348
# }}}
##################################
# {{{ Targets

349
status:
350
351
352
	@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
353
		${MAKE} "$$child_dir".status; \
354
	done
355

Florent Lamiraux's avatar
Florent Lamiraux committed
356
357
358
359
360
361
362
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

363
update:
364
365
366
367
368
	@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
369
370
371

%.checkout:
	if [ -d $(@:.checkout=) ]; then \
372
		echo "$(@:.checkout=) already checkout out."; \
Florent Lamiraux's avatar
Florent Lamiraux committed
373
	else \
Florent Lamiraux's avatar
Florent Lamiraux committed
374
		git clone ${GIT_QUIET} --recursive -b ${$(@:.checkout=)_branch} ${$(@:.checkout=)_repository}/$(@:.checkout=); \
Florent Lamiraux's avatar
Florent Lamiraux committed
375
376
377
	fi \

%.update:
378
379
380
381
382
383
384
	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;\
Florent Lamiraux's avatar
Florent Lamiraux committed
385
386
387
		git checkout -q --detach;\
		git branch -f ${$(@:.update=)_branch} origin/${$(@:.update=)_branch};\
		git checkout -q ${$(@:.update=)_branch};\
388
389
390
		git submodule update; \
	fi

Florent Lamiraux's avatar
Florent Lamiraux committed
391

Florent Lamiraux's avatar
Florent Lamiraux committed
392
393
%.configure: %.configure.dep
	${MAKE} $(@:.configure=).configure_nodep
394

Florent Lamiraux's avatar
Florent Lamiraux committed
395
396
397
%.configure_nodep:%.checkout
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
398
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
399
400
401
			-DINSTALL_DOCUMENTATION=${INSTALL_DOCUMENTATION} \
			-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g -O3 -DNDEBUG" \
			${$(@:.configure_nodep=)_extra_flags} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
402

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

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

%.uninstall:
410
	${MAKE} -C ${SRC_DIR}/$(@:.uninstall=)/${BUILD_FOLDER} uninstall
Florent Lamiraux's avatar
Florent Lamiraux committed
411
412

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

415
%.very-clean:
416
	rm -rf ${SRC_DIR}/$(@:.very-clean=)/${BUILD_FOLDER}/*
417

Florent Lamiraux's avatar
Florent Lamiraux committed
418
%.status:
Florent Lamiraux's avatar
Florent Lamiraux committed
419
420
421
422
	@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
423

Florent Lamiraux's avatar
Florent Lamiraux committed
424
425
426
427
428
429
430
%.log:
	@cd ${SRC_DIR}/$(@:.log=); \
	if [ -f .git/refs/heads/${$(@:.log=)_branch} ]; then \
		echo -n "$(@:.log=): "; \
		cat .git/refs/heads/${$(@:.log=)_branch}; \
	fi

431
432
433
434
435
436
437
438
439
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

440
robot_model_py.configure: robot_model_py.configure.dep
Florent Lamiraux's avatar
Florent Lamiraux committed
441
	cd ${SRC_DIR}/$(@:.configure=)/xml_reflection;\
442
443
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
444
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
445
	cd ${SRC_DIR}/$(@:.configure=)/urdf_parser_py;\
446
447
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
448
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Marine Heckler's avatar
Marine Heckler committed
449

Florent Lamiraux's avatar
Florent Lamiraux committed
450
robot_model_py.install: robot_model_py.configure
451
452
	${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
453
454
455
456

universal_robot.configure_nodep:
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
457
	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
458
459
460
461
462
463
464
465

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
466

467
468
469
# }}}

# vim: foldmethod=marker foldlevel=0