100 lines
4.7 KiB
Makefile
100 lines
4.7 KiB
Makefile
|
|
# -*- Makefile -*-
|
|
# Mimicking the behavior of a top-level autotool generated Makefile.
|
|
|
|
pythonSiteLocator = "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1)"
|
|
|
|
tools = bootstrap vlsisapd hurricane crlcore coloquinte etesian knik \
|
|
katabatic kite equinox solstice cumulus stratus1 unicorn documentation
|
|
prefix = /usr
|
|
rootPrefix = $(subst /usr,,$(prefix))
|
|
DESTDIR =
|
|
BUILD_DESTDIR = $(shell pwd)/install.dir
|
|
PYTHON_SITEDIR = $(shell python -c $(pythonSiteLocator))
|
|
IMPORTEDS_TOP = $(prefix)
|
|
CORIOLIS_TOP = $(prefix)
|
|
|
|
environment = IMPORTEDS_TOP=$(IMPORTEDS_TOP); export IMPORTEDS_TOP; \
|
|
CORIOLIS_TOP=$(CORIOLIS_TOP); export CORIOLIS_TOP
|
|
|
|
.PHONY: build install FORCE
|
|
|
|
|
|
all: build
|
|
|
|
clean:
|
|
rm -rf build.dir install.dir \
|
|
crlcore/doc/doxygen/html \
|
|
hurricane/doc/hurricane/html \
|
|
hurricane/doc/hurricane/latex \
|
|
hurricane/doc/viewer/html \
|
|
hurricane/doc/viewer/latex
|
|
|
|
build: FORCE
|
|
$(environment); \
|
|
case "`uname -m`" in \
|
|
"x86_64") cmakeArgs="-D LIB_SUFFIX:STRING=64";; \
|
|
*) cmakeArgs="";; \
|
|
esac; \
|
|
case "$${X_SCLS}" in \
|
|
*"devtoolset"*) \
|
|
cmakeArgs="$${cmakeArgs} -D Boost_NO_SYSTEM_PATHS:STRING=TRUE"; \
|
|
BOOST_INCLUDEDIR="/opt/rh/devtoolset-2/root/usr/include"; \
|
|
BOOST_LIBRARYDIR="/opt/rh/devtoolset-2/root/usr/lib"; \
|
|
export BOOST_INCLUDEDIR BOOST_LIBRARYDIR; \
|
|
echo "** Using $${X_SCLS}."; \
|
|
;; \
|
|
esac; \
|
|
for tool in $(tools); do \
|
|
echo "** Building tool $${tool}"; \
|
|
mkdir -p build.dir/$$tool; \
|
|
cd build.dir/$$tool; \
|
|
cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \
|
|
-D BUILD_SHARED_LIBS:STRING=ON \
|
|
-D BUILD_DOC:STRING=OFF \
|
|
-D CMAKE_INSTALL_PREFIX:STRING=$(CORIOLIS_TOP) \
|
|
-D DESTDIR:STRING=$(BUILD_DESTDIR) \
|
|
$${cmakeArgs} \
|
|
../../coriolis/$$tool \
|
|
|| exit 1; \
|
|
make DESTDIR=$(BUILD_DESTDIR) $(SMP_MFLAGS) install \
|
|
|| exit 1; \
|
|
cd ../..; \
|
|
done
|
|
|
|
install: FORCE
|
|
$(environment); \
|
|
case "`uname -m`" in \
|
|
"x86_64") commonCMakeArgs="-D LIB_SUFFIX:STRING=64";; \
|
|
*) commonCMakeArgs="";; \
|
|
esac; \
|
|
for tool in $(tools); do \
|
|
echo "** Installing tool $${tool}"; \
|
|
cd build.dir/$$tool; \
|
|
makeArgs=""; \
|
|
cmakeArgs="$$commonCMakeArgs -D BUILD_DOC:STRING=OFF"; \
|
|
if [ "$$tool" = "hurricane" \
|
|
-o "$$tool" = "crlcore" \
|
|
-o "$$tool" = "unicorn" ]; then \
|
|
cmakeArgs="$$commonCMakeArgs -D BUILD_DOC:STRING=ON"; \
|
|
fi; \
|
|
cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \
|
|
-D BUILD_SHARED_LIBS:STRING=ON \
|
|
-D CMAKE_INSTALL_PREFIX:STRING=${CORIOLIS_TOP} \
|
|
-D DESTDIR:STRING=$(DESTDIR) \
|
|
$${cmakeArgs} \
|
|
../../coriolis/$$tool \
|
|
|| exit 1; \
|
|
make DESTDIR=$(DESTDIR) -j1 $${makeArgs} install \
|
|
|| exit 1; \
|
|
cd ../..; \
|
|
done; \
|
|
rm -rfv $(DESTDIR)$(rootPrefix)/etc/coriolis2/coriolis2.sh \
|
|
$(DESTDIR)$(prefix)/bin/ccb \
|
|
$(DESTDIR)$(prefix)/bin/cx2y \
|
|
$(DESTDIR)$(prefix)/bin/*.bin \
|
|
$(DESTDIR)$(rootPrefix)$(PYTHON_SITEDIR)/builder \
|
|
$(DESTDIR)$(prefix)/share/cmake/Modules/GetGitRevisionDescription.cmake.in
|
|
|
|
FORCE:
|