summaryrefslogtreecommitdiffstats
path: root/rules/boost.make
diff options
context:
space:
mode:
authorRobert Schwebel <r.schwebel@pengutronix.de>2007-01-06 17:34:59 +0000
committerRobert Schwebel <r.schwebel@pengutronix.de>2007-01-06 17:34:59 +0000
commit49b5e2e1fc12e927d3e8b7733fc17eccb24a3e35 (patch)
tree003dbd702e2d2399673d9df1b4dbf39fc9e98ac5 /rules/boost.make
parent42f45e6756d855a56bd49604fe6c4cc27eb84dc0 (diff)
downloadptxdist-49b5e2e1fc12e927d3e8b7733fc17eccb24a3e35.tar.gz
ptxdist-49b5e2e1fc12e927d3e8b7733fc17eccb24a3e35.tar.xz
* boost: added
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@6751 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'rules/boost.make')
-rw-r--r--rules/boost.make183
1 files changed, 183 insertions, 0 deletions
diff --git a/rules/boost.make b/rules/boost.make
new file mode 100644
index 000000000..f53e6ecdf
--- /dev/null
+++ b/rules/boost.make
@@ -0,0 +1,183 @@
+# -*-makefile-*-
+# $Id: template 5041 2006-03-09 08:45:49Z mkl $
+#
+# Copyright (C) 2006 by Robert Schwebel
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_BOOST) += boost
+
+#
+# Paths and names
+#
+BOOST_VERSION := 1_33_1
+BOOST := boost_$(BOOST_VERSION)
+BOOST_SUFFIX := tar.bz2
+BOOST_URL := $(PTXCONF_SETUP_SFMIRROR)/boost/$(BOOST).$(BOOST_SUFFIX)
+BOOST_SOURCE := $(SRCDIR)/$(BOOST).$(BOOST_SUFFIX)
+BOOST_DIR := $(BUILDDIR)/$(BOOST)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+boost_get: $(STATEDIR)/boost.get
+
+$(STATEDIR)/boost.get: $(boost_get_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+$(BOOST_SOURCE):
+ @$(call targetinfo, $@)
+ @$(call get, BOOST)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+boost_extract: $(STATEDIR)/boost.extract
+
+$(STATEDIR)/boost.extract: $(boost_extract_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(BOOST_DIR))
+ @$(call extract, BOOST)
+ @$(call patchin, BOOST)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+boost_prepare: $(STATEDIR)/boost.prepare
+
+BOOST_PATH := PATH=$(CROSS_PATH)
+BOOST_ENV := $(CROSS_ENV)
+
+# they reinvent their own wheel^Hmake: jam
+# -q: quit on error
+# -d: debug level, default=1
+
+BOOST_JAM := \
+ $(BOOST_DIR)/tools/build/jam_src/bjam \
+ -q \
+ -d 1 \
+ -sTOOLS=gcc \
+ -sGCC=$(COMPILER_PREFIX)gcc \
+ -sGXX=$(COMPILER_PREFIX)g++ \
+ -sOBJCOPY=$(COMPILER_PREFIX)objcopy
+
+$(STATEDIR)/boost.prepare: $(boost_prepare_deps_default)
+ @$(call targetinfo, $@)
+ cd $(BOOST_DIR)/tools/build/jam_src && \
+ sh build.sh gcc && mv bin.*/bjam .
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+boost_compile: $(STATEDIR)/boost.compile
+
+$(STATEDIR)/boost.compile: $(boost_compile_deps_default)
+ @$(call targetinfo, $@)
+
+ifdef PTXCONF_BOOST_FILESYSTEM
+ cd $(BOOST_DIR)/libs/filesystem/build && $(BOOST_JAM)
+endif
+ifdef PTXCONF_BOOST_REGEX
+ cd $(BOOST_DIR)/libs/regex/build && $(BOOST_JAM)
+endif
+ifdef PTXCONF_BOOST_THREAD
+ cd $(BOOST_DIR)/libs/thread/build && $(BOOST_JAM)
+endif
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+boost_install: $(STATEDIR)/boost.install
+
+$(STATEDIR)/boost.install: $(boost_install_deps_default)
+ @$(call targetinfo, $@)
+ mkdir -p $(SYSROOT)/usr/include/boost/
+ifdef PTXCONF_BOOST_FILESYSTEM
+endif
+ifdef PTXCONF_BOOST_REGEX
+ cp -a \
+ $(BOOST_DIR)/bin/boost/libs/regex/build/libboost_regex.so/gcc/release/shared-linkable-true/libboost_regex-gcc-1_33_1.so \
+ $(SYSROOT)/usr/lib/
+ cp -a $(BOOST_DIR)/boost/regex/ $(BOOST_DIR)/boost/regex.hpp $(SYSROOT)/usr/include/boost/
+endif
+ifdef PTXCONF_BOOST_THREAD
+ cp -a $(BOOST_DIR)/libs/thread/build/bin-stage/libboost_thread* $(SYSROOT)/usr/lib/
+ cp -a $(BOOST_DIR)/boost/thread/ $(BOOST_DIR)/boost/thread.hpp $(SYSROOT)/usr/include/boost/
+endif
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+boost_targetinstall: $(STATEDIR)/boost.targetinstall
+
+$(STATEDIR)/boost.targetinstall: $(boost_targetinstall_deps_default)
+ @$(call targetinfo, $@)
+
+ @$(call install_init, boost)
+ @$(call install_fixup,boost,PACKAGE,boost)
+ @$(call install_fixup,boost,PRIORITY,optional)
+ @$(call install_fixup,boost,VERSION,$(BOOST_VERSION))
+ @$(call install_fixup,boost,SECTION,base)
+ @$(call install_fixup,boost,AUTHOR,"Robert Schwebel <r.schwebel\@pengutronix.de>")
+ @$(call install_fixup,boost,DEPENDS,)
+ @$(call install_fixup,boost,DESCRIPTION,missing)
+
+ifdef PTXCONF_BOOST_FILESYSTEM
+ @$(call install_copy, boost, 0, 0, 0644, \
+ $(BOOST_DIR)/stage/lib/libboost_filesystem-gcc-d-1_33_1.so.1.33.1, \
+ /usr/lib/libboost_filesystem-gcc-d-1_33_1.so.1.33.1)
+ @$(call install_link, boost, \
+ libboost_filesystem-gcc-d-1_33_1.so.1.33.1, \
+ /usr/lib/libboost_filesystem-gcc-d-1_33_1.so)
+endif
+
+ifdef PTXCONF_BOOST_REGEX
+ @$(call install_copy, boost, 0, 0, 0644, \
+ $(BOOST_DIR)/stage/lib/libboost_regex-gcc-d-1_33_1.so.1.33.1, \
+ /usr/lib/libboost_regex-gcc-d-1_33_1.so.1.33.1)
+ @$(call install_link, boost, \
+ libboost_regex-gcc-d-1_33_1.so.1.33.1, \
+ /usr/lib/libboost_regex-gcc-d-1_33_1.so)
+endif
+
+ifdef PTXCONF_BOOST_THREAD
+ @$(call install_copy, boost, 0, 0, 0644, \
+ $(BOOST_DIR)/libs/thread/build/bin-stage/libboost_thread-gcc-mt-d-1_33_1.so.1.33.1, \
+ /usr/lib/libboost_thread-gcc-mt-d-1_33_1.so.1.33.1)
+ @$(call install_link, boost, \
+ libboost_thread-gcc-mt-d-1_33_1.so.1.33.1, \
+ /usr/lib/libboost_thread-gcc-mt-d-1_33_1.so)
+endif
+
+ @$(call install_finish,boost)
+
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+boost_clean:
+ rm -rf $(STATEDIR)/boost.*
+ rm -rf $(IMAGEDIR)/boost_*
+ rm -rf $(BOOST_DIR)
+
+# vim: syntax=make