Commit Graph

875 Commits

Author SHA1 Message Date
jmc 92a08ecf01 If USE_NEW_TOOLCHAIN is defined and set to yes treat that as a match (and then
reset it to nowarn so it lines up with ported platforms).
2001-12-04 04:25:21 +00:00
thorpej 89c7818994 Ah, don't actually need MAKEWHATIS here. 2001-11-29 23:55:33 +00:00
thorpej 79b30cbdeb Provide ${MAKEWHATIS}. 2001-11-29 23:53:23 +00:00
wiz d245a498c0 Remove spurious '.' in line 42, as reported by Naoto Shimazaki on
current-users on Thu, 29 Nov 2001 09:17:16.
2001-11-29 11:57:21 +00:00
jmc 9083f42414 There's no need for TMACDIR here after all. Anything using it is using it for
FILES installs so it can't have DESTDIR in front of it (and those Makefiles
all explicitly set it).
2001-11-28 23:32:16 +00:00
tv 8f2c8e583f Fix the :U's used with ${UPDATE} so that stray values don't get put into
the .PHONY: target.
2001-11-28 20:19:08 +00:00
tv 43453698f5 Use :U successfully this time. In an expression such as ${FOO:D:Ubar}, you
end up with empty string if FOO is defined, and `bar' if it is undefined.
2001-11-28 20:12:47 +00:00
jmc df5817fef0 Make sure the tools built roff tools are first in the path before calling groff
as it calls troff/etc without any leading pathnames. Otherwise the tools
version is fairly useless as the installed system version will be used to
build all manpages
2001-11-28 05:03:18 +00:00
jmc 20bb75f3c3 Separate out TMACDIR's use for install's from it's dependency function.
The dependency should be against the TOOLDIR files (is USETOOLS=yes) but
installs will always use ${DESTDIR}/usr/share/tmac.

Without this if people do not have /usr/share/tmac/tmac.andoc on their
systems while building the build will break in the groff areas due to
the dependency rules.
2001-11-28 05:01:28 +00:00
tv 632cac0d3c Add <bsd.hostlib.mk>, for use when building a host-specific library
(to be used with src/tools/compat).
2001-11-28 04:42:49 +00:00
tv 4a1ad2db60 If DESTDIR is set, do a similar nostdinc dance for the standard C++ include
directory.
2001-11-28 04:38:29 +00:00
jmc 2e1248a6d9 If using MAKEOBJDIRPREFIX use the same checks as the symlink logic does below.
i.e. if the root of the object tree doesn't exist then complain and exit.

This makes both sections consistant to each other (MAKEOBJDIR specifies an
exact directory so there's no root per se to check so nothing can really be
done there).
2001-11-27 05:42:24 +00:00
jmc 423e88b943 Ok, take 2 on redoing KERNOBJDIR logic.
Use the old setup for MAKEOBJDIRPREFIX but also add a new check for
_SRC_TOP_OBJ_ and use that if it's set. This allows a make release using
build.sh (which uses MAKEOBJDIR patterns) to function correctly on r/o
source tree's.
2001-11-27 05:39:03 +00:00
jmc 6c76413f2f Back out last. Typo'd some things I need to test again 2001-11-27 05:17:31 +00:00
jmc 917bc8ae24 Change logic around for kernel objdir handling.
Use MAKEOBJDIRPREFIX as before if it's set

otherwise if _SRC_TOP_OBJ_ is set and isn't "" use it as the base for the
obj dir
2001-11-27 05:11:41 +00:00
jmc 60ec3c749b Revert check for NOGCCERROR back to a .if \!defined as the :U check will break
anyone with NOGCCERROR=1 in their mk.conf
2001-11-26 06:11:20 +00:00
jmc 900d713ff9 Back out last change until some more testing is done. Should account for folks
not using objdirs and also force this to cd to $_SRC_TOP_ before doing the
make obj
2001-11-25 23:40:08 +00:00
jmc d271a36466 Before checking the value from PRINTOBJDIR force a make obj at $_SRC_TOP_. 2001-11-25 09:06:00 +00:00
perry 8382183dca 1) Use the -r flag for INSTALL_SYMLINK and INSTALL_LINK, just like
INSTALL_FILE does.
2) Patch around a bug that has been biting people in which bsd.own.mk
   attempts to cd into space when building outside of the tree. I may
   have a better solution for the whole thing later.
2001-11-24 21:26:34 +00:00
perry 6385e197e2 Now that install has been fixed to deal with -r in the symlink case,
make bsd.lib.mk use INSTALL_SYMLINK instead of mv and ln -s.
Note: There is still one weird case I left alone, in which symlinks
get built in the objdir. I didn't want to log metadata for those links
so I left the old machinery in for them.
XXX do we even need that elaborate dance for the ln's in the objdir?
2001-11-24 21:23:38 +00:00
tv d00721de07 :U can't be used to test for existence, as the variable may contain an
arbitrary value; change back to .if !defined().  Problem noted by
bernd@arresum.inka.de in PR toolchain/14629.
2001-11-20 17:12:22 +00:00
kleink e1deb16aa0 NLS is commonly expanded to Native Language Support, not National Language
Support.
2001-11-19 16:20:26 +00:00
perry 550b1df8d6 replace instances of ln with ${INSTALL_LINK} and ${INSTALL_SYMLINK} 2001-11-19 04:46:07 +00:00
perry 5fdc9f9a85 document/rename UNPRIVED 2001-11-19 04:45:06 +00:00
perry 77bd523e70 Snapshot of some things for builds as non-root -- work in progress:
0) rename UNPRIVILEGED UNPRIVED. It was too long. We'll argue about if
   we should replace it with yet something else later. It currently
   logs metadata by default. We'll argue more about that later too.
1) create a _SRC_TOP_OBJ_ variable pointing at the /usr/src objdir so
   we know where to dump metadata.
2) Add a METALOG variable pointing at the default location for the
   metadata log. (This may be moved or renamed -- the location is just
   for testing.)
3) Add a HOST_INSTALL_FILE used in host tools Makefiles instead of
   INSTALL_FILE, which doesn't include ${INSTPRIV} (i.e -U -M ${METALOG})
4) Add INSTALL_LINK, INSTALL_SYMLINK for use in other .mk files so we
   can get rid of explicit uses of ln. Slightly clean up INSTALL_FILE.
2001-11-19 04:44:32 +00:00
thorpej 8bfeb9a270 Use a little transitional hack to determine if we use -isystem
or -idirafter.  Use the former only of USE_NEW_TOOLCHAIN, since
-isystem causes the old toolchain to bomb out when building
libstdc++.
2001-11-19 02:46:50 +00:00
bjh21 dbd735b9b1 Need bsd.sys.mk for the GROFF definition in the non-USETOOLS case. 2001-11-18 15:11:25 +00:00
thorpej 72915508bb Protect from multiple inclusion. 2001-11-17 22:55:24 +00:00
thorpej b78cf94ba5 Make sure MKDEP is defined for the non-USETOOLS case. 2001-11-17 22:48:48 +00:00
thorpej c08a9b5abe Need bsd.sys.mk for the GROFF definition in the non-USETOOLS case. 2001-11-17 20:38:45 +00:00
atatat 04faedd073 Add OBJDUMP to the toolchain list. 2001-11-15 21:43:54 +00:00
tv 42423ab0f9 Make it possible to warn about platforms that are not yet switched to the
new toolchain.
2001-11-15 19:24:07 +00:00
wiz dd7622f812 It's called nbmakeinfo now, not makeinfo. 2001-11-15 13:05:35 +00:00
wiz 012e08cda6 Re-add check for defined(MKSOFTFLOAT) that got lost in v1.60.
Needed for Makefiles which include bsd.sys.mk, but not bsd.own.mk,
like distrib/macppc/floppies/ramdisk/Makefile.
Okay'd by simonb.
2001-11-15 12:15:09 +00:00
tv 6699960dbf C/..$/.c/ -> C/\..$/.c/ 2001-11-14 23:06:26 +00:00
tv 5e32db9d70 Remove SHAREDSTRINGS logic for host programs; this is unnecessary here. 2001-11-14 23:03:06 +00:00
tv 6c2c072164 Turn off host-specific objdirs by default. Set MKHOSTOBJ=yes to enable. 2001-11-14 22:29:23 +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 a9c913616b Put -Is in CPPFLAGS, not CFLAGS; change -I to -isystem as appropriate. 2001-11-14 22:01:40 +00:00
tv c8c3cf578b Move the DESTDIR-based nostdinc logic to bsd.lib.mk and bsd.prog.mk where
it belongs (with the native target compile rules).
2001-11-14 21:49:53 +00:00
thorpej f01d91b750 If MACHINE_ARCH == arm, set USE_NEW_TOOLCHAIN=yes and OBJECT_FMT=ELF.
It is infeasible for some ARM ports to use anything but ELF/new-toolchain,
and this allows for the ARM ports that aren't ready for ELF to stay at
MACHINE_ARCH == arm32 until they're ready.  The rest of the ARM ports
have a userbase such that if a flag day happens with the compiler (there
are a couple of ABI issues still being discussed), that it won't matter
so much.

Discussed with Ben Harris, Matt Thomas, and Chris Gilbert.
2001-11-14 19:46:38 +00:00
tv 23b305bcfa * Use -isystem instead of -idirafter for ${DESTDIR}/usr/include.
* Provide defaults for HOST_AR and HOST_RANLIB.
* Formatting cleanup.
2001-11-13 20:25:38 +00:00
tv 0b806103d9 "${FOO}" -> ${FOO:Q} 2001-11-13 17:37:03 +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 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 7745da0f1c Set CFLAGS and CPPFLAGS for the benefit of <bsd.dep.mk>, and move the
inclusion of <bsd.sys.mk> to the top to get defaults.  (Dependency handling
needs a cleanup, and will get one soon....)
2001-11-12 22:06:41 +00:00
tv 300ea65311 MAKEFLAGS isn't accessible from a conditional during parse; use .MAKEFLAGS
instead.
2001-11-12 20:11:21 +00:00
tv d35dc81716 "true" doesn't output anything; use "echo" instead. 2001-11-12 20:05:15 +00:00
tv 84935b4037 Make PRINTOBJDIR use "${MAKE} -V .OBJDIR" so it will work correctly with
<bsd.obj.mk> rewrites of ${.OBJDIR}.  Add a failsafe (checking for the
-V option in MAKEFLAGS) to prevent infinite recursion.
2001-11-12 20:03:44 +00:00
tv 777bc9f06a Use ${__curdir} consistently. 2001-11-12 18:49:12 +00:00