Makefile 17.5 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
Florent Lamiraux's avatar
Florent Lamiraux committed
11
RETHINK_ROBOTICS_REPO=https://github.com/RethinkRobotics
12
TRAC_REPO=ssh://trac.laas.fr/git/jrl/robots/ros-hrp2
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

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

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

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

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

42
43
44
##################################
# {{{ Dependencies

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

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

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

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

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

63
64
65
66
67
68
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}
69

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

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

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

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

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

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

91
hpp-wholebody-step-corba_branch=${HPP_VERSION}
Florent Lamiraux's avatar
Florent Lamiraux committed
92
93
hpp-wholebody-step-corba_repository=${HPP_REPO}

Joseph Mirabel's avatar
Joseph Mirabel committed
94
hpp-doc_branch=${HPP_VERSION}
95
hpp-doc_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
96

97
hpp-manipulation_branch=${HPP_VERSION}
98
hpp-manipulation_repository=${HPP_REPO}
99

100
hpp-manipulation-urdf_branch=${HPP_VERSION}
101
hpp-manipulation-urdf_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
102

103
hpp-manipulation-corba_branch=${HPP_VERSION}
104
hpp-manipulation-corba_repository=${HPP_REPO}
105

106
107
108
109
110
111
112
ifeq (${HUMANOID}, TRUE)
  hpp-manipulation_extra_flags=-DHPP_MANIPULATION_HAS_WHOLEBODY_STEP=TRUE
  hpp-manipulation-corba_extra_flags=-DHPP_MANIPULATION_HAS_WHOLEBODY_STEP=TRUE
else
  hpp-manipulation_extra_flags=-DHPP_MANIPULATION_HAS_WHOLEBODY_STEP=FALSE
  hpp-manipulation-corba_extra_flags=-DHPP_MANIPULATION_HAS_WHOLEBODY_STEP=FALSE
endif
113

114
hpp_tutorial_branch=${HPP_VERSION}
115
hpp_tutorial_repository=${HPP_REPO}
116

117
118
hpp-gepetto-viewer_branch=${HPP_VERSION}
hpp-gepetto-viewer_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
119

120
121
hpp-plot_branch=${HPP_VERSION}
hpp-plot_repository=${HPP_REPO}
122

123
124
hpp-gui_branch=${HPP_VERSION}
hpp-gui_repository=${HPP_REPO}
125

126
127
128
# }}}
##################################
# {{{ Robot specific package + test packages
129

130
hrp2-14-description_branch=devel
131
hrp2-14-description_repository=${TRAC_REPO}
132

133
hpp-hrp2_branch=devel
134
hpp-hrp2_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
135

136
137
robot_capsule_urdf_branch=groovy
robot_capsule_urdf_repository=${LAAS_REPO}
138

139
140
robot_model_py_branch=groovy
robot_model_py_repository=${LAAS_REPO}
141

142
iai_maps_branch=devel
143
144
145
146
iai_maps_repository=${HPP_REPO}

hpp_benchmark_branch=master
hpp_benchmark_repository=${HPP_REPO}
147

148
hpp-environments_branch=devel
149
150
hpp-environments_repository=${HPP_REPO}

151
universal_robot_branch=kinetic
Florent Lamiraux's avatar
Florent Lamiraux committed
152
153
universal_robot_repository=${HPP_REPO}

