Makefile 17.1 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.2.3
45
pinocchio_repository=${SOT_REPO}
Guilhem Saurel's avatar
Guilhem Saurel committed
46
pinocchio_extra_flags= -DBUILD_PYTHON_INTERFACE=OFF -DBUILD_UNIT_TESTS=OFF -DBUILD_WITH_COLLISION_SUPPORT=ON
Florent Lamiraux's avatar
Florent Lamiraux committed
47

48
hpp-template-corba_branch=devel
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
hpp-fcl_branch=${HPP_VERSION}
63
hpp-fcl_repository=${HPP_REPO}
64
hpp-fcl_extra_flags= -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON_INTERFACE=OFF
65
66
67

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
hpp-constraints_branch=${HPP_VERSION}
74
hpp-constraints_repository=${HPP_REPO}
75
hpp-constraints_extra_flags=${HPP_EXTRA_FLAGS} -DUSE_QPOASES=OFF -DRUN_TESTS=OFF
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}
83
hpp-corbaserver_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
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
hpp-wholebody-step_repository=${HPP_REPO}
90
hpp-wholebody-step_extra_flags= -DRUN_TESTS=OFF
Florent Lamiraux's avatar
Florent Lamiraux committed
91

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

95
hpp-manipulation_branch=${HPP_VERSION}
96
hpp-manipulation_repository=${HPP_REPO}
97

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

101
hpp-manipulation-corba_branch=${HPP_VERSION}
102
hpp-manipulation-corba_repository=${HPP_REPO}
103
hpp-manipulation-corba_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
104

105
106
107
108
109
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
110

111
hpp_tutorial_branch=${HPP_VERSION}
112
hpp_tutorial_repository=${HPP_REPO}
113
hpp_tutorial_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
114

115
116
hpp-gepetto-viewer_branch=${HPP_VERSION}
hpp-gepetto-viewer_repository=${HPP_REPO}
117
hpp-gepetto-viewer_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
Florent Lamiraux's avatar
Florent Lamiraux committed
118

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

122
123
hpp-gui_branch=${HPP_VERSION}
hpp-gui_repository=${HPP_REPO}
124
hpp-gui_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
125

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

130
131
example-robot-data_branch=devel
example-robot-data_repository=${GEPETTO_REPO}
132
example-robot-data_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_PYTHON_INTERFACE=OFF
133

134
hrp2-14-description_branch=master
135
hrp2-14-description_repository=${TRAC_REPO}
136

137
hpp-hrp2_branch=devel
138
hpp-hrp2_repository=${HPP_REPO}
139
hpp-hrp2_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
Florent Lamiraux's avatar
Florent Lamiraux committed
140

141
142
robot_capsule_urdf_branch=groovy
robot_capsule_urdf_repository=${LAAS_REPO}
143

144
145
robot_model_py_branch=groovy
robot_model_py_repository=${LAAS_REPO}
146

147
iai_maps_branch=devel
148
149
150
151
iai_maps_repository=${HPP_REPO}

hpp_benchmark_branch=master
hpp_benchmark_repository=${HPP_REPO}
152

Guilhem Saurel's avatar
Guilhem Saurel committed
153
hpp-environments_branch=${HPP_VERSION}
154
hpp-environments_repository=${HPP_REPO}
155
hpp-environments_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
156

157
universal_robot_branch=kinetic
Florent Lamiraux's avatar
Florent Lamiraux committed
158
159
universal_robot_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
160
161
hpp-universal-robot_branch=${HPP_VERSION}
hpp-universal-robot_repository=${HPP_REPO}
162
hpp-universal-robot_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
Florent Lamiraux's avatar
Florent Lamiraux committed
163

Guilhem Saurel's avatar
Guilhem Saurel committed
164
hpp-baxter_branch=${HPP_VERSION}
165
hpp-baxter_repository=${HPP_REPO}
166
hpp-baxter_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
167

Guilhem Saurel's avatar
Guilhem Saurel committed
168
hpp_romeo_branch=${HPP_VERSION}
Florent Lamiraux's avatar
Florent Lamiraux committed
169
hpp_romeo_repository=${HPP_REPO}
170
hpp_romeo_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
171
172
173
174
175
176
177
178
179
180
181
182
183

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

Guilhem Saurel's avatar
Guilhem Saurel committed
184
hpp-rbprm_branch=${HPP_VERSION}
185
186
187
hpp-rbprm_repository=${HPP_REPO}
hpp-rbprm_extra_flags=${HPP_EXTRA_FLAGS}

