VirtualBox

source: kBuild/trunk/src/gmake/build.sh.in@ 530

Last change on this file since 530 was 520, checked in by bird, 19 years ago

Cleaning up the modifications. Changes are now either configurable or marked, and dead stuff has been removed (dll shell).

  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 3.0 KB
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, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
6# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
7# This file is part of GNU Make.
8#
9# GNU Make is free software; you can redistribute it and/or modify it under the
10# terms of the GNU General Public License as published by the Free Software
11# Foundation; either version 2, or (at your option) any later version.
12#
13# GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
14# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License along with
18# GNU Make; see the file COPYING. If not, write to the Free Software
19# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
21# See Makefile.in for comments describing these variables.
22
23srcdir='@srcdir@'
24CC='@CC@'
25CFLAGS='@CFLAGS@'
26CPPFLAGS='@CPPFLAGS@'
27LDFLAGS='@LDFLAGS@'
28ALLOCA='@ALLOCA@'
29LOADLIBES='@LIBS@ @LIBINTL@'
30eval extras=\'@LIBOBJS@\'
31REMOTE='@REMOTE@'
32GLOBLIB='@GLOBLIB@'
33PATH_SEPARATOR='@PATH_SEPARATOR@'
34OBJEXT='@OBJEXT@'
35EXEEXT='@EXEEXT@'
36
37# Common prefix for machine-independent installed files.
38prefix='@prefix@'
39# Common prefix for machine-dependent installed files.
40exec_prefix=`eval echo @exec_prefix@`
41# Directory to find libraries in for `-lXXX'.
42libdir=${exec_prefix}/lib
43# Directory to search by default for included makefiles.
44includedir=${prefix}/include
45
46localedir=${prefix}/share/locale
47aliaspath=${localedir}${PATH_SEPARATOR}.
48
49defines="-DALIASPATH=\"${aliaspath}\" -DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@'
50
51# Exit as soon as any command fails.
52set -e
53
54# These are all the objects we need to link together.
55objs="ar.${OBJEXT} arscan.${OBJEXT} commands.${OBJEXT} default.${OBJEXT} dir.${OBJEXT} expand.${OBJEXT} file.${OBJEXT} function.${OBJEXT} getopt.${OBJEXT} getopt1.${OBJEXT} implicit.${OBJEXT} job.${OBJEXT} main.${OBJEXT} misc.${OBJEXT} read.${OBJEXT} remake.${OBJEXT} rule.${OBJEXT} signame.${OBJEXT} strcache.${OBJEXT} variable.${OBJEXT} version.${OBJEXT} vpath.${OBJEXT} hash.${OBJEXT} remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}"
56
57if [ x"$GLOBLIB" != x ]; then
58 objs="$objs glob/fnmatch.${OBJEXT} glob/glob.${OBJEXT}"
59 globinc=-I${srcdir}/glob
60fi
61
62# Compile the source files into those objects.
63for file in `echo ${objs} | sed 's/\.'${OBJEXT}'/.c/g'`; do
64 echo compiling ${file}...
65 $CC $defines $CPPFLAGS $CFLAGS \
66 -c -I. -I${srcdir} ${globinc} ${srcdir}/$file
67done
68
69# The object files were actually all put in the current directory.
70# Remove the source directory names from the list.
71srcobjs="$objs"
72objs=
73for obj in $srcobjs; do
74 objs="$objs `basename $obj`"
75done
76
77# Link all the objects together.
78echo linking make...
79$CC $CFLAGS $LDFLAGS $objs $LOADLIBES -o makenew${EXEEXT}
80echo done
81mv -f makenew${EXEEXT} make${EXEEXT}
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette