Commit Graph

1029 Commits

Author SHA1 Message Date
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
itojun
49d6a0d5af document MKxxx/NOxxx naming rule. 2002-04-19 03:08:05 +00:00
itojun
9b96df2ed3 NOCRYPTO is no longer used and has no effect, so remove documentation 2002-04-16 03:47:32 +00:00
lukem
987817d952 add ELF2ECOFF 2002-04-12 05:08:53 +00:00
lukem
0476c683f0 replace BSDSRCDIR with _SRC_TOP_, since the latter is more likely to
be "accurate".  document _SRC_TOP_.
2002-04-10 15:05:41 +00:00
jdolecek
a4fee01be9 Only attempt to make the machine links for targets 'depend', 'all',
'dependall'.
This fixes misc/16227 by Stoned Elipot.

XXX this solution is not ideal
2002-04-09 17:14:38 +00:00
wiz
8237994500 No more arm32. 2002-04-08 12:25:22 +00:00
jdolecek
a5abace5e2 Do what rev. 1.50 intented using .BEGIN, g/c target 'machine-links'.
Making ${OBJS} and ${DPSRC} depend on target which is always out of date is
_really_ bad idea.
2002-04-06 17:49:02 +00:00
lukem
266f41b284 add INSTALLBOOT. sort some entries in bsd.sys.mk 2002-04-03 05:32:58 +00:00
bjh21
15b0cb61a9 Add a default for CAP_MKDB. 2002-04-01 13:30:24 +00:00
bjh21
c3e2abe891 Add CKSUM. 2002-03-31 15:01:39 +00:00
bjh21
c18727ccec MACHINE_ARCH can't be "arm26", so don't bother checking for that. 2002-03-31 14:59:04 +00:00
bjh21
407daa978b Provide a default for PWD_MKDB. 2002-03-31 11:48:45 +00:00
matt
6c83577293 Change VAX to default to new toolchain. 2002-03-30 21:53:27 +00:00
tv
75032d5369 COPTS is for target objects, not host objects. 2002-03-29 18:58:19 +00:00
matt
c670c2a754 Don't complain if vax && ELF. 2002-03-28 06:59:39 +00:00
eeh
f0a7e18ff6 Use the medium low model for sparc64 programs that don't 2GB of data segment. 2002-03-27 05:40:54 +00:00
eeh
72feb11b6e Reserve %g4 for backwards compatibility with the old ABI. 2002-03-27 05:39:00 +00:00
fredette
ba0d9b105c In the machine-links target, the sun2 also needs a sun68k symlink.
Plan ahead and make it on the sun3 also.
2002-03-26 23:13:08 +00:00
shiba
a3b10f5127 Switch mac68k to ELF. Now the default executable binaries are ELF.
Approved by Scott,briggs,fredb,wormey
2002-03-25 14:03:05 +00:00
bjh21
2d53252971 MACHINE_ARCH == "arm26" hasn't been valid for some time, so don't check
for it.
2002-03-24 22:32:00 +00:00
thorpej
9c33b55e7c Split the notion of building Hesiod, Kerberos, S/key, and YP
infrastructure and using that infrastructure in programs.

	* MKHESIOD, MKKERBEROS, MKSKEY, and MKYP control building
	  of the infratsructure (libraries, support programs, etc.)

	* USE_HESIOD, USE_KERBEROS, USE_SKEY, and USE_YP control
	  building of support for using the corresponding API
	  in various libraries/programs that can use it.

As discussed on tech-toolchain.
2002-03-22 18:10:19 +00:00
pk
ad92811bb5 `linksinstall' cannot be issued in parallel with other realinstall sources. 2002-03-21 12:59:56 +00:00
pk
2918ae233f Target dependencies again: `machine-links' must be made before $DPSRCS.
We now have
	all => $PROG => $OBJS => $DPSRCS (if present) => machine-links
2002-03-21 12:54:21 +00:00
lukem
328fa6b19f use ${VAR:D:U...} if we only want a value in the undefined case 2002-03-19 22:17:23 +00:00
lukem
1995e199a3 Change library installation.
Instead of:
	install -m 600 [...]
	ranlib -t [...]
	chmod 444 [...]
use the newly added "-a" flag to install(1) to invoke ranlib ifndef UPDATE.
Should prevent unnecessary ranlib-ing of installed libraries with UPDATE
defined.

Per discussion with simonb.
2002-03-19 14:39:22 +00:00
lukem
1e73b16611 - ensure that check_DESTDIR and check_RELEASEDIR are always available,
even if USETOOLS==no.
- wrap setting of DESTDIR?= with own USETOOLS==yes check.

