Commit Graph

80 Commits

Author SHA1 Message Date
jmc
5a0f427e5a Oops. typo which can break things for non-new toolchain builds if MKTOOLS isn't
set
2001-11-22 19:09:42 +00:00
jmc
9a35e17e68 Make the null rule execute something so make is appeased if the .y file is
newer than the checked in .c file. Otherwise make errors out.
2001-11-22 08:20:07 +00:00
jmc
0d11dd0127 Check for USETOOLS!=yes in addition to MKTOOLS==no to generate the empty rule
sets. Otherwise platforms not running the new toolchain will end up with
lossage as tools attempt to get built and installed into /bin (due to
bsd.own.mk properly checking USETOOLS before setting up a default TOOLDIR).
Don't print the warning unless MKTOOLS=no
2001-11-22 00:13:10 +00:00
perry
184d8eecad replace instances of INSTALL_FILE with HOST_INSTALL_FILE 2001-11-19 04:47:42 +00:00
tv
f39f0b5131 Workaround some make(1) braindamage wrt when it tries to "auto-chdir"
back to ${.CURDIR}.  How losing....
2001-11-16 16:41:46 +00:00
tv
b384b10366 Change .MAKEFLAGS to MAKE_ARGS so MACHINE doesn't get trashed in some
cases.
2001-11-16 01:50:17 +00:00
tv
0911b89ff5 Fix the fix; only install gcc once. 2001-11-15 00:20:26 +00:00
thorpej
2536e6bcf3 Fix a typo in the install target list. 2001-11-15 00:17:54 +00:00
tv
bd55c68a03 Use ${TOOLDIR}/bin/nbm4. 2001-11-14 23:19:11 +00:00
tv
7cbe8c2c16 Recheck the GNU configuration if ${.CURDIR}/Makefile changes. 2001-11-14 22:14:48 +00:00
tv
d21f3d4a13 Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
2001-11-14 22:13:39 +00:00
tv
054166f6cf Use ${INSTALL_FILE:N-U}. 2001-11-14 22:07:03 +00:00
tv
06be8101a1 Add autoconf as a host tool, not built by default. 2001-11-14 20:05:23 +00:00
tv
6b68aed49a Add m4 to host tools (not built by default). 2001-11-14 15:32:05 +00:00
tv
25c34dba0d Move host program overrides of INSTALL and MKDEP to <bsd.hostprog.mk>. 2001-11-13 17:36:14 +00:00
tv
259ff4e7d0 Re-add MKTOOLS as a "yes"/"no" only variable, which prevents recursion on "no"
into the src/tools subdirs on all/depend/dependall/install.  Other recursive
targets are not affected.
2001-11-13 16:17:24 +00:00
tv
be1b573f6d One More Time: Make _mvcpp work on an UPDATE install (without bombing). 2001-11-13 15:32:15 +00:00
tv
958e3755af Make _mvcpp work on an UPDATE reinstall. 2001-11-13 15:30:06 +00:00
tv
30b6e7538a Re-add cpp; this was lost in the overhaul. (XXX this needs to GO AWAY
and the build system needs to use ${CC} -E...!)
2001-11-13 14:49:00 +00:00
tv
7e3f01a244 Fix installation of -mdoc macros. 2001-11-13 14:21:03 +00:00
tv
cc88e154cb Change where the -j1 is set to disable parallelism. XXX This should not
be necessary; .NOTPARALLEL needs to be told how to work properly for
specific recursion targets.
2001-11-13 06:17:45 +00:00
tv
6937675d3c Don't put commands in the suffix rule override (avoids target graph cycles).
Protect from multiple inclusion.
2001-11-13 06:03:41 +00:00
tv
c31cbb4bcc Remove extraneous @echo from local changes. 2001-11-13 05:02:37 +00:00
tv
71abcbf812 Move around the MAKE_ARGS assignments to put the := as early as possible. 2001-11-13 04:43:25 +00:00
tv
be39e87135 Remove local addition mistake in previous. 2001-11-13 04:38:13 +00:00
tv
c1cbb7c3e3 Use ${_srcdir} in .MADE, and add "Makefile" to the list. 2001-11-13 04:37:00 +00:00
tv
8753b7b6af Make the wrapper work correctly for groff too, which uses a rather freaky
Makefile layout.
2001-11-13 04:28:27 +00:00
tv
aab33a26c5 Make sure the wrapper is used recursively. -f is not propagated to MAKEFLAGS. 2001-11-13 04:01:49 +00:00
tv
b5cd2489b2 Major overhaul of src/tools and host toolchain. Summary of changes:
* Rewrite src/tools Make logic to work like the rest of the tree wrt
  "dependall" and "install".  The old "make build" hack is gone.

