source: trunk/third/gmake/build.sh.in @ 15972

Revision 15972, 2.6 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r15971, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1#!/bin/sh
2# Shell script to build GNU Make in the absence of any `make' program.
3# @configure_input@
4
5# Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc.
6# This file is part of GNU Make.
7#
8# GNU Make is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2, or (at your option)
11# any later version.
12#
13# GNU Make is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with GNU Make; see the file COPYING.  If not, write to
20# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21# Boston, MA 02111-1307, USA.
22
23# See Makefile.in for comments describing these variables.
24
25srcdir='@srcdir@'
26CC='@CC@'
27CFLAGS='@CFLAGS@'
28CPPFLAGS='@CPPFLAGS@'
29LDFLAGS='@LDFLAGS@'
30ALLOCA='@ALLOCA@'
31LOADLIBES='@LIBS@'
32extras='@LIBOBJS@'
33REMOTE='@REMOTE@'
34GLOBLIB='@GLOBLIB@'
35
36# Common prefix for machine-independent installed files.
37prefix='@prefix@'
38# Common prefix for machine-dependent installed files.
39exec_prefix=`eval echo @exec_prefix@`
40# Directory to find libraries in for `-lXXX'.
41libdir=${exec_prefix}/lib
42# Directory to search by default for included makefiles.
43includedir=${prefix}/include
44
45localedir=${prefix}/share/locale
46aliaspath=${localedir}:.
47
48defines="-DALIASPATH=\"${aliaspath}\" -DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@'
49
50# Exit as soon as any command fails.
51set -e
52
53# These are all the objects we need to link together.
54objs="ar.o arscan.o commands.o dir.o expand.o file.o function.o getopt.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o variable.o vpath.o default.o version.o getopt1.o remote-${REMOTE}.o ${extras} ${ALLOCA}"
55
56if [ x"$GLOBLIB" != x ]; then
57  objs="$objs glob/fnmatch.o glob/glob.o"
58  globinc=-I${srcdir}/glob
59fi
60
61# Compile the source files into those objects.
62for file in `echo ${objs} | sed 's/\.o/.c/g'`; do
63  echo compiling ${file}...
64  $CC $defines $CPPFLAGS $CFLAGS \
65      -c -I. -I${srcdir} ${globinc} ${srcdir}/$file
66done
67
68# The object files were actually all put in the current directory.
69# Remove the source directory names from the list.
70srcobjs="$objs"
71objs=
72for obj in $srcobjs; do
73  objs="$objs `basename $obj`"
74done
75
76# Link all the objects together.
77echo linking make...
78$CC $LDFLAGS $objs $LOADLIBES -o make.new
79echo done
80mv -f make.new make
Note: See TracBrowser for help on using the repository browser.