Build internal tools in build-tools so that they have some chance of

working when the target system is not binary compatible.  Use various
hacks to work around minor problems in the source and binary tree
layouts:
- caesar and strfile are built normally (the source layout is good),
  then installed by copying them to ${WORLDTMP}/usr/bin (they are
  installed in ${WORLDTMP}/usr/games, but I don't want to put that
  in $PATH).
- colldef and mklocale are built and installed normally.  Messy and
  incomplete relative path searches for them and caesar and strfile
  can now go away.
- internal tools that aren't installed are now built and left lying
  around for the `make all' pass to use.  If the target system is
  not binary compatible, it is critical that these tools don't get
  rebuilt.  Cleaning of the obj tree before building the internal
  tools should ensure this.
- most internal tools are built using internal build-tools targets,
  but tn3270 is simpler for a change - it has all the tools in a
  separate tree, so they can be built using `make all'.
This commit is contained in:
bde 1998-07-07 05:37:34 +00:00
parent d28c0c138b
commit 04e31c4a1d

View File

@ -1,5 +1,5 @@
#
# $Id: Makefile,v 1.202 1998/06/13 02:03:36 peter Exp $
# $Id: Makefile,v 1.203 1998/06/17 09:34:42 bde Exp $
#
# While porting to the another architecture include the bootstrap instead
# of the normal build.
@ -760,6 +760,8 @@ build-tools:
bin/mv \
bin/rm \
bin/test \
games/caesar \
games/fortune/strfile \
gnu/usr.bin/awk \
gnu/usr.bin/bc \
gnu/usr.bin/grep \
@ -775,6 +777,7 @@ build-tools:
usr.bin/chflags \
usr.bin/cmp \
usr.bin/col \
usr.bin/colldef \
usr.bin/cpp \
usr.bin/expand \
usr.bin/file2c \
@ -785,6 +788,7 @@ build-tools:
usr.bin/lorder \
usr.bin/m4 \
usr.bin/mkdep \
usr.bin/mklocale \
usr.bin/paste \
usr.bin/sed \
${_aout_size} \
@ -808,6 +812,20 @@ build-tools:
${MAKE} ${MK_FLAGS} all; \
${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR}
.endfor
cd ${DESTDIR}/usr/games; cp -p caesar strfile ${DESTDIR}/usr/bin
.for d in \
bin/sh \
games/adventure \
games/hack \
games/phantasia \
gnu/usr.bin/cc/cc_tools \
lib/libmytinfo \
lkm/linux \
share/syscons/scrnmaps \
sys/i386/boot/netboot
cd ${.CURDIR}/$d; ${MAKE} ${MK_FLAGS} build-tools
.endfor
cd ${.CURDIR}/usr.bin/tn3270/tools; ${MAKE} ${MK_FLAGS} all
.for __target in clean cleandepend cleandir depend obj
.for entry in ${SUBDIR}