scripts/build/companion_tools/050-make.sh
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Oct 16 20:57:44 2012 +0200 (2012-10-16)
changeset 3079 37831a33e07e
parent 2309 2e0f0757289d
permissions -rw-r--r--
kernel/linux: fix using custom location

Currently, extract and patch are skipped as thus:
- using a custom directory of pre-installed headers
- a correctly named directory already exists

Otherwise, extract and patch are done.

The current second condition is wrong, because it allows the following
sequence to happen:
- a non-custom kernel is used
- a previous build only partially extracted the non-custom sources
- that p[revious build broke during extraction (eg. incomplete tarball...)
- a subsequent build will find a properly named directory, and will
thus skip extract and patch, which is wrong

Fix that by following the conditions in this table:

Type | Extract | Patch
----------------------+---------+-------
Pre-installed headers | N | N
custom directory | N | N
custom tarball | Y | N
mainstream tarball | Y | Y

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Holsgrove <david.holsgrove@xilinx.com>
yann@2285
     1
# Build script for make
yann@2285
     2
yann@2285
     3
CT_MAKE_VERSION=3.81
yann@2285
     4
yann@2285
     5
do_companion_tools_make_get() {
yann@2285
     6
    CT_GetFile "make-${CT_MAKE_VERSION}" \
yann@2285
     7
               {http,ftp}://ftp.gnu.org/gnu/make
yann@2285
     8
}
yann@2285
     9
yann@2285
    10
do_companion_tools_make_extract() {
yann@2285
    11
    CT_Extract "make-${CT_MAKE_VERSION}"
yann@2328
    12
    CT_DoExecLog ALL chmod -R u+w "${CT_SRC_DIR}/make-${CT_MAKE_VERSION}"
yann@2285
    13
    CT_Patch "make" "${CT_MAKE_VERSION}"
yann@2285
    14
}
yann@2285
    15
yann@2285
    16
do_companion_tools_make_build() {
yann@2285
    17
    CT_DoStep EXTRA "Installing make"
yann@2285
    18
    mkdir -p "${CT_BUILD_DIR}/build-make"
yann@2285
    19
    CT_Pushd "${CT_BUILD_DIR}/build-make"
yann@2285
    20
yann@2285
    21
    CT_DoExecLog CFG "${CT_SRC_DIR}/make-${CT_MAKE_VERSION}/configure" \
yann@2309
    22
                     --prefix="${CT_BUILDTOOLS_PREFIX_DIR}"
yann@2285
    23
    CT_DoExecLog ALL make
yann@2285
    24
    CT_DoExecLog ALL make install
yann@2285
    25
    CT_Popd
yann@2285
    26
    CT_EndStep
yann@2285
    27
}