diff options
Diffstat (limited to 'scripts/build/companion_tools/050-make.sh')
-rw-r--r-- | scripts/build/companion_tools/050-make.sh | 63 |
1 files changed, 50 insertions, 13 deletions
diff --git a/scripts/build/companion_tools/050-make.sh b/scripts/build/companion_tools/050-make.sh index 3d6da7c..d8f6b66 100644 --- a/scripts/build/companion_tools/050-make.sh +++ b/scripts/build/companion_tools/050-make.sh @@ -1,7 +1,5 @@ # Build script for make -CT_MAKE_VERSION=3.81 - do_companion_tools_make_get() { CT_GetFile "make-${CT_MAKE_VERSION}" \ {http,ftp,https}://ftp.gnu.org/gnu/make @@ -13,18 +11,57 @@ do_companion_tools_make_extract() { CT_Patch "make" "${CT_MAKE_VERSION}" } -do_companion_tools_make_build() { - CT_DoStep EXTRA "Installing make" - mkdir -p "${CT_BUILD_DIR}/build-make" - CT_Pushd "${CT_BUILD_DIR}/build-make" - - CT_DoExecLog CFG "${CT_SRC_DIR}/make-${CT_MAKE_VERSION}/configure" \ - --prefix="${CT_BUILDTOOLS_PREFIX_DIR}" - CT_DoExecLog ALL ${make} - CT_DoExecLog ALL ${make} install - if [ "${CT_COMP_TOOLS_make_gmake}" = "y" ]; then - CT_DoExecLog ALL ln -sv ${make} "${CT_BUILDTOOLS_PREFIX_DIR}/bin/gmake" +do_companion_tools_make_for_build() { + CT_DoStep EXTRA "Installing make for build" + CT_mkdir_pushd "${CT_BUILD_DIR}/build-make-build" + do_make_backend \ + host=${CT_BUILD} \ + prefix="${CT_BUILD_COMPTOOLS_DIR}" \ + cflags="${CT_CFLAGS_FOR_BUILD}" \ + ldflags="${CT_LDFLAGS_FOR_BUILD}" + CT_Popd + if [ "${CT_MAKE_GMAKE_SYMLINK}" = "y" ]; then + CT_DoExecLog ALL ln -sv make "${CT_BUILD_COMPTOOLS_DIR}/bin/gmake" fi + CT_EndStep +} + +do_companion_tools_make_for_host() { + CT_DoStep EXTRA "Installing make for host" + CT_mkdir_pushd "${CT_BUILD_DIR}/build-make-host" + do_make_backend \ + host=${CT_HOST} \ + prefix="${CT_PREFIX_DIR}" \ + cflags="${CT_CFLAGS_FOR_HOST}" \ + ldflags="${CT_LDFLAGS_FOR_HOST}" CT_Popd + if [ "${CT_MAKE_GMAKE_SYMLINK}" = "y" ]; then + CT_DoExecLog ALL ln -sv make "${CT_PREFIX_DIR}/bin/gmake" + fi CT_EndStep } + +do_make_backend() { + local host + local prefix + local cflags + local ldflags + + for arg in "$@"; do + eval "${arg// /\\ }" + done + + CT_DoLog EXTRA "Configuring make" + CT_DoExecLog CFG \ + CFLAGS="${cflags}" \ + LDFLAGS="${ldflags}" \ + "${CT_SRC_DIR}/make-${CT_MAKE_VERSION}/configure" \ + --host="${host}" \ + --prefix="${prefix}" + + CT_DoLog EXTRA "Building make" + CT_DoExecLog ALL make + + CT_DoLog EXTRA "Installing make" + CT_DoExecLog ALL make install +} |