should fix a problem noted on current-users with USETOOLS=no
2002-03-19 11:03:05 +00:00
bjh21
6ee155e761 We never set MACHINE_ARCH to "arm26" so remove the MACHINE_GNU_ARCH mapping
for it.
2002-03-18 18:42:52 +00:00
thorpej
43c6552a49 Add a BUILDID variable, which further qualifies object directories. 2002-03-14 18:26:32 +00:00
tv
cb25cef027 Remove the ability to set "USE_NEW_TOOLCHAIN=no" explicitly. This is a
one-way transition, so once it's defined by default for a port, it can't
be turned off.
2002-03-09 15:17:45 +00:00
lukem
1142a4b638 oops; should define check_DESTDIR before setting default for DESTDIR... 2002-03-05 03:53:58 +00:00
lukem
4b99ad4ad4 provide check_DESTDIR and check_RELEASEDIR targets in <bsd.own.mk>
and use those rather than local versions
2002-03-05 03:51:21 +00:00
pk
c26b4a92e2 Serialize access to $INFODIR/dir; multiple instances of `install-info'
would trash that file.
2002-03-01 15:42:10 +00:00
pk
721880b0bc Fix target order: the machine links must be present before compiling object
files.
2002-02-28 15:55:50 +00:00
is
92a181b637 Move Amiga PORT to ELF and new toolchain. Still missing:
support in UPGRADE to move old shared libs to /emul/aout
2002-02-15 21:28:03 +00:00
matthias
dd580ad301 ".else if" doesn't work, thus everything was "COFF". Changed to ".elif". 2002-02-15 10:20:24 +00:00
mycroft
09819b05ef Don't use .PHONY for targets that are actually installed. Instead use force
dependencies.  (Among other things, `make -t install' does something vaguely
sensible now.)
2002-02-11 21:14:58 +00:00
pk
9d602b9ca3 Mark installed system libraries as .MADE only if we're actually establishing
their default variable values here.
2002-02-07 07:43:24 +00:00
ross
a3f340931b Honor MANSUBDIR when installing md html pages. 2002-02-07 01:56:02 +00:00
ross
8a40adb0ab if NOMAN is defined, also define NOHTML 2002-02-07 00:53:34 +00:00
ross
57170e8ef5 fix html sources, they were depending on -mdoc, not -mdoc2html 2002-02-07 00:52:23 +00:00
christos
e7f0a97835 s/.NOSUFF/.MADE/ 2002-02-04 17:25:44 +00:00
thorpej
300e827b31 * Turn lint and profiling on for SuperH.
* Turn lint on for m68000.
2002-02-04 08:49:04 +00:00
thorpej
085ea65576 Allow PIC on SuperH if HAVE_GCC3 is defined. 2002-02-03 23:52:23 +00:00
christos
944602ca01 Apply a .NOSUFF: directive to targets we don't want to have processed by
the suffix rules engine.
2002-02-03 21:40:14 +00:00
veego
e2e1706f05 Ups, it is LIBUSBHID and not LIBUSBHIB. 2002-02-02 16:54:26 +00:00
veego
3de557e57f Change LIBUSB to LIBUSBHIB, reflecting the library name change. 2002-02-02 16:49:52 +00:00
tv
9fbd88883c Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
  sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
2002-01-31 22:43:33 +00:00
thorpej
f8e5e3f153 Simplify OBJECT_FMT assignment:
* All new-toolchain platforms are ELF.
* Else, if SuperH, old toolchain is COFF.
* Else, a.out.
2002-01-29 19:17:49 +00:00
tv
aaa9568b4c rpcgen now accepts CPP from the environment; set it here for TOOLDIR builds. 2002-01-29 10:21:35 +00:00
enami
d85411d9e1 Mark the targets clean{extra,objs} as PHONY. 2002-01-29 03:09:54 +00:00
thorpej
186e6c6ef1 Make sun2 use the new toolchain. 2002-01-28 21:46:49 +00:00
thorpej
546bb05742 GNU_ARCH.m68000=m68010 2002-01-28 19:22:52 +00:00
thorpej
fbf7ff9f0c m68000 also gets "-netbsdelf", for consistency with m68k. 2002-01-28 01:44:19 +00:00
thorpej
82405f125e Reverse the sense of the check for new-toolchain platforms. Instead,
list the MACHINE_ARCHs and MACHINEs that have NOT yet converted to
the new-toolchain.
2002-01-28 00:37:25 +00:00
ross
de50fe2e64 Drink ALL the Kool-Aid.
(Move -mieee from lib/ to bsd.*.mk; new var MKIEEEFP defaults to yes.)
2002-01-27 23:33:51 +00:00
reinoud
7eeda2c9b1 Some targets were obmitted in the .PHONY declaration in the bsd.own.mk file
resulting in (number of suffix rules) times stat() calls to be made to the
kernel.

