summaryrefslogtreecommitdiff
path: root/devel/bmake/files/make-bootstrap.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'devel/bmake/files/make-bootstrap.sh.in')
-rw-r--r--devel/bmake/files/make-bootstrap.sh.in35
1 files changed, 26 insertions, 9 deletions
diff --git a/devel/bmake/files/make-bootstrap.sh.in b/devel/bmake/files/make-bootstrap.sh.in
index 2bb4c25a705..ec100138b6d 100644
--- a/devel/bmake/files/make-bootstrap.sh.in
+++ b/devel/bmake/files/make-bootstrap.sh.in
@@ -13,7 +13,7 @@ esac
CC="@CC@"
CFLAGS="@CFLAGS@ -I. -I${srcdir} @DEFS@ @CPPFLAGS@ -DMAKE_NATIVE ${XDEFS} -DBMAKE_PATH_MAX=@bmake_path_max@"
-MAKE_VERSION=`sed -n '/^MAKE_VERSION=/s,.*=[^0-9]*,,p' $srcdir/Makefile`
+MAKE_VERSION=@_MAKE_VERSION@
MDEFS="-DMAKE_VERSION=\"$MAKE_VERSION\" \
-D@force_machine@MACHINE=\"@machine@\" -DMACHINE_ARCH=\"@machine_arch@\" \
@@ -23,6 +23,10 @@ MDEFS="-DMAKE_VERSION=\"$MAKE_VERSION\" \
LDFLAGS="@LDFLAGS@"
LIBS="@LIBS@"
+toUpper() {
+ ${TR:-tr} abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+}
+
do_compile2() {
obj="$1"; shift
src="$1"; shift
@@ -32,7 +36,10 @@ do_compile2() {
do_compile() {
obj="$1"; shift
- src=`basename "$obj" .o`.c
+ case "$1" in
+ *.c) src=$1; shift;;
+ *) src=`basename "$obj" .o`.c;;
+ esac
for d in "$srcdir" "$srcdir/lst.lib"
do
@@ -52,7 +59,7 @@ do_link() {
}
BASE_OBJECTS="arch.o buf.o compat.o cond.o dir.o for.o getopt hash.o \
-job.o make.o make_malloc.o parse.o sigcompat.o str.o strlist.o \
+make.o make_malloc.o metachar.o parse.o sigcompat.o str.o strlist.o \
suff.o targ.o trace.o var.o util.o"
LST_OBJECTS="lstAppend.o lstDupl.o lstInit.o lstOpen.o \
@@ -73,12 +80,22 @@ done
case "@use_meta@" in
yes)
- case "@filemon_h@" in
- */filemon.h) FDEFS="-DHAVE_FILEMON_H -I`dirname @filemon_h@`";;
+ case "@use_filemon@" in
+ no) MDEFS=;;
+ *)
+ MDEFS="-DUSE_FILEMON -DUSE_FILEMON_`echo @use_filemon@ | toUpper`"
+ case "@use_filemon@,@filemon_h@" in
+ dev,*/filemon.h) FDEFS="-DHAVE_FILEMON_H -I`dirname @filemon_h@`";;
+ *) FDEFS=;;
+ esac
+ do_compile filemon_@use_filemon@.o filemon/filemon_@use_filemon@.c ${FDEFS}
+ BASE_OBJECTS="filemon_@use_filemon@.o $BASE_OBJECTS"
+ ;;
esac
- do_compile meta.o ${FDEFS}
- BASE_OBJECTS="meta.o ${BASE_OBJECTS}"
- ;;
+ do_compile meta.o ${MDEFS}
+ BASE_OBJECTS="meta.o ${BASE_OBJECTS}"
+ ;;
esac
+do_compile job.o ${MDEFS}
-do_link bmake main.o ${BASE_OBJECTS} ${LST_OBJECTS} ${LIB_OBJECTS}
+do_link bmake main.o job.o ${BASE_OBJECTS} ${LST_OBJECTS} ${LIB_OBJECTS}