Commit Graph

1024 Commits

Author SHA1 Message Date
thorpej
3b08abd277 * Eliminate the USE_NEW_TOOLCHAIN variable. Instead, split it into
two variables:

  TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
  no working in-tree toolchain (hppa, ns32k, sh5, x86_64).

  EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
  an external toolchain (e.g. /usr/local/gnu).  This enables the cross-build
  framework even for TOOLCHAIN_MISSING platforms.

  If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
  unconditionally set to "no", since the bits are not there to build.

  If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
  since the external toolchain's compiler is not in-sync with the
  in-tree compiler support components (e.g. libgcc).

* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
  that file can use it.
2002-09-17 23:18:25 +00:00
thorpej
2f50b4a3fb No longer have to invoke lorder with the shell explicitly; the host
tool is patched to use the working shell as the interpreter.
2002-09-15 17:07:14 +00:00
thorpej
4c81eb7f69 If DESTDIR is set, add ${DESTDIR}/usr/libdata to the lint library
search path.  This works around the problem of lint using the
wrong lint libraries until a "lint -d ..." equivalent is implemented
for libraries.
2002-09-14 16:56:10 +00:00
thorpej
5d0c1f4d8b * Add MKTEMP as a host tool.
* Pass MKTEMP to lorder, and invoke lorder with sh.
2002-09-14 05:01:45 +00:00
thorpej
3e19f8e1f0 Build a .gdbinit in the objdir when building a program. The .gdbinit
file sets the shared library prefix to ${DESTDIR}, and adds "sources"
directives for each file listed in the GDBINIT Makefile variable.
2002-09-08 03:59:02 +00:00
lukem
08e7e88032 In the MKDYNAMICROOT==yes case, move the shared linker from /lib/ld.elf_so to
/libexec/ld.elf_so.  Per discussion with a few other developers.
2002-08-28 09:57:10 +00:00
lukem
ed401558f2 Implement MKDYNAMICROOT, which currently defaults to "no", but will
be changed in the future to "yes".

If MKDYNAMICROOT == "no", there is no change from existing behaviour
of a static /bin and /sbin (and a few programs in elsewhere).

If MKDYNAMICROOT == "yes", the following changes occur:
    in <bsd.own.mk>:
	SHLIBDIR?=     /lib
	SHLINKDIR?=	/lib
    in various Makefiles, the following entry is DISABLED.
	LDSTATIC?=-static