Also fixing typo cheanhtml to cleanhtml.
2002-01-26 23:53:00 +00:00
lukem
47737da33b add $PAX to both, and $MAKEFS to bsd.sys.mk 2002-01-25 05:21:40 +00:00
mrg
e00fc7b09f add SUNLABEL & SPARCINSTALLBOOT. 2002-01-19 13:32:52 +00:00
tv
1e3d9d1775 Remove parentheticals from _HOST_OSREL, to avoid them showing up in
directory names (which would confuse shells).
2002-01-15 19:13:59 +00:00
lukem
328430b633 revert previous, and reenable tools/makefs now that it works on
netbsd-current and netbsd-1-5
2002-01-10 05:17:20 +00:00
tv
bc23e55bd1 Disable makefs in src/tools for the moment; it's very dependent on -current
NetBSD headers and sources right now.  (Temporary workaround for PR 15175.)
2002-01-09 16:58:35 +00:00
mrg
e5a41e331a generate man pages into a temporary file and rename it if groff succeeds.
this avoids a problem where groff was dumping core and leaving empty
manpage.catN files, that would later not be rebuilt.
2002-01-06 01:27:25 +00:00
mrg
ed3bd49a81 add ${ZIC} 2002-01-05 07:34:08 +00:00
mrg
b193186a84 add ${MAKEFS} 2002-01-05 07:29:31 +00:00
thorpej
5da850da23 For PROG_CXX DESTDIR builds, pull in -lstdc++ and -lm regardless
of GCC version.
2002-01-04 19:07:18 +00:00
thorpej
4a756ca168 Switch the MIPS ports to the new-toolchain. 2002-01-04 06:23:41 +00:00
tv
06f06e280f Add more tolerant script-based implementation of mkdep for host tool
compiles.  Based loosely on mkdep.old.compiler (so CSRG license copied),
but now uses just one rewrite (awk) process per cpp invocation and
determines the proper way to run cpp and awk via a "configure" script.

Use HOST_MKDEP in bsd.hostlib/hostprog.mk (defaulting to the old override
value of MKDEP), and give it a TOOLDIR equivalent in bsd.own.mk.
2002-01-03 22:45:23 +00:00
tv
f5a9d4e145 Don't end up with a "rm -f" statement with no args. Fixes toolchain/15074. 2002-01-03 19:11:17 +00:00
thorpej
3797a3f56f Remove x86-64 "nolint" hack. 2002-01-02 23:58:18 +00:00
thorpej
6e1a67a44b Remove the "MKLINT=no if HAVE_GCC3" hack; a patch to support lint
comments has been submitted to the GCC maintainers, so if you're
using a GCC 3.x that doesn't support lint, set MKLINT=no in mk.conf.
2002-01-02 23:48:19 +00:00
thorpej
4c0be6ef79 If HAVE_GCC3 is set, force MKLINT to "no", since GCC 3.x's C pre-processor
does not yet support our lint(1).
2002-01-01 01:44:29 +00:00
thorpej
d68ee9d8e3 Per a suggestion from matthew green, PROG_CXX takes the place of
PROG for C++ programs.
2002-01-01 01:38:25 +00:00
thorpej
c32d4e9692 Don't set NOPROFILE for x86-64. 2002-01-01 01:17:32 +00:00
thorpej
48a03ed537 Document PROG_CXX and HAVE_GCC3. 2002-01-01 00:34:26 +00:00
thorpej
04520355fe * If PROG_CXX is set by the program's Makefile, use ${CXX} to link
the program rather than ${CC}.
* If HAVE_GCC3 is defined, pull in "-lstdc++ -lm" as additional C++
  support libraries for DESTDIR builds.
2002-01-01 00:27:06 +00:00
thorpej
3b7fb63d99 Document MKBFD, MKGDB, MKGCC. 2001-12-31 23:11:05 +00:00
thorpej
1c95f6c025 * Remove -Wno-format -fno-builtin from CFLAGS in the x86-64 case.
* Default MKBFD, MKGDB, and MKGCC to "yes".  Set them to "no" for
  x86-64.
