#################################################################################
# Embtoolkit
# Copyright(C) 2009-2011 Abdoulaye Walsimou GAYE.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
################################################################################
#
# \file linux.mk
# \brief linux.mk of Embtoolkit
# \author Abdoulaye Walsimou GAYE
# \date May 2009
################################################################################
__LINUX_SITE_BASE = http://ftp.kernel.org/pub/linux/kernel
__LINUX_SITE_LONGTERM = $(strip $(if $(LINUX_LONGTERMV), \
/longterm/$(LINUX_LONGTERMV)))
__LINUX_SITE = $(strip $(if $(CONFIG_EMBTK_LINUX_HAVE_MIRROR), \
$(patsubst '"',,$(strip $(CONFIG_EMBTK_LINUX_HAVE_MIRROR_SITE))), \
$(__LINUX_SITE_BASE)/$(LINUX_MAJORV)$(__LINUX_SITE_LONGTERM)))
LINUX_NAME := linux
LINUX_MAJORV := $(call embtk_get_pkgversion,linux_major)
LINUX_LONGTERMV := $(call embtk_get_pkgversion,linux_longterm)
LINUX_VERSION := $(call embtk_get_pkgversion,linux)
LINUX_SITE := $(call __LINUX_SITE)
LINUX_PACKAGE := linux-$(LINUX_VERSION).tar.bz2
LINUX_SRC_DIR := $(embtk_toolsb)/linux-$(LINUX_VERSION)
LINUX_BUILD_DIR := $(embtk_toolsb)/linux-$(LINUX_VERSION)
LINUX_HEADERS_NAME := $(LINUX_NAME)
LINUX_HEADERS_VERSION := $(LINUX_VERSION)
LINUX_HEADERS_SITE := $(LINUX_SITE)
LINUX_HEADERS_PACKAGE := $(LINUX_PACKAGE)
LINUX_HEADERS_SRC_DIR := $(LINUX_SRC_DIR)
LINUX_HEADERS_BUILD_DIR := $(LINUX_BUILD_DIR)
LINUX_HEADERS_KCONFIGS_NAME := LINUX
define __embtk_install_linux_headers
$(call embtk_pinfo,"Installing linux-$(LINUX_VERSION) headers...")
$(call embtk_download_pkg,linux)
$(call embtk_decompress_pkg,linux)
$(Q)PATH=$(PATH):$(embtk_tools)/bin/ $(MAKE) -C $(LINUX_BUILD_DIR) \
headers_install ARCH=$(LINUX_ARCH) \
CROSS_COMPILE=$(STRICT_GNU_TARGET)- \
INSTALL_HDR_PATH=$(embtk_sysroot)/usr
touch $(call __embtk_pkg_dotinstalled_f,linux_headers)
endef
define embtk_install_linux_headers
[ -e $(call __embtk_pkg_dotinstalled_f,linux_headers) ] || \
$(__embtk_install_linux_headers)
endef
#
# clean target and macros
#
define embtk_cleanup_linux
if [ -d $(LINUX_BUILD_DIR) ] && \
[ -e $(call __embtk_pkg_dotinstalled_f,linux_headers) ]; then \
rm -rf $(call __embtk_pkg_dotinstalled_f,linux_headers); \
fi
endef
define embtk_cleanup_linux_headers
$(embtk_cleanup_linux)
endef