* Remove the MKTOOLS logic.  This was linked to the "make build" hack,
  and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
  BSD make wrapper.  Use new ${.ALLTARGETS} variable to scan for
  targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
  src/usr.* and src/gnu/usr.* that would do target filename rewriting
  (improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
  MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
2001-11-12 23:16:17 +00:00
tv
34f19baa7f Make use of OBJHOSTMACHINE here, since <bsd.obj.mk> is preloaded. 2001-11-12 17:46:35 +00:00
jmc
6dda1d498c Pull the rmd160 stuff out as mtree now has options to selectively compile
pieces out we won't need during a build.
2001-11-11 01:36:15 +00:00
jmc
ac4077ac62 Turn on defines to disable all the hashing functions. We don't need these for
the build and some systems won't have all the routines.
2001-11-11 01:35:21 +00:00
thorpej
f48c450929 Build the cross-dbsym. 2001-11-09 15:07:25 +00:00
thorpej
ca61e8a63a Support for building the new BFD-using dbsym(8) as a targeted host
tool.
2001-11-09 05:53:26 +00:00
jmc
67de198df5 XXX...Complete hack for now.
Add a stub for RMD160File which prints out a warning and returns NULL.

This allows mtree to be built when hosting from a 1.5.x box.
The real solution is to convert the src/tools bits into clean portable tools
and not have them so NetBSD-current centric.
2001-11-08 20:30:54 +00:00
tv
472dcba2fb * Always use the makewrapper when starting a build phase.
* Set stuff mostly in the environment, not on make(1)'s command line.
  This is needed for MACHINE and MACHINE_ARCH (noted by bjh21), and keeps
  the mk.conf-overriding-env behavior (suggested by several people).

* Use MAKEFLAGS to make the wrapper script more readable.

* When prepping objdir in tools for the default TOOLDIR value, just make
  that objdir; leave the recursive "make obj" for later.
2001-11-02 05:07:22 +00:00
thorpej
d8c2abc4aa Make *really* sure that MACHINE is set to an empty string so that
it doesn't infect the linker script build (i.e. override any MACHINE=
that might already be in MAKEFLAGS).
2001-11-01 01:52:45 +00:00
tv
a75f4fb35e Don't actually delete the default tooldir on "cleandir"; else we'll nuke
the nbmake that is probably currently running.

Just leave the "cleantools" manual target as a shortcut for the user.
2001-10-31 19:38:02 +00:00
tv
61be23b431 * Create a variable HOST_OSTYPE that represents the host build environment,
using `uname -s`-`uname -r`-`uname -p || uname -m`.  This can be overridden
  in mk.conf or the environment, and is used by host tools to ensure that
  build hosts do not clobber each other.

* Now that there's an objdir in src/tools, make a default TOOLDIR by creating
  "tools.${HOST_OSTYPE}" in the objdir (if it exists) of src/tools.  This
  means that TOOLDIR is no longer required to be set in a build, though it
  still may be set manually if desired.

* Set MKTOOLS to "yes" by default, since the default TOOLDIR is now located
  in a known mutable location.  This may still be set manually if desired.
2001-10-31 17:46:08 +00:00
tv
dd7ca02987 Make handling of USETOOLS uniform: Don't need to check whether it is
defined, as <bsd.own.mk> always sets it; also, compare only against "yes"
(not "no") for a yes/no check, as there are two negative states ("no" and
"never").
2001-10-31 16:15:00 +00:00
tv
c9a6a2c359 * Always descend into "tools" regardless of USETOOLS setting. Instead,
just don't build the tools if USETOOLS!=yes.  This permits objdirs to
  be created even when USETOOLS=no.

* Clean up use of "-m" by specifying it to .MAKEFLAGS: if needed.
2001-10-31 01:20:09 +00:00
perry
b0b54c8912 Nuke the test for TOOLDIR here. Although it is theoretically a nice
idea, in practice it prevents doing totally reasonable things like
"make cleandir" or "make obj" when you don't have a TOOLDIR built.
2001-10-27 01:57:40 +00:00
thorpej
722428c06b Add asn1_compile as a host tool. 2001-10-25 07:45:13 +00:00
thorpej
1ae193710b Avoid some annoying pitfalls of HOST_CPPFLAGS:=... in Makefile.host. 2001-10-25 02:37:49 +00:00
thorpej
14b9a21526 Avoid some annoying pitfalls of HOST_CPPFLAGS:=... in Makefile.host. 2001-10-25 02:23:21 +00:00
thorpej
21d2d1202e Back out previous -- it has other annoying side-effects I missed. 2001-10-25 02:02:46 +00:00
thorpej
9132ab1031 No need to assign HOSTPROGNAME here, since we aren't changing it from
what PROG defaults to.
2001-10-25 01:49:48 +00:00
thorpej
e39fae1aff Add the program's CPPFLAGS to HOST_CPPFLAGS using make(1)'s normal
lazy evaluation semantics, not the "assign it now" semantics.  This
allows variables used in the program's CPPFLAGS to get the correct
values of e.g. MACHINE, MACHINE_ARCH, MACHINE_CPU, etc.

Problem was notices when propagating MACHINE and MACHINE_ARCH via
MAKEFLAGS (i.e. from the command line, rather than the environment).

For this to work, make sure you <bsd.hostprog.mk> is at least rev 1.15.
2001-10-25 01:25:02 +00:00
thorpej
14c7c08a1d Provide a PRINTOBJDIR. 2001-10-25 00:36:26 +00:00
thorpej
b196c65125 Build a properly target-prefixed cross-tool version of mdsetimage,
using libbfd.
2001-10-24 23:57:45 +00:00