diff options
Diffstat (limited to 'src/kmk/build.template')
-rw-r--r-- | src/kmk/build.template | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/kmk/build.template b/src/kmk/build.template new file mode 100644 index 0000000..4b01b46 --- /dev/null +++ b/src/kmk/build.template @@ -0,0 +1,81 @@ +#!/bin/sh +# Shell script to build GNU Make in the absence of any 'make' program. +# @configure_input@ + +# Copyright (C) 1993-2016 Free Software Foundation, Inc. +# This file is part of GNU Make. +# +# GNU Make 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 3 of the License, or (at your option) any later +# version. +# +# GNU Make 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 <http://www.gnu.org/licenses/>. + +# See Makefile.in for comments describing these variables. + +srcdir='@srcdir@' +CC='@CC@' +CFLAGS='@CFLAGS@ @GUILE_CFLAGS@' +CPPFLAGS='@CPPFLAGS@' +LDFLAGS='@AM_LDFLAGS@ @LDFLAGS@' +ALLOCA='@ALLOCA@' +LOADLIBES='@LIBS@ @GUILE_LIBS@ @LIBINTL@' +eval extras=\'@LIBOBJS@\' +REMOTE='@REMOTE@' +GLOBLIB='@GLOBLIB@' +PATH_SEPARATOR='@PATH_SEPARATOR@' +OBJEXT='@OBJEXT@' +EXEEXT='@EXEEXT@' + +# Common prefix for machine-independent installed files. +prefix='@prefix@' +# Common prefix for machine-dependent installed files. +exec_prefix=`eval echo @exec_prefix@` +# Directory to find libraries in for '-lXXX'. +libdir=${exec_prefix}/lib +# Directory to search by default for included makefiles. +includedir=${prefix}/include + +localedir=${prefix}/share/locale +aliaspath=${localedir}${PATH_SEPARATOR}. + +defines="-DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@' + +# Exit as soon as any command fails. +set -e + +# These are all the objects we need to link together. +objs="%objs% remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}" + +if [ x"$GLOBLIB" != x ]; then + objs="$objs %globobjs%" + globinc=-I${srcdir}/glob +fi + +# Compile the source files into those objects. +for file in `echo ${objs} | sed 's/\.'${OBJEXT}'/.c/g'`; do + echo compiling ${file}... + $CC $defines $CPPFLAGS $CFLAGS \ + -c -I. -I${srcdir} ${globinc} ${srcdir}/$file +done + +# The object files were actually all put in the current directory. +# Remove the source directory names from the list. +srcobjs="$objs" +objs= +for obj in $srcobjs; do + objs="$objs `basename $obj`" +done + +# Link all the objects together. +echo linking make... +$CC $CFLAGS $LDFLAGS $objs $LOADLIBES -o makenew${EXEEXT} +echo done +mv -f makenew${EXEEXT} make${EXEEXT} |