Commit Graph

90 Commits

Author SHA1 Message Date
uebayasi
104daad189 Use LINKSCRIPT. 2014-11-15 12:36:42 +00:00
mrg
4c1f611656 add -Wa,-Av8 to CFLAGS and AFLAGS to fix kernel build with binutils 2.23.2. 2013-10-03 22:01:04 +00:00
joerg
13d8b2b89c Move SPARC and SPARC64 to modern CPP. Update UPDATING note for this and
Alpha.
2011-01-17 18:11:09 +00:00
mrg
4c92852a80 remove almost all the ability to build netbsd with an a.out target.
we're ELF now, and there are many missing checks against OBJECT_FMT.
if we ever consider switching, the we can figure out what new ones
we need but for now it's just clutter.

this doesn't remove any of the support for exec_aout or any actually
required-for-boot a.out support, only the ability to build a netbsd
release in a.out format.  ie, most of this code has been dead for
over a decade.

i've tested builds on vax, amd64, i386, mac68k, macppc, sparc, atari,
amiga, shark, cats, dreamcast, landisk, mmeye and x68k.  this covers
the 5 MACHINE_ARCH's affected, and all the other arch code touched.
it also includes some actual run-time testing of sparc, i386 and
shark, and i performed binary comparison upon amiga and x68k as well.


some minor details relevant:
- move shlib.[ch] from ld.aout_so into ldconfig proper, and cut them
  down to only the parts ldconfig needs
- remove various unused source files
- switch amiga bootblocks to using elf2bb.h instead of aout2bb.h
2010-07-06 05:59:50 +00:00
joerg
6d51094880 Add missing assym.h dependency. 2008-02-12 22:27:27 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
christos
f6b4c20f18 s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name. 2005-05-31 04:03:08 +00:00
thorpej
e33c2bb5d5 Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
2004-06-04 04:45:49 +00:00
thorpej
09dfaace39 The traditional C preprocessor is fixed in GCC 3.3 now, so no need
to skip -traditional-cpp for HAVE_GCC3.
2002-11-26 18:51:12 +00:00
christos
61a86a83fe add a couple more dependencies so that we can build a kernel without
make depend.
2002-07-01 16:37:08 +00:00
thorpej
d941ddfee0 Don't use -traditional-cpp if HAVE_GCC3. 2002-06-04 21:39:09 +00:00
pk
8769ef5de3 Remove out-dated dependencies on Makefile. 2002-01-22 17:04:31 +00:00
atatat
155e541aa2 Instead of checking for previous usage, just append to some make
variables.  Tweak some variables to provide for more uniform defaults.
Minor adaption to makefiles for already converted ports.
2001-11-23 05:18:59 +00:00
lukem
03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
atatat
d5de3c2fb2 Abstract out a large chunk of the kernel build machinery so that new
build features (such as ross's DEBUGLIST) can easily be applied to all
ports.  This should reduce the complexity of each port's kernel
Makefile considerably.  Line counts:

     227 arch/i386/conf/Makefile.i386.orig
      98 arch/i386/conf/Makefile.i386
     227 arch/alpha/conf/Makefile.alpha.orig
      99 arch/alpha/conf/Makefile.alpha
     219 arch/sparc/conf/Makefile.sparc.orig
     102 arch/sparc/conf/Makefile.sparc
     215 arch/vax/conf/Makefile.vax.orig
     102 arch/vax/conf/Makefile.vax
     253 conf/Makefile.kern.inc

Roll i386, alpha, sparc, and vax over to the new build machinery.
2001-11-16 00:23:02 +00:00
jmc
6d536163de Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
2001-10-26 06:45:33 +00:00
thorpej
2a073cf8d0 Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
2001-10-23 19:42:16 +00:00
mrg
3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
pk
203c10194b Supply a kernel link script that puts `etext' at the end of all
read-only sections. Modelled after a similar change in the i386 port.
2001-02-11 16:16:58 +00:00
pk
57f38322d4 Add `-mno-fpu' to the compiler options once again: the current compiler
(egcs-2.91.66) is still liable to use FPU registers as temporaries.
2001-01-22 12:59:29 +00:00
jdolecek
cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
hubertf
9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej
6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
tsutsui
11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
tron
04eb110431 Add "dependall" target for comfort. 2000-01-24 20:36:06 +00:00
tsutsui
e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
tsutsui
644b514c39 Change STRIPFLAGS=-g for cross-toolchains. 2000-01-19 14:44:58 +00:00
cgd
f886376518 be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
1999-07-26 05:20:44 +00:00
christos
0c2a15c04a we don't need no-fpu; anyway this has been renamed in new version of egcs 1999-07-10 22:18:34 +00:00
mrg
ecdad0ec33 clean up a bit after jason :)
- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
  would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
  $INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
1999-07-09 09:52:55 +00:00
pk
61f60a2fbe Allow SFILES to be empty; from Julian Coleman. 1999-06-28 21:03:23 +00:00
christos
952f511570 Use -n for ELF. Using -N might work, but produces only one section.
No flags will not work, because it will produce a kernel loaded at 0xf0000000.
This is because the bfd ELF pagesize (in elf32-sparc.c) is 0x10000. Since
we need to load at 0xf0004000, we use -n.
1999-05-05 10:50:02 +00:00
christos
8ed58f33a5 Add -n for ELF, note weirdness in comment. 1999-04-30 13:31:52 +00:00
mrg
8b70f01b60 use LINKFLAGS=-X to avoid stripping out per-file debugging info (idea from chuck@netbsd.org) 1999-04-18 10:52:31 +00:00
christos
c95ea656d6 Elf bits. 1999-02-14 20:04:26 +00:00
augustss
fc5f9ee81d Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C. 1999-01-08 19:26:12 +00:00
drochner
2468738337 change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
 the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
 (for now; should depend on actual "option LKM" or -better- functions
 included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
 by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
lukem
c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
thorpej
a7f360c6c9 Specify a non-profiling C rule. 1998-05-31 23:25:41 +00:00
tv
b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
thorpej
ce4c770f88 Make sure CPP, AR, AS, and RANLIB are defined. 1997-11-12 23:11:50 +00:00
thorpej
a421995756 Define LORDER, NM, and TSORT here, like we do the rest of the tools. 1997-11-12 22:25:31 +00:00
lukem
7d508b124f define SIZE?=size, and use ${SIZE} instead of size. makes cross
compilation easier
1997-10-03 07:17:00 +00:00
christos
7f41ec0345 PR/4162: Chris Jones: make cleandir does not work properly; it does not
remove the object files and the .depend file in the kernel build directory.
1997-09-30 22:50:53 +00:00
pk
40c87730b3 Move KERNBASE to 0xf0000000. 1997-09-23 19:59:27 +00:00
leo
198bd713f2 Generate assym.h dependencies when making 'depend'. 1997-07-12 22:07:36 +00:00
mycroft
cbbcf185ae Put the genassym.sh output in a temp file, and mv -f it, in case
it fails spectacularly and doesn't clean up.
1997-03-14 23:23:45 +00:00
christos
0d71b22d50 Use genassym.cf 1997-03-12 15:17:13 +00:00
pk
ddb0d6fa06 Add `-mno-fpu' to compiler flags; pulled up from 1.2 version. 1997-02-05 00:12:46 +00:00
perry
19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00