154
hpp_universal_robot_branch=devel
155
hpp_universal_robot_repository=${HPP_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
156

Florent Lamiraux's avatar
Florent Lamiraux committed
157
baxter_common_branch=master
158
baxter_common_repository=${RETHINK_ROBOTICS_REPO}
Florent Lamiraux's avatar
Florent Lamiraux committed
159

160
161
162
hpp-baxter_branch=master
hpp-baxter_repository=${HPP_REPO}

Florent Lamiraux's avatar
Florent Lamiraux committed
163
164
165
166
167
168
hpp_romeo_branch=master
hpp_romeo_repository=${HPP_REPO}

romeo_branch=master
romeo_repository=${HPP_REPO}

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

# }}}
##################################
# {{{ 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}

207
208
209
210
211
212
213
214
215
216
# }}}
##################################
# {{{ 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
217
osg-dae_extra_flags= -DCOLLADA_DYNAMIC_LIBRARY=${INSTALL_HPP_DIR}/lib/libcollada14dom.so -DCOLLADA_INCLUDE_DIR=${INSTALL_HPP_DIR}/include/collada-dom
218
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=""
219

220
gepetto-viewer_branch=devel
221
gepetto-viewer_repository=${GEPETTO_REPO}
Joseph Mirabel's avatar
Joseph Mirabel committed
222

223
gepetto-viewer-corba_branch=devel
224
225
226
gepetto-viewer-corba_repository=${GEPETTO_REPO}
ifeq (${QT_VERSION}, 5)
  gepetto-viewer-corba_extra_flags= -DUSE_QT4=OFF
227
228
else
  gepetto-viewer-corba_extra_flags= -DUSE_QT4=ON
Florent Lamiraux's avatar
Florent Lamiraux committed
229
230
endif

231
232
233
234
pythonqt_branch=qt${QT_VERSION}
pythonqt_repository=${HPP_REPO}
pythonqt_extra_flags= -DPythonQt_Wrap_QtAll=ON -DPythonQt_Extensions=ON

235
qgv_branch=devel
236
237
238
239
240
241
qgv_repository=${HPP_REPO}

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

242
all: hpp_tutorial.install hpp-gepetto-viewer.install
243
	${MAKE} hpp-doc.install
Florent Lamiraux's avatar
Florent Lamiraux committed
244

245
246
247
# For test on gepgitlab, install robot packages first
test-ci: baxter_common.install romeo.install universal_robot.install \
	hpp-environments.install
248
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install hpp-rbprm-corba.install \
249
	hpp_universal_robot.install && \
250
251
252
253
	${MAKE} hpp-doc.install

# For benchmark, install robot packages first
benchmark: baxter_common.install romeo.install universal_robot.install \
254
	hpp-environments.install hrp2-14-description.install
255
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install; \
256
	${MAKE} hpp-baxter.install hpp_romeo.install \
257
	hpp_universal_robot.install hpp-plot.install hpp-gui.install; \
258
	${MAKE} hpp_benchmark.checkout; \
259
	${MAKE} hpp-doc.install
260

261
262
263
264
rbprm: hpp-rbprm-corba.install hpp-gepetto-viewer.install
	${MAKE} hpp-doc.install


265
266
267
268
# }}}
##################################
# {{{ Dependencies declaration

269
hpp-doc.configure.dep: hpp-doc.checkout
270
hpp-fcl.configure.dep: hpp-fcl.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
271
hpp-walkgen.configure.dep: hpp-util.install hpp-core.install \
272
	hpp-walkgen.checkout
273
274
hpp-util.configure.dep: hpp-util.checkout
hpp-model-urdf.configure.dep: hpp-model.install hpp-model-urdf.checkout
275
pinocchio.configure.dep: hpp-fcl.install pinocchio.checkout
276
277
hpp-pinocchio.configure.dep: pinocchio.install hpp-util.install \
	hpp-pinocchio.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
278
hpp-statistics.configure.dep: hpp-util.install hpp-statistics.checkout
279
280
hpp-core.configure.dep: hpp-constraints.install hpp-statistics.install \
	hpp-core.checkout
Guilhem Saurel's avatar
Guilhem Saurel committed
281
hpp-constraints.configure.dep: hpp-pinocchio.install hpp-statistics.install \
282
	hpp-constraints.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
283
hpp-wholebody-step.configure.dep: hpp-constraints.install hpp-walkgen.install \
284
	hpp-wholebody-step.checkout
285
286
287
288
289
290
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 \
	hpp-wholebody-step-corba.install hpp-manipulation.install \
	hpp-manipulation-corba.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
291
292
293
hpp-plot.configure.dep: hpp-corbaserver.install hpp-manipulation-corba.install \
	hpp-wholebody-step-corba.install qgv.install \
	hpp-plot.checkout
294
else
295
hpp-manipulation.configure.dep: hpp-core.install hpp-constraints.install \
Florent Lamiraux's avatar
Florent Lamiraux committed
296
	hpp-manipulation.checkout
297
hpp-manipulation-corba.configure.dep: hpp-manipulation-urdf.install \
298
299
	hpp-manipulation.install hpp-corbaserver.install \
	hpp-template-corba.install hpp-manipulation-corba.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
300
301
hpp-plot.configure.dep: hpp-corbaserver.install hpp-manipulation-corba.install \
	qgv.install hpp-plot.checkout
302
endif
303
hpp-manipulation-urdf.configure.dep:hpp-manipulation.install \
304
305
	hpp-manipulation-urdf.checkout
hpp-corbaserver.configure.dep: hpp-core.install \
306
307
308
309
310
	hpp-constraints.install hpp-corbaserver.checkout
hpp-wholebody-step-corba.configure.dep: hpp-corbaserver.install \
	hpp-wholebody-step.install hpp-template-corba.install \
	hpp-wholebody-step-corba.checkout
hpp-template-corba.configure.dep: hpp-util.install hpp-template-corba.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
311
312
qgv.configure.dep: qgv.checkout
pythonqt.configure.dep: pythonqt.checkout
313
314
315
robot_model_py.configure.dep: robot_model_py.checkout
robot_capsule_urdf.configure.dep: robot_model_py.install \
	robot_capsule_urdf.checkout
316
317
318
319
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
320
test-hpp.configure.dep: hpp-wholebody-step-corba.install \
321
	hpp-gepetto-viewer.install hpp-hrp2.install test-hpp.checkout
322
iai_maps.configure.dep: iai_maps.checkout
323
hpp_tutorial.configure.dep: hpp-gepetto-viewer.install iai_maps.install \
324
	hpp-manipulation-corba.install hpp_tutorial.checkout
325
hpp_benchmark.configure.dep: hpp_benchmark.checkout
326
collada-dom.configure.dep: collada-dom.checkout
Joseph Mirabel's avatar
Joseph Mirabel committed
327
328
osg-dae.configure.dep: collada-dom.install \
	osg-dae.checkout
329
330
331
OpenSceneGraph-3.4.0.configure.dep: collada-dom.install \
	OpenSceneGraph-3.4.0.checkout
gepetto-viewer.configure.dep: ${OSG_PACKAGE}.install \
332
333
	gepetto-viewer.checkout
gepetto-viewer-corba.configure.dep: gepetto-viewer.install \
334
	pythonqt.install gepetto-viewer-corba.checkout
335
hpp-gepetto-viewer.configure.dep: gepetto-viewer-corba.install \
Florent Lamiraux's avatar
Florent Lamiraux committed
336
	hpp-corbaserver.install \
337
	hpp-gepetto-viewer.checkout
338
hpp-gui.configure.dep: hpp-gui.checkout
339
universal_robot.configure.dep: universal_robot.checkout
340
341
hpp_universal_robot.configure.dep: universal_robot.install \
	hpp_universal_robot.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
342
hpp-environments.configure.dep: hpp-environments.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
343
baxter_common.configure.dep: baxter_common.checkout
344
hpp-baxter.configure.dep: baxter_common.install hpp-baxter.checkout
Florent Lamiraux's avatar
Florent Lamiraux committed
345
346
hpp_romeo.configure.dep: romeo.install hpp_romeo.checkout
romeo.configure.dep: romeo.checkout
347
348
349
350
351
352
353
354
355
356
357
358
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
359

360
361
362
363
# }}}
##################################
# {{{ Targets

364
status:
365
366
367
	@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
368
		${MAKE} "$$child_dir".status; \
369
	done
370

Florent Lamiraux's avatar
Florent Lamiraux committed
371
372
373
374
375
376
377
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

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

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

%.update:
393
394
395
396
397
398
399
	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
400
401
402
		git checkout -q --detach;\
		git branch -f ${$(@:.update=)_branch} origin/${$(@:.update=)_branch};\
		git checkout -q ${$(@:.update=)_branch};\
403
404
405
		git submodule update; \
	fi

Florent Lamiraux's avatar
Florent Lamiraux committed
406

Florent Lamiraux's avatar
Florent Lamiraux committed
407
408
%.configure: %.configure.dep
	${MAKE} $(@:.configure=).configure_nodep
409

Florent Lamiraux's avatar
Florent Lamiraux committed
410
411
412
%.configure_nodep:%.checkout
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
413
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
414
415
416
			-DINSTALL_DOCUMENTATION=${INSTALL_DOCUMENTATION} \
			-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g -O3 -DNDEBUG" \
			${$(@:.configure_nodep=)_extra_flags} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
417

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

Florent Lamiraux's avatar
Florent Lamiraux committed
421
422
%.install_nodep:%.configure_nodep
	${MAKE} -C ${SRC_DIR}/$(@:.install_nodep=)/${BUILD_FOLDER} install
Florent Lamiraux's avatar
Florent Lamiraux committed
423
424

%.uninstall:
425
	${MAKE} -C ${SRC_DIR}/$(@:.uninstall=)/${BUILD_FOLDER} uninstall
Florent Lamiraux's avatar
Florent Lamiraux committed
426
427

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

430
%.very-clean:
431
	rm -rf ${SRC_DIR}/$(@:.very-clean=)/${BUILD_FOLDER}/*
432

Florent Lamiraux's avatar
Florent Lamiraux committed
433
%.status:
Florent Lamiraux's avatar
Florent Lamiraux committed
434
435
436
437
	@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
438

Florent Lamiraux's avatar
Florent Lamiraux committed
439
440
441
442
443
444
445
%.log:
	@cd ${SRC_DIR}/$(@:.log=); \
	if [ -f .git/refs/heads/${$(@:.log=)_branch} ]; then \
		echo -n "$(@:.log=): "; \
		cat .git/refs/heads/${$(@:.log=)_branch}; \
	fi

446
447
448
449
450
451
452
453
454
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

455
robot_model_py.configure: robot_model_py.configure.dep
Florent Lamiraux's avatar
Florent Lamiraux committed
456
	cd ${SRC_DIR}/$(@:.configure=)/xml_reflection;\
457
458
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
459
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
460
	cd ${SRC_DIR}/$(@:.configure=)/urdf_parser_py;\
461
462
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
463
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Marine Heckler's avatar
Marine Heckler committed
464

Florent Lamiraux's avatar
Florent Lamiraux committed
465
robot_model_py.install: robot_model_py.configure
466
467
	${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
468
469
470
471

universal_robot.configure_nodep:
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
472
	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
473
474
475
476
477
478
479
480

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
481
482
483
484

baxter_common.configure_nodep:
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/baxter_description/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/baxter_description/${BUILD_FOLDER}; \
485
	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
486
487
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/rethink_ee_description/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/rethink_ee_description/${BUILD_FOLDER}; \
488
	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
489
490
491
492
493
494
495
496
497
498
499
500
501
502

baxter_common.install_nodep:baxter_common.configure_nodep
	cd ${SRC_DIR}/$(@:.install_nodep=)/baxter_description/${BUILD_FOLDER};\
	make install; \
	cd ${SRC_DIR}/$(@:.install_nodep=)/rethink_ee_description/${BUILD_FOLDER};\
	make install

baxter_common.install:baxter_common.configure
	cd ${SRC_DIR}/$(@:.install=)/baxter_description/${BUILD_FOLDER};\
	make install; \
	cd ${SRC_DIR}/$(@:.install=)/rethink_ee_description/${BUILD_FOLDER};\
	make install

romeo.configure: romeo.configure.dep
503
	. ${INSTALL_HPP_DIR}/setup.sh; \
Florent Lamiraux's avatar
Florent Lamiraux committed
504
505
506
	cd ${SRC_DIR}/romeo/romeo_description;\
	mkdir -p ${BUILD_FOLDER}; \
	cd ${SRC_DIR}/romeo/romeo_description/${BUILD_FOLDER}; \
507
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
508
509
510

romeo.install: romeo.configure
	${MAKE} -C ${SRC_DIR}/romeo/romeo_description/${BUILD_FOLDER} install
511
512
513
514

# }}}

# vim: foldmethod=marker foldlevel=0