Guilhem Saurel's avatar
Guilhem Saurel committed
188
hpp-rbprm-robot-data_branch=${HPP_VERSION}
189
190
hpp-rbprm-robot-data_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
191
hpp-rbprm-corba_branch=${HPP_VERSION}
192
193
194
hpp-rbprm-corba_repository=${HPP_REPO}
hpp-rbprm-corba_extra_flags=${HPP_EXTRA_FLAGS}

Guilhem Saurel's avatar
Guilhem Saurel committed
195
hpp-centroidal-dynamics_branch=${HPP_VERSION}
196
197
hpp-centroidal-dynamics_repository=${HPP_REPO}

Guilhem Saurel's avatar
Guilhem Saurel committed
198
hpp-bezier-com-traj_branch=${HPP_VERSION}
199
200
201
hpp-bezier-com-traj_repository=${HPP_REPO}
hpp-bezier-com-traj_extra_flags= -DBUILD_PYTHON_INTERFACE=ON

Guilhem Saurel's avatar
Guilhem Saurel committed
202
hpp-spline_branch=${HPP_VERSION}
203
204
205
hpp-spline_repository=${HPP_REPO}
hpp-spline_extra_flags= -DBUILD_PYTHON_INTERFACE=ON

Guilhem Saurel's avatar
Guilhem Saurel committed
206
eigenpy_branch=v1.5.1
207
208
eigenpy_repository=${SOT_REPO}

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

Guilhem Saurel's avatar
Guilhem Saurel committed
222
gepetto-viewer_branch=${HPP_VERSION}
223
gepetto-viewer_repository=${GEPETTO_REPO}
224
225
226
227
228
ifeq (${QT_VERSION}, 5)
	gepetto-viewer_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPROJECT_USE_QT4=OFF
else
	gepetto-viewer_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPROJECT_USE_QT4=ON
endif
Florent Lamiraux's avatar
Florent Lamiraux committed
229

Guilhem Saurel's avatar
Guilhem Saurel committed
230
231
gepetto-viewer-corba_branch=${HPP_VERSION}
gepetto-viewer-corba_repository=${GEPETTO_REPO}
232
gepetto-viewer-corba_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
Guilhem Saurel's avatar
Guilhem Saurel committed
233

234
pythonqt_branch=qt${QT_VERSION}
235
pythonqt_repository=${GEPETTO_REPO}
236
237
pythonqt_extra_flags= -DPythonQt_Wrap_QtAll=ON -DPythonQt_Extensions=ON

238
qgv_branch=devel
239
qgv_repository=${HPP_REPO}
Joseph Mirabel's avatar
Joseph Mirabel committed
240
241
242
243
244
ifeq (${QT_VERSION}, 5)
	qgv_extra_flags=-DBINDINGS_QT5=ON -DBINDINGS_QT4=OFF
else
	qgv_extra_flags=-DBINDINGS_QT5=OFF -DBINDINGS_QT4=ON
endif
245

246
247
hpp-tools_branch=${HPP_VERSION}
hpp-tools_repository=${HPP_REPO}
248
hpp-tools_extra_flags= -DPYTHON_EXECUTABLE=/usr/bin/python3
249

250
251
252
253
# }}}
##################################
# {{{ High-level targets

254
all: hpp_tutorial.install hpp-gepetto-viewer.install hpp-plot.install hpp-gui.install
255
	${MAKE} hpp-doc.install
Florent Lamiraux's avatar
Florent Lamiraux committed
256

257
# For test on gepgitlab, install robot packages first
258
test-ci: example-robot-data.install  hpp-environments.install
259
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install hpp-rbprm-corba.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
260
	hpp-universal-robot.install && \
261
262
263
	${MAKE} hpp-doc.install

# For benchmark, install robot packages first
264
benchmark: example-robot-data.install \
265
	hpp-environments.install hrp2-14-description.install
266
	${MAKE} hpp_tutorial.install hpp-gepetto-viewer.install; \
267
	${MAKE} hpp-baxter.install hpp_romeo.install \
Guilhem Saurel's avatar
Guilhem Saurel committed
268
	hpp-universal-robot.install hpp-plot.install hpp-gui.install; \
269
	${MAKE} hpp_benchmark.checkout; \
270
	${MAKE} hpp-doc.install
271

272
273
274
275
rbprm: hpp-rbprm-corba.install hpp-gepetto-viewer.install
	${MAKE} hpp-doc.install