This results in all programs (except those "standalone" programs built
in sys/arch/*/stand) are linked dynamically, the shared linker is moved
from /usr/libexec to /lib (with a compat symlink), and the shared
libraries used by /bin and /sbin programs are moved from /usr/lib to
/lib (with compat symlinks).
2002-08-27 14:46:11 +00:00
lukem
9aa0322535 don't bother with "rm -f $$t" before ${INSTALL_LINK} or ${INSTALL_SYMLINK},
as they default to using install(1) -r.
the rm can cause problems in certain situations, such as moving a library or
shared linker that install(1) depends upon to another location and replacing
it with a (sym)link.
2002-08-24 13:12:38 +00:00
lukem
811a3185a3 Explicitly note that if NOxxx and USE_SHLIBDIR are set by a Makefile,
it must be before <bsd.own.mk> is included.
2002-08-19 14:51:58 +00:00
thorpej
364a2bbe9c Add LIBPMC. 2002-08-09 00:21:22 +00:00
chris
07bc5d7a16 Default cats to using X 4.
Also correct macppc entry while here.
2002-08-03 22:10:07 +00:00
jdolecek
6dbfb914a2 add 'sun68k' to CLEANFILES for sun2/sun3
add 'sparc' to CLEANFILES for sparc64
2002-07-29 07:42:52 +00:00
mrg
eca4d02c51 be sure to link "sparc" dir as well, for sparc64 2002-07-20 11:44:31 +00:00
mrg
83a8e86ca3 add -Wa,-Av8plus to CFLAGS if we are building for 32bit sparc 2002-07-20 11:43:34 +00:00
yamt
4f420b3122 - add CSHLIBFLAGS.
- fix typos in comment.
2002-07-20 08:50:10 +00:00
mycroft
6b3df890c5 USE_XF86_4 on macppc. 2002-07-17 20:02:15 +00:00
fredette
f53ba8285a Now build profiled libraries on m68000. 2002-07-17 18:46:12 +00:00
scw
cad6d3b034 Add MKBFD=no for SH5. 2002-07-11 15:30:03 +00:00
scw
8debe49965 SH5 Makefile Magic. 2002-07-11 15:00:57 +00:00
tron
2bd3a8cf3c Use XFree86 4.x by default on i386 and x86_64.
This change was approved by Frank van der Linden.
2002-07-03 11:51:34 +00:00
fredette
fbd75fdec9 Enabled building PIC on hppa. Also don't use a --netbsdelf GNU target name. 2002-07-01 19:31:12 +00:00
fredette
cb3f47b13c Like on x86_64, don't use -O at all with the hppa compiler. 2002-07-01 19:30:36 +00:00
fredette
9c5d82c38e Added a temporary workaround when building libraries for hppa:
link in libgcc to get the millicode routines.
2002-07-01 19:29:31 +00:00
lukem
cbc959037f add CAT here too 2002-06-11 16:25:11 +00:00
mason
7e7e806c7e Add cat(1) as a host tool. 2002-06-10 18:32:28 +00:00
fredette
964be1b6b3 Add cases for hppa. 2002-06-10 14:14:47 +00:00
itojun
608d40cf27 sync LIBxx with bsd.prog.mk
XXX bsd.prog.mk and bsd.hostprog.mk defines very similar thing
- can we unify them? at least the definition?
2002-06-09 04:04:32 +00:00
thorpej
fc4bb28e9c Don't -I${DESTDIR}/usr/include without -nostdinc'ing, first. Some
versions of GCC are unhappy with that.
2002-06-05 02:47:56 +00:00
thorpej
055791361b Some changes to facilitate fixing the toolchain issue on ns32k:
* Don't make OBJECT_FMT dependent on USE_NEW_TOOLCHAIN.  All ports
  except ns32k are ELF, so set it appropriately.  Allow it to be
  overridden in the ns32k case.
* If ns32k && USE_NEW_TOOLCHAIN, don't build shared libraries, because
  external toolchains don't support them for our a.out.
* If ns32k && OBJECT_FMT == ELF, the GNU platform is "netbsdelf".
* If ns32k && USE_NEW_TOOLCHAIN, don't attempt to build the in-tree
  binutils 2.11.2, gdb 5.0, or gcc 2.95.3.

This allows us to do USE_NEW_TOOLCHAIN cross-builds to ns32k using
an external toolchain.
2002-06-05 02:42:09 +00:00
thorpej
a46ef4e6ab Don't use -traditional-cpp if HAVE_GCC3. 2002-06-04 21:14:59 +00:00
thorpej
f7e9eefade Add case for armeb. 2002-06-04 21:13:21 +00:00
itojun
8dea09ecf9 comment 2002-05-30 21:55:14 +00:00
msaitoh
0a2fcbab95 remove duplicated -Wpointer-arith when WARNS=2 2002-05-30 21:44:07 +00:00
itojun
dbbcec2c04 have bsd.endian.mk, which detects target endian.
generate *.db in target endian.  (see tech-userlevel for discussions)
2002-05-30 21:40:47 +00:00
bjh21
bf9ec67e38 Add fgen as a host tool, used for sys/arch/sparc/bootblk. 2002-05-28 21:56:05 +00:00
thorpej
0ee3170e4d Add cases for "armeb" (big-endian ARM). 2002-05-20 14:34:07 +00:00
lukem
2ba24b706f remove now-unnecessary SPARCINSTALLBOOT 2002-05-07 12:13:54 +00:00
eeh
25dfe267a1 Don't add -DBIGPIC to APICFLAGS. 2002-05-07 02:06:32 +00:00
eeh
90c1726789 Turn on 32-bit relocations for sparc64 PIC code. 2002-05-07 01:45:45 +00:00
kleink
98807c1129 Add PREPMKBOOTIMAGE. 2002-05-03 20:38:42 +00:00
lukem
d918d8f74f Move the METALOG from ${_SRC_TOP_OBJ_} to ${DESTDIR}.
There were too many synchronisation problems with using the former;
including situations such as a "make clean" performed between two
installs to the same DESTDIR would result in a truncated METALOG and
the resultant sets would be missing stuff such as include files that
don't get reinstalled if they haven't changed, even with !UPDATE.
2002-05-03 08:58:45 +00:00
simonb
e8fbd2c7f5 Make the ELF2ECOFF assignment an "?=" assignment so it won't override the
setting in bsd.own.mk.
2002-05-02 13:13:53 +00:00
sommerfeld
36dc09c47d make(1) specifies, regarding :: targets:
Sources for a target do not accumulate over dependency lines
	when this operator is used.

An unstated implication of this is that when parallel builds are done,
each separate instance of the target can be scheduled independantly.
As a result, the linksinstall target with commands could be executed
too early during a parallel build since they didn't actually have a
dependancy on "realinstall".

To fix this, correct the linksinstall:: realinstall dependancy by
eliminating the command-less linksinstall target, and moving the
dependancy to the other linksinstall target.
2002-04-30 14:29:01 +00:00
wiz
61f5aedc2a sh3e[bl] uses new toolchain, so remove an .elsif that doesn't make sense
anymore.
2002-04-29 19:27:07 +00:00
groo
d11fdcc492 Complete the switch to NEW_TOOLCHAIN for sh3e[lb]. 2002-04-26 19:16:04 +00:00
lukem
82172c42f6 Implement NETBSDSRCDIR, which is the top level of the NetBSD source tree.
Defaults to the directory determined by the _SRC_TOP_ logic (if != ""),
and the BSDSRCDIR.

NETBSDSRCDIR has been provided for use by the various NetBSD source
Makefiles to find the top of the NetBSD source tree, and isn't
affected by the inheritance properties of _SRC_TOP_, nor does it
have the magic BSDOBJDIR baggage that BSDSRCDIR is stuck with.
2002-04-26 15:02:02 +00:00
lukem
46569c985e Revert part of previous; don't set _SRC_TOP_ to BSDSRCDIR if it can't be
determined, since BSDSRCDIR's default of /usr/src might not exist and the
calculation of _SRC_TOP_OBJ_ would then generate a warning :-(.
_SRC_TOP_ can now == "" if make(1) (or a parent make(1)) was started
outside of the NetBSD source tree.

Now, if _SRC_TOP_ != "",  BSDSRCDIR defaults to ${_SRC_TOP_} and
BSDOBJDIR defaults to the objdir of ${BSDSRCDIR}.

Failsafe defaults for BSDSRCDIR (/usr/src) and BSDOBJDIR (/usr/obj)
are provided later in the file.

This should result in a usable BSDSRCDIR default (i.e, _SRC_TOP_ if
running from within the source tree), with safe fallbacks as appropriate
(/usr/src, as always), meaning that BSDSRCDIR should be able to be used
instead of _SRC_TOP_ in the source tree, although I need to carefully
test this.  *aaaiiiieeee!!!*.  (Now I understand some of Todd's pain :)
2002-04-26 14:27:23 +00:00
lukem
2c1cfc8e8c - in <bsd.files.mk>, don't clear FILES after using it, as that prevents
make -V FILES
  from being useful (and given that every other variable can be
  extracted using make -V, the behaviour was unusually inconsistent
  given that the original reason for clearing it doesn't seem to be
  relevant anymore)
- use <bsd.prog.mk> instead of directly including <bsd.files.mk>
  (and possibly <bsd.man.mk> or <bsd.own.mk>)
- remove obsolete NOPROG
2002-04-24 08:18:45 +00:00
lukem
756722c3c1 Overhaul how _SRC_TOP_ is determined, ensuring that it will be set to
${BSDSRCDIR} if make(1) is running outside of the NetBSD source tree.
This should solve various issues, including building xsrc which uses
${BSDSRCDIR}/distrib/sets/maketars.
2002-04-23 07:20:22 +00:00
bjh21
93fb47689e Sun Workshop C 5.0 objects to generating object files with suffixes other than
.o.  Work around this by generating host object files with a .lo.o suffix and
then renaming to .lo.
2002-04-23 00:15:45 +00:00