2001-12-31 23:06:34 +00:00
thorpej
73b83787ee Don't put CPP flags in CFLAGS. 2001-12-28 07:49:26 +00:00
thorpej
5e53e8bb6a Add -ffreestanding to CFLAGS. 2001-12-28 07:48:39 +00:00
thorpej
20f59a49c7 x86_64 doesn't use the "new toolchain" but it doesn't really use the
old one either.  The "new toolchain" environment is closer to what we
want, however, for using the external toolchain currently required for
x86_64, so set USE_NEW_TOOLCHAIN for x86_64.
2001-12-28 06:57:41 +00:00
lukem
56640963f5 cosmetic tweak on an older comment 2001-12-28 01:40:50 +00:00
lukem
efcc9a4c9d * Add user-controlled mk.conf variables
- SHLIBDIR	Location to install shared libraries if ${USE_SHLIBDIR}
			is "yes".  Defaults to "/usr/lib".

	- USE_SHLIBDIR	If "yes", install shared libraries in ${SHLIBDIR}
			instead of ${LIBDIR}.  Defaults to "no".
			Sets ${_LIBSODIR} to the appropriate value.
			This may be set by individual Makefiles as well.

	- SHLINKDIR	Location of shared linker.  Defaults to "/usr/libexec".
			If != "/usr/libexec", change the dynamic-linker
			encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
	libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
	libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
  to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

  1.)	If nothing is set or changed, there is no change from the
	current behaviour:
		- Static /bin, /sbin, and bits of /usr/*
		- Dynamic rest
		- Shared linker is /usr/libexec/ld*so

  2.)	If the following make variables are set:
		LDSTATIC=
		SHLINKDIR=/lib
		SHLIBDIR=/lib
	Then the behaviour becomes:
		- Dynamic tools
		- .so libraries used by /bin and /sbin are installed to /lib,
		  with symlinks from /usr/lib/lib*so to -> /lib/lib*so
		  where appropriate
		- Shared linker is /lib/ld*so

  3.)	As per 2.), but add the following variable:
		USE_SHLIBDIR=yes
	This forces all .so's to be instaleld in /lib (with compat
	symlinks), not just those tagged by their Makefiles to be.
	Again, compat symlinks are installed
2001-12-28 01:32:37 +00:00
minoura
ebfadba677 ELF!! 2001-12-24 11:38:04 +00:00
chs
450ff86b66 convert luna68k to ELF. ok'd by nisimura. 2001-12-22 23:38:20 +00:00
thorpej
ab25dcd90e Switch alpha to the new toolchain. 2001-12-20 18:29:47 +00:00
tv
26375a1710 Remove -Wa,-Av9a hack from <sys.mk> and relegate it to the places that need
it (kernel and libc).

The current version of the gas assembler in the tree (2.11.2) already
defaults to generating object files for "-Av9 -64", supporting V9
instructions in ELF64 object format.  "-Av9a" is only needed for specific
parts of the NetBSD base sources, and not for all third-party code.
2001-12-19 21:17:59 +00:00
tv
35bea081fe Always depend on ${MANPAGES}, so deliberately pre-generated files are
built automatically (even without a ${MANSUFFIX}).
2001-12-17 21:27:45 +00:00
scw
18449b952b Switch all OBJECT_FMT=elf m68k ports to new-toolchain. 2001-12-16 20:31:09 +00:00
thorpej
a676fd1679 Err, after consulting FSF's config.sub, shl -> shle. 2001-12-15 01:50:33 +00:00
thorpej
a78b7669d7 MACHINE_GNU_ARCH for sh3el is "shl". sh3eb and sh3el ELF targets
are also named "netbsdelf".
2001-12-15 00:39:08 +00:00
explorer
1411757e4a install bsd.hostlib.mk, since bsd.hostprog.mk is and things in /usr/src/tools wants it. 2001-12-14 05:46:47 +00:00
lukem
b0b0a32ad7 Set NOxxx= before <bsd.own.mk> is pulled in (even indirectly).
Otherwise the appropriate MKxxx=no won't be defined .
2001-12-12 12:24:19 +00:00
thorpej
3ff7b8a100 Per suggestion from Todd:
Wrap assignments of various tools within USETOOLS_BINUTILS and
USETOOLS_GCC (names reflect the FSF packages the tools are provided
by), which default to "yes", for easy testing of different versions
of these packages.
2001-12-12 05:50:09 +00:00
tv
f845c9ab5f Revert rev. 1.228. If USE_NEW_TOOLCHAIN is set to "yes" explicitly by the
user on a platform that is not *OFFICIALLY* switched to the new toolchain,
WE REALLY, REALLY DO WANT A LOUD WARNING AT THE START OF THE BUILD!
2001-12-12 03:39:27 +00:00
tv
ae87b37058 Revert previous. This breaks many things, since such variables as LD and AS
are defined in <sys.mk>!

A better way needs to be devised for this.
2001-12-12 03:28:37 +00:00