276
277
278
279
# }}}
##################################
# {{{ Dependencies declaration

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

365
366
367
368
# }}}
##################################
# {{{ Targets

369
status:
370
371
372
	@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
373
		${MAKE} "$$child_dir".status; \
374
	done
375

Florent Lamiraux's avatar
Florent Lamiraux committed
376
377
378
379
380
381
382
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

383
384
385
386
387
388
389
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

390
update:
391
392
393
394
395
	@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
396
397
398

%.checkout:
	if [ -d $(@:.checkout=) ]; then \
399
		echo "$(@:.checkout=) already checkout out."; \
Florent Lamiraux's avatar
Florent Lamiraux committed
400
	else \
Florent Lamiraux's avatar
Florent Lamiraux committed
401
		git clone ${GIT_QUIET} --recursive -b ${$(@:.checkout=)_branch} ${$(@:.checkout=)_repository}/$(@:.checkout=); \
Florent Lamiraux's avatar
Florent Lamiraux committed
402
403
	fi \

404
405
406
407
408
409
410
411
%.fetch:
	if [ "${$(@:.fetch=)_repository}" = "" ]; then \
		echo "$(@:.fetch=) is not referenced"; \
	else \
		cd ${SRC_DIR}/$(@:.fetch=);\
		git fetch ${GIT_QUIET} origin; \
	fi

Florent Lamiraux's avatar
Florent Lamiraux committed
412
%.update:
413
414
415
416
417
418
419
	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
420
421
422
		git checkout -q --detach;\
		git branch -f ${$(@:.update=)_branch} origin/${$(@:.update=)_branch};\
		git checkout -q ${$(@:.update=)_branch};\
423
424
425
		git submodule update; \
	fi

Florent Lamiraux's avatar
Florent Lamiraux committed
426

427
428
%.configure.dep: %.checkout

Florent Lamiraux's avatar
Florent Lamiraux committed
429
430
%.configure: %.configure.dep
	${MAKE} $(@:.configure=).configure_nodep
431

Florent Lamiraux's avatar
Florent Lamiraux committed
432
433
434
%.configure_nodep:%.checkout
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/${BUILD_FOLDER}; \
435
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
436
437
438
			-DINSTALL_DOCUMENTATION=${INSTALL_DOCUMENTATION} \
			-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g -O3 -DNDEBUG" \
			${$(@:.configure_nodep=)_extra_flags} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
439

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

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

%.uninstall:
447
	${MAKE} -C ${SRC_DIR}/$(@:.uninstall=)/${BUILD_FOLDER} uninstall
Florent Lamiraux's avatar
Florent Lamiraux committed
448
449

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

452
%.very-clean:
453
	rm -rf ${SRC_DIR}/$(@:.very-clean=)/${BUILD_FOLDER}/*
454

Florent Lamiraux's avatar
Florent Lamiraux committed
455
%.status:
Florent Lamiraux's avatar
Florent Lamiraux committed
456
457
458
459
	@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
460

Florent Lamiraux's avatar
Florent Lamiraux committed
461
462
463
464
465
466
467
%.log:
	@cd ${SRC_DIR}/$(@:.log=); \
	if [ -f .git/refs/heads/${$(@:.log=)_branch} ]; then \
		echo -n "$(@:.log=): "; \
		cat .git/refs/heads/${$(@:.log=)_branch}; \
	fi

468
469
470
471
472
473
474
475
476
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

477
robot_model_py.configure: robot_model_py.configure.dep
Florent Lamiraux's avatar
Florent Lamiraux committed
478
	cd ${SRC_DIR}/$(@:.configure=)/xml_reflection;\
479
480
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
481
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Florent Lamiraux's avatar
Florent Lamiraux committed
482
	cd ${SRC_DIR}/$(@:.configure=)/urdf_parser_py;\
483
484
	mkdir -p ${BUILD_FOLDER}; \
	cd ${BUILD_FOLDER}; \
485
	cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_HPP_DIR} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
Marine Heckler's avatar
Marine Heckler committed
486

Florent Lamiraux's avatar
Florent Lamiraux committed
487
robot_model_py.install: robot_model_py.configure
488
489
	${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
490
491
492
493

universal_robot.configure_nodep:
	mkdir -p ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
	cd ${SRC_DIR}/$(@:.configure_nodep=)/ur_description/${BUILD_FOLDER}; \
494
	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
495
496
497
498
499
500
501
502

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
503

504
505
506
# }}}

# vim: foldmethod=marker foldlevel=0