History log of /netbsd-current/sys/arch/alpha/conf/Makefile.alpha
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.88 26-Jul-2023 rin

Use OBJCOPY_STRIPFLAGS instead of STRIPFLAGS.


Revision tags: netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
# 1.87 05-May-2021 thorpej

Remove unneeded Makefile dependency for things which have long since
used opt_*.h headers.


# 1.86 05-May-2021 thorpej

Add a linker script for the kernel. The main difference vs the
standard built-in for "ld -N" is to actually process the
.data.cacheline_aligned and .data.read_mostly sections correctly.


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.85 22-Sep-2018 rin

branches: 1.85.16;
- Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.84 20-Jan-2016 jklos

branches: 1.84.16; 1.84.18;
Change base address to account for later Alpha models with later firmware
which require more space for SRM.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.83 10-Mar-2013 christos

branches: 1.83.14;
Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-base
# 1.82 09-Nov-2009 mhitch

branches: 1.82.12; 1.82.22;
Loading the kernel at 0xfffffc0000300000 doesn't work on my ES40 when I've
got raid drives configured on the iop(4) adapter and the mlx(4) adapter.
Change the kernel text to 0xfffffc0000430000 (which is where Tru64 has its
kernel).


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.81 11-Dec-2008 alc

Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 ad-audiomp2-base netbsd-5-base
# 1.80 25-Oct-2008 apb

branches: 1.80.2; 1.80.4; 1.80.10;
Use ${TOOL_SED} instead if plain sed in Makefiles.


Revision tags: matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.79 17-Oct-2007 garbled

branches: 1.79.16; 1.79.20; 1.79.26;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.78 05-Jun-2007 yamt

branches: 1.78.10;
add a missing dependency.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.77 01-Sep-2006 dyoung

branches: 1.77.12; 1.77.14; 1.77.18; 1.77.20;
Add ath(4) to GENERIC alpha kernel. UNTESTED.


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base
# 1.76 11-Dec-2005 christos

branches: 1.76.4; 1.76.8;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.75 31-May-2005 christos

branches: 1.75.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.74 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
# 1.73 24-Sep-2002 ad

branches: 1.73.6; 1.73.10;
Remove the TCWSCONS config now that zstty can do flow control on IOASIC
machines.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base
# 1.72 09-Dec-2001 atatat

Fix a couple of rcsids.


# 1.71 23-Nov-2001 atatat

Oops. Add in missing entry point settings.


# 1.70 23-Nov-2001 atatat

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.


# 1.69 20-Nov-2001 lukem

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\""


# 1.68 16-Nov-2001 atatat

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.


Revision tags: thorpej-mips-cache-base
# 1.67 26-Oct-2001 jmc

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.


# 1.66 23-Oct-2001 thorpej

branches: 1.66.2;
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.


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.65 31-May-2001 enami

branches: 1.65.2; 1.65.4;
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.


# 1.64 14-May-2001 ross

Fix new DEBUGLIST feature.


# 1.63 08-May-2001 ross

Add DEBUGLIST mechanism. Example config line:
makeoptions DEBUGLIST="uvm* trap ufs*"
This turns on -g for only those files matching a DEBUGLIST pattern word.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.62 17-Dec-2000 jdolecek

branches: 1.62.2;
delete obsolete comment


# 1.61 07-Dec-2000 jdolecek

generate dependencies for assym.h for make depend, fix dependency
for maxusers (make assym.h depend on Makefile)


# 1.60 29-Nov-2000 jdolecek

remove rules for genassym.c, it's no longer pertinent


# 1.59 29-Nov-2000 jdolecek

convert to use common genassym.cf


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.58 09-May-2000 hubertf

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.


# 1.57 09-May-2000 thorpej

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.


Revision tags: chs-ubc2-newbase
# 1.56 01-Feb-2000 tsutsui

Revert STRIPPROG -> STRIP


# 1.55 24-Jan-2000 tron

Add "dependall" target for comfort.


# 1.54 19-Jan-2000 tsutsui

STRIP -> STRIPPROG


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.53 26-Jul-1999 cgd

branches: 1.53.2;
be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.


# 1.52 09-Jul-1999 mrg

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. :)


# 1.51 31-May-1999 ross

Be less drastic when running strip(1) on DEBUG=-g kernels.


# 1.50 31-May-1999 ross

Fix generation of locore.s dependencies.


Revision tags: kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.49 23-Feb-1999 thorpej

branches: 1.49.2; 1.49.4; 1.49.6;
Do all the fancy printf format checking.


# 1.48 01-Feb-1999 tron

Fix bug exposed by new "mkdep" program:
"${SFILES}" is empty so that "cc" will fail with "No input files"
during "mkdep".


# 1.47 15-Jan-1999 thorpej

Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS.


# 1.46 08-Jan-1999 augustss

Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.45 15-Oct-1998 drochner

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


# 1.44 05-Sep-1998 lukem

distclean is a synonym for cleandir


Revision tags: eeh-paddr_t-base
# 1.43 31-May-1998 thorpej

Specify a non-profiling C rule.


# 1.42 12-Apr-1998 tv

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.)


# 1.41 25-Mar-1998 ross

1. Always link at the high address, now that we can use free ram below
the kernel on most platforms, including all of the entry-level platforms.
2. Kill the comments and options for load address selection.
3. Kill the default -g.


# 1.40 12-Nov-1997 thorpej

Make sure CPP, AR, AS, and RANLIB are defined.


# 1.39 12-Nov-1997 thorpej

Define LORDER, NM, and TSORT here, like we do the rest of the tools.


# 1.38 03-Nov-1997 ross

--Add handcrafted stack frame directives to locore.s palcode vector
--entries / remove kernel entry from locore / reorganize vector entry
--code. Enables access to stack frames transitively w.r.t. palcode
--vectors, e.g. upward traceback works, inverting (possibly several)
--kernel vectors. Until now, all trackbacks ended at the first-reached
--instance of trap(), which was totally useless as there is no mystery
--to trap->panic->cpu_reboot


Revision tags: netbsd-1-3-base marc-pcmcia-base
# 1.37 04-Oct-1997 gwr

branches: 1.37.2;
use common genassym.awk


# 1.36 30-Sep-1997 christos

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.


Revision tags: thorpej-signal-base
# 1.35 22-Aug-1997 cgd

lie to the compiler when doing mkdep so that it depends .s files correctly.


Revision tags: marc-pcmcia-bp alpha-nwscons-base
# 1.34 19-Jul-1997 cgd

branches: 1.34.2;
* move COPTS out of the 'program variables' section of the makefile and
into the 'argument variables' section.
* define variables for CPP and SIZE, defaulting to cpp and size, respectively.
* kill HOSTED_C*, since it's no longer used.
* use ${SIZE} rather than using 'size' directly, so it can be overridden for
cross-builds.
* generate assym.h via assym.s and an awk script.


# 1.33 06-Apr-1997 cgd

clean up NetBSD RCS ID strings


Revision tags: is-newarp-before-merge is-newarp-base
# 1.32 04-Feb-1997 perry

Nuke some options GENERIC residue.


# 1.31 04-Feb-1997 perry

Nuke some GENERIC residue.


# 1.30 23-Jan-1997 cgd

update for new kernel library Makefile.inc rules


# 1.29 21-Jan-1997 cgd

make load address settable via LOADADDRESS make option


# 1.28 22-Dec-1996 cgd

branches: 1.28.2;
for now, -Wcast-qual is just not practical in the kernel


# 1.27 01-Dec-1996 jonathan

branches: 1.27.2;
* Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

Leave `mandatory' flags (like -msoft-float which on m68k enforces no
FP in kernel) in CFLAGS.


# 1.26 13-Nov-1996 cgd

Set CWARNFLAGS to:
-Werror -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wcast-qual -Wno-format
(if not already set). -Wno-format is necessary because of the few
bits of code in the tree that use NetBSD's special kernel printf()
formats, and because there are a few bits of code that try to use the 'q'
modifier to print int64_t's (but int64_t's are only 'long' on the
alpha, not 'long long').


# 1.25 27-Sep-1996 cgd

compile .S files with cpp | sed | as, to work around a bug with the
ELF-outputting version of the assembler. (It was dying when it saw
some CPP line number markers.) This is temporary. (Workaround suggested
by Matt Thomas.)


# 1.24 09-Sep-1996 mycroft

Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s. Remove $TOUCH. Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.


# 1.23 31-Aug-1996 mycroft

Wrap the default definition of `S' in `.ifndef'.


# 1.22 20-Aug-1996 cgd

kill 'microcode' Makefile.inc include, define CWARNFLAGS with ?=.


# 1.21 12-Aug-1996 mycroft

Put into . Remove hooks for `config-dependent' and
`device-driver' flags.


# 1.20 10-Aug-1996 mycroft

* Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.


# 1.19 10-Aug-1996 mycroft

* Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.


# 1.18 14-Jul-1996 cgd

include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.


# 1.17 09-Jul-1996 cgd

add -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes as
CWARNFLAGS in the Makefile, but (for the time being, i.e. until that
works) override that with 'makeoptions' in std.alpha.


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.16 19-May-1996 cgd

add -O2 to the optimization flags. A reason why optimization seemed
to fail on some systems was never found; hopefully it's gone away (or
was never really there).


# 1.15 11-May-1996 mycroft

Make `make depend' work for libraries.


# 1.14 29-Feb-1996 cgd

Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them. From PR 2142, OK'd
by mycroft.


# 1.13 26-Feb-1996 mycroft

Define build programs with `?=', so they can be overridden with `makeoptions'.


# 1.12 09-Feb-1996 mycroft

Fix mkdep problems due to missing flags.


# 1.11 03-Feb-1996 mycroft

Use `-traditional-cpp' when building .s and .S files.


# 1.10 02-Feb-1996 mycroft

Clone these, and fix many bugs.


# 1.9 02-Feb-1996 mycroft

assym.s -> assym.h
(Some ports did this already.)


# 1.8 23-Nov-1995 cgd

wholesale update from my NetBSD/Alpha source tree. Includes:
Support for AXPpci CPUs,
Support for AlphaStation 600 CPUs,
new boot block structure, which requires an 'installboot'
program and works a lot like the NetBSD/sparc boot blocks.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.7 19-Sep-1995 thorpej

Compile the kernel with -fno-builtin.


# 1.6 03-Aug-1995 cgd

update for all the latest bells and whistles


# 1.5 24-Jun-1995 christos

Makefile.`arch`: - Add -lcompat
- Change clean: target to be a double dep one,
so libraries can use the clean target too


# 1.4 16-May-1995 jtc

Removing -DKERNEL, transition to _KERNEL has been completed


# 1.3 22-Apr-1995 cgd

kill some non-gnu-tools cruft, allow rest of programs to be parameterized


# 1.2 23-Mar-1995 jtc

Added -D_KERNEL to CFLAGS alongside each -DKERNEL.


# 1.1 13-Feb-1995 cgd

preliminary Alpha support. note that NOT ALL OF THE MODIFICATIONS TO
THE REST OF THE KERNEL ARE IN THE TREE YET. Also, some of this is
_incredibly_ hack-ish, etc., but it works.


# 1.87 05-May-2021 thorpej

Remove unneeded Makefile dependency for things which have long since
used opt_*.h headers.


# 1.86 05-May-2021 thorpej

Add a linker script for the kernel. The main difference vs the
standard built-in for "ld -N" is to actually process the
.data.cacheline_aligned and .data.read_mostly sections correctly.


Revision tags: thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.85 22-Sep-2018 rin

- Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.84 20-Jan-2016 jklos

branches: 1.84.16; 1.84.18;
Change base address to account for later Alpha models with later firmware
which require more space for SRM.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.83 10-Mar-2013 christos

branches: 1.83.14;
Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-base
# 1.82 09-Nov-2009 mhitch

branches: 1.82.12; 1.82.22;
Loading the kernel at 0xfffffc0000300000 doesn't work on my ES40 when I've
got raid drives configured on the iop(4) adapter and the mlx(4) adapter.
Change the kernel text to 0xfffffc0000430000 (which is where Tru64 has its
kernel).


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.81 11-Dec-2008 alc

Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 ad-audiomp2-base netbsd-5-base
# 1.80 25-Oct-2008 apb

branches: 1.80.2; 1.80.4; 1.80.10;
Use ${TOOL_SED} instead if plain sed in Makefiles.


Revision tags: matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.79 17-Oct-2007 garbled

branches: 1.79.16; 1.79.20; 1.79.26;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.78 05-Jun-2007 yamt

branches: 1.78.10;
add a missing dependency.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.77 01-Sep-2006 dyoung

branches: 1.77.12; 1.77.14; 1.77.18; 1.77.20;
Add ath(4) to GENERIC alpha kernel. UNTESTED.


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base
# 1.76 11-Dec-2005 christos

branches: 1.76.4; 1.76.8;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.75 31-May-2005 christos

branches: 1.75.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.74 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
# 1.73 24-Sep-2002 ad

branches: 1.73.6; 1.73.10;
Remove the TCWSCONS config now that zstty can do flow control on IOASIC
machines.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base
# 1.72 09-Dec-2001 atatat

Fix a couple of rcsids.


# 1.71 23-Nov-2001 atatat

Oops. Add in missing entry point settings.


# 1.70 23-Nov-2001 atatat

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.


# 1.69 20-Nov-2001 lukem

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\""


# 1.68 16-Nov-2001 atatat

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.


Revision tags: thorpej-mips-cache-base
# 1.67 26-Oct-2001 jmc

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.


# 1.66 23-Oct-2001 thorpej

branches: 1.66.2;
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.


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.65 31-May-2001 enami

branches: 1.65.2; 1.65.4;
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.


# 1.64 14-May-2001 ross

Fix new DEBUGLIST feature.


# 1.63 08-May-2001 ross

Add DEBUGLIST mechanism. Example config line:
makeoptions DEBUGLIST="uvm* trap ufs*"
This turns on -g for only those files matching a DEBUGLIST pattern word.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.62 17-Dec-2000 jdolecek

branches: 1.62.2;
delete obsolete comment


# 1.61 07-Dec-2000 jdolecek

generate dependencies for assym.h for make depend, fix dependency
for maxusers (make assym.h depend on Makefile)


# 1.60 29-Nov-2000 jdolecek

remove rules for genassym.c, it's no longer pertinent


# 1.59 29-Nov-2000 jdolecek

convert to use common genassym.cf


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.58 09-May-2000 hubertf

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.


# 1.57 09-May-2000 thorpej

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.


Revision tags: chs-ubc2-newbase
# 1.56 01-Feb-2000 tsutsui

Revert STRIPPROG -> STRIP


# 1.55 24-Jan-2000 tron

Add "dependall" target for comfort.


# 1.54 19-Jan-2000 tsutsui

STRIP -> STRIPPROG


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.53 26-Jul-1999 cgd

branches: 1.53.2;
be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.


# 1.52 09-Jul-1999 mrg

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. :)


# 1.51 31-May-1999 ross

Be less drastic when running strip(1) on DEBUG=-g kernels.


# 1.50 31-May-1999 ross

Fix generation of locore.s dependencies.


Revision tags: kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.49 23-Feb-1999 thorpej

branches: 1.49.2; 1.49.4; 1.49.6;
Do all the fancy printf format checking.


# 1.48 01-Feb-1999 tron

Fix bug exposed by new "mkdep" program:
"${SFILES}" is empty so that "cc" will fail with "No input files"
during "mkdep".


# 1.47 15-Jan-1999 thorpej

Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS.


# 1.46 08-Jan-1999 augustss

Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.45 15-Oct-1998 drochner

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


# 1.44 05-Sep-1998 lukem

distclean is a synonym for cleandir


Revision tags: eeh-paddr_t-base
# 1.43 31-May-1998 thorpej

Specify a non-profiling C rule.


# 1.42 12-Apr-1998 tv

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.)


# 1.41 25-Mar-1998 ross

1. Always link at the high address, now that we can use free ram below
the kernel on most platforms, including all of the entry-level platforms.
2. Kill the comments and options for load address selection.
3. Kill the default -g.


# 1.40 12-Nov-1997 thorpej

Make sure CPP, AR, AS, and RANLIB are defined.


# 1.39 12-Nov-1997 thorpej

Define LORDER, NM, and TSORT here, like we do the rest of the tools.


# 1.38 03-Nov-1997 ross

--Add handcrafted stack frame directives to locore.s palcode vector
--entries / remove kernel entry from locore / reorganize vector entry
--code. Enables access to stack frames transitively w.r.t. palcode
--vectors, e.g. upward traceback works, inverting (possibly several)
--kernel vectors. Until now, all trackbacks ended at the first-reached
--instance of trap(), which was totally useless as there is no mystery
--to trap->panic->cpu_reboot


Revision tags: netbsd-1-3-base marc-pcmcia-base
# 1.37 04-Oct-1997 gwr

branches: 1.37.2;
use common genassym.awk


# 1.36 30-Sep-1997 christos

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.


Revision tags: thorpej-signal-base
# 1.35 22-Aug-1997 cgd

lie to the compiler when doing mkdep so that it depends .s files correctly.


Revision tags: marc-pcmcia-bp alpha-nwscons-base
# 1.34 19-Jul-1997 cgd

branches: 1.34.2;
* move COPTS out of the 'program variables' section of the makefile and
into the 'argument variables' section.
* define variables for CPP and SIZE, defaulting to cpp and size, respectively.
* kill HOSTED_C*, since it's no longer used.
* use ${SIZE} rather than using 'size' directly, so it can be overridden for
cross-builds.
* generate assym.h via assym.s and an awk script.


# 1.33 06-Apr-1997 cgd

clean up NetBSD RCS ID strings


Revision tags: is-newarp-before-merge is-newarp-base
# 1.32 04-Feb-1997 perry

Nuke some options GENERIC residue.


# 1.31 04-Feb-1997 perry

Nuke some GENERIC residue.


# 1.30 23-Jan-1997 cgd

update for new kernel library Makefile.inc rules


# 1.29 21-Jan-1997 cgd

make load address settable via LOADADDRESS make option


# 1.28 22-Dec-1996 cgd

branches: 1.28.2;
for now, -Wcast-qual is just not practical in the kernel


# 1.27 01-Dec-1996 jonathan

branches: 1.27.2;
* Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

Leave `mandatory' flags (like -msoft-float which on m68k enforces no
FP in kernel) in CFLAGS.


# 1.26 13-Nov-1996 cgd

Set CWARNFLAGS to:
-Werror -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wcast-qual -Wno-format
(if not already set). -Wno-format is necessary because of the few
bits of code in the tree that use NetBSD's special kernel printf()
formats, and because there are a few bits of code that try to use the 'q'
modifier to print int64_t's (but int64_t's are only 'long' on the
alpha, not 'long long').


# 1.25 27-Sep-1996 cgd

compile .S files with cpp | sed | as, to work around a bug with the
ELF-outputting version of the assembler. (It was dying when it saw
some CPP line number markers.) This is temporary. (Workaround suggested
by Matt Thomas.)


# 1.24 09-Sep-1996 mycroft

Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s. Remove $TOUCH. Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.


# 1.23 31-Aug-1996 mycroft

Wrap the default definition of `S' in `.ifndef'.


# 1.22 20-Aug-1996 cgd

kill 'microcode' Makefile.inc include, define CWARNFLAGS with ?=.


# 1.21 12-Aug-1996 mycroft

Put into . Remove hooks for `config-dependent' and
`device-driver' flags.


# 1.20 10-Aug-1996 mycroft

* Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.


# 1.19 10-Aug-1996 mycroft

* Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.


# 1.18 14-Jul-1996 cgd

include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.


# 1.17 09-Jul-1996 cgd

add -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes as
CWARNFLAGS in the Makefile, but (for the time being, i.e. until that
works) override that with 'makeoptions' in std.alpha.


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.16 19-May-1996 cgd

add -O2 to the optimization flags. A reason why optimization seemed
to fail on some systems was never found; hopefully it's gone away (or
was never really there).


# 1.15 11-May-1996 mycroft

Make `make depend' work for libraries.


# 1.14 29-Feb-1996 cgd

Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them. From PR 2142, OK'd
by mycroft.


# 1.13 26-Feb-1996 mycroft

Define build programs with `?=', so they can be overridden with `makeoptions'.


# 1.12 09-Feb-1996 mycroft

Fix mkdep problems due to missing flags.


# 1.11 03-Feb-1996 mycroft

Use `-traditional-cpp' when building .s and .S files.


# 1.10 02-Feb-1996 mycroft

Clone these, and fix many bugs.


# 1.9 02-Feb-1996 mycroft

assym.s -> assym.h
(Some ports did this already.)


# 1.8 23-Nov-1995 cgd

wholesale update from my NetBSD/Alpha source tree. Includes:
Support for AXPpci CPUs,
Support for AlphaStation 600 CPUs,
new boot block structure, which requires an 'installboot'
program and works a lot like the NetBSD/sparc boot blocks.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.7 19-Sep-1995 thorpej

Compile the kernel with -fno-builtin.


# 1.6 03-Aug-1995 cgd

update for all the latest bells and whistles


# 1.5 24-Jun-1995 christos

Makefile.`arch`: - Add -lcompat
- Change clean: target to be a double dep one,
so libraries can use the clean target too


# 1.4 16-May-1995 jtc

Removing -DKERNEL, transition to _KERNEL has been completed


# 1.3 22-Apr-1995 cgd

kill some non-gnu-tools cruft, allow rest of programs to be parameterized


# 1.2 23-Mar-1995 jtc

Added -D_KERNEL to CFLAGS alongside each -DKERNEL.


# 1.1 13-Feb-1995 cgd

preliminary Alpha support. note that NOT ALL OF THE MODIFICATIONS TO
THE REST OF THE KERNEL ARE IN THE TREE YET. Also, some of this is
_incredibly_ hack-ish, etc., but it works.


# 1.86 05-May-2021 thorpej

Add a linker script for the kernel. The main difference vs the
standard built-in for "ld -N" is to actually process the
.data.cacheline_aligned and .data.read_mostly sections correctly.


Revision tags: thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.85 22-Sep-2018 rin

- Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.84 20-Jan-2016 jklos

branches: 1.84.16; 1.84.18;
Change base address to account for later Alpha models with later firmware
which require more space for SRM.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.83 10-Mar-2013 christos

branches: 1.83.14;
Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-base
# 1.82 09-Nov-2009 mhitch

branches: 1.82.12; 1.82.22;
Loading the kernel at 0xfffffc0000300000 doesn't work on my ES40 when I've
got raid drives configured on the iop(4) adapter and the mlx(4) adapter.
Change the kernel text to 0xfffffc0000430000 (which is where Tru64 has its
kernel).


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.81 11-Dec-2008 alc

Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 ad-audiomp2-base netbsd-5-base
# 1.80 25-Oct-2008 apb

branches: 1.80.2; 1.80.4; 1.80.10;
Use ${TOOL_SED} instead if plain sed in Makefiles.


Revision tags: matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.79 17-Oct-2007 garbled

branches: 1.79.16; 1.79.20; 1.79.26;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.78 05-Jun-2007 yamt

branches: 1.78.10;
add a missing dependency.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.77 01-Sep-2006 dyoung

branches: 1.77.12; 1.77.14; 1.77.18; 1.77.20;
Add ath(4) to GENERIC alpha kernel. UNTESTED.


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base
# 1.76 11-Dec-2005 christos

branches: 1.76.4; 1.76.8;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.75 31-May-2005 christos

branches: 1.75.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.74 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
# 1.73 24-Sep-2002 ad

branches: 1.73.6; 1.73.10;
Remove the TCWSCONS config now that zstty can do flow control on IOASIC
machines.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base
# 1.72 09-Dec-2001 atatat

Fix a couple of rcsids.


# 1.71 23-Nov-2001 atatat

Oops. Add in missing entry point settings.


# 1.70 23-Nov-2001 atatat

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.


# 1.69 20-Nov-2001 lukem

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\""


# 1.68 16-Nov-2001 atatat

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.


Revision tags: thorpej-mips-cache-base
# 1.67 26-Oct-2001 jmc

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.


# 1.66 23-Oct-2001 thorpej

branches: 1.66.2;
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.


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.65 31-May-2001 enami

branches: 1.65.2; 1.65.4;
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.


# 1.64 14-May-2001 ross

Fix new DEBUGLIST feature.


# 1.63 08-May-2001 ross

Add DEBUGLIST mechanism. Example config line:
makeoptions DEBUGLIST="uvm* trap ufs*"
This turns on -g for only those files matching a DEBUGLIST pattern word.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.62 17-Dec-2000 jdolecek

branches: 1.62.2;
delete obsolete comment


# 1.61 07-Dec-2000 jdolecek

generate dependencies for assym.h for make depend, fix dependency
for maxusers (make assym.h depend on Makefile)


# 1.60 29-Nov-2000 jdolecek

remove rules for genassym.c, it's no longer pertinent


# 1.59 29-Nov-2000 jdolecek

convert to use common genassym.cf


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.58 09-May-2000 hubertf

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.


# 1.57 09-May-2000 thorpej

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.


Revision tags: chs-ubc2-newbase
# 1.56 01-Feb-2000 tsutsui

Revert STRIPPROG -> STRIP


# 1.55 24-Jan-2000 tron

Add "dependall" target for comfort.


# 1.54 19-Jan-2000 tsutsui

STRIP -> STRIPPROG


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.53 26-Jul-1999 cgd

branches: 1.53.2;
be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.


# 1.52 09-Jul-1999 mrg

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. :)


# 1.51 31-May-1999 ross

Be less drastic when running strip(1) on DEBUG=-g kernels.


# 1.50 31-May-1999 ross

Fix generation of locore.s dependencies.


Revision tags: kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.49 23-Feb-1999 thorpej

branches: 1.49.2; 1.49.4; 1.49.6;
Do all the fancy printf format checking.


# 1.48 01-Feb-1999 tron

Fix bug exposed by new "mkdep" program:
"${SFILES}" is empty so that "cc" will fail with "No input files"
during "mkdep".


# 1.47 15-Jan-1999 thorpej

Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS.


# 1.46 08-Jan-1999 augustss

Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.45 15-Oct-1998 drochner

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


# 1.44 05-Sep-1998 lukem

distclean is a synonym for cleandir


Revision tags: eeh-paddr_t-base
# 1.43 31-May-1998 thorpej

Specify a non-profiling C rule.


# 1.42 12-Apr-1998 tv

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.)


# 1.41 25-Mar-1998 ross

1. Always link at the high address, now that we can use free ram below
the kernel on most platforms, including all of the entry-level platforms.
2. Kill the comments and options for load address selection.
3. Kill the default -g.


# 1.40 12-Nov-1997 thorpej

Make sure CPP, AR, AS, and RANLIB are defined.


# 1.39 12-Nov-1997 thorpej

Define LORDER, NM, and TSORT here, like we do the rest of the tools.


# 1.38 03-Nov-1997 ross

--Add handcrafted stack frame directives to locore.s palcode vector
--entries / remove kernel entry from locore / reorganize vector entry
--code. Enables access to stack frames transitively w.r.t. palcode
--vectors, e.g. upward traceback works, inverting (possibly several)
--kernel vectors. Until now, all trackbacks ended at the first-reached
--instance of trap(), which was totally useless as there is no mystery
--to trap->panic->cpu_reboot


Revision tags: netbsd-1-3-base marc-pcmcia-base
# 1.37 04-Oct-1997 gwr

branches: 1.37.2;
use common genassym.awk


# 1.36 30-Sep-1997 christos

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.


Revision tags: thorpej-signal-base
# 1.35 22-Aug-1997 cgd

lie to the compiler when doing mkdep so that it depends .s files correctly.


Revision tags: marc-pcmcia-bp alpha-nwscons-base
# 1.34 19-Jul-1997 cgd

branches: 1.34.2;
* move COPTS out of the 'program variables' section of the makefile and
into the 'argument variables' section.
* define variables for CPP and SIZE, defaulting to cpp and size, respectively.
* kill HOSTED_C*, since it's no longer used.
* use ${SIZE} rather than using 'size' directly, so it can be overridden for
cross-builds.
* generate assym.h via assym.s and an awk script.


# 1.33 06-Apr-1997 cgd

clean up NetBSD RCS ID strings


Revision tags: is-newarp-before-merge is-newarp-base
# 1.32 04-Feb-1997 perry

Nuke some options GENERIC residue.


# 1.31 04-Feb-1997 perry

Nuke some GENERIC residue.


# 1.30 23-Jan-1997 cgd

update for new kernel library Makefile.inc rules


# 1.29 21-Jan-1997 cgd

make load address settable via LOADADDRESS make option


# 1.28 22-Dec-1996 cgd

branches: 1.28.2;
for now, -Wcast-qual is just not practical in the kernel


# 1.27 01-Dec-1996 jonathan

branches: 1.27.2;
* Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

Leave `mandatory' flags (like -msoft-float which on m68k enforces no
FP in kernel) in CFLAGS.


# 1.26 13-Nov-1996 cgd

Set CWARNFLAGS to:
-Werror -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wcast-qual -Wno-format
(if not already set). -Wno-format is necessary because of the few
bits of code in the tree that use NetBSD's special kernel printf()
formats, and because there are a few bits of code that try to use the 'q'
modifier to print int64_t's (but int64_t's are only 'long' on the
alpha, not 'long long').


# 1.25 27-Sep-1996 cgd

compile .S files with cpp | sed | as, to work around a bug with the
ELF-outputting version of the assembler. (It was dying when it saw
some CPP line number markers.) This is temporary. (Workaround suggested
by Matt Thomas.)


# 1.24 09-Sep-1996 mycroft

Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s. Remove $TOUCH. Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.


# 1.23 31-Aug-1996 mycroft

Wrap the default definition of `S' in `.ifndef'.


# 1.22 20-Aug-1996 cgd

kill 'microcode' Makefile.inc include, define CWARNFLAGS with ?=.


# 1.21 12-Aug-1996 mycroft

Put into . Remove hooks for `config-dependent' and
`device-driver' flags.


# 1.20 10-Aug-1996 mycroft

* Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.


# 1.19 10-Aug-1996 mycroft

* Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.


# 1.18 14-Jul-1996 cgd

include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.


# 1.17 09-Jul-1996 cgd

add -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes as
CWARNFLAGS in the Makefile, but (for the time being, i.e. until that
works) override that with 'makeoptions' in std.alpha.


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.16 19-May-1996 cgd

add -O2 to the optimization flags. A reason why optimization seemed
to fail on some systems was never found; hopefully it's gone away (or
was never really there).


# 1.15 11-May-1996 mycroft

Make `make depend' work for libraries.


# 1.14 29-Feb-1996 cgd

Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them. From PR 2142, OK'd
by mycroft.


# 1.13 26-Feb-1996 mycroft

Define build programs with `?=', so they can be overridden with `makeoptions'.


# 1.12 09-Feb-1996 mycroft

Fix mkdep problems due to missing flags.


# 1.11 03-Feb-1996 mycroft

Use `-traditional-cpp' when building .s and .S files.


# 1.10 02-Feb-1996 mycroft

Clone these, and fix many bugs.


# 1.9 02-Feb-1996 mycroft

assym.s -> assym.h
(Some ports did this already.)


# 1.8 23-Nov-1995 cgd

wholesale update from my NetBSD/Alpha source tree. Includes:
Support for AXPpci CPUs,
Support for AlphaStation 600 CPUs,
new boot block structure, which requires an 'installboot'
program and works a lot like the NetBSD/sparc boot blocks.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.7 19-Sep-1995 thorpej

Compile the kernel with -fno-builtin.


# 1.6 03-Aug-1995 cgd

update for all the latest bells and whistles


# 1.5 24-Jun-1995 christos

Makefile.`arch`: - Add -lcompat
- Change clean: target to be a double dep one,
so libraries can use the clean target too


# 1.4 16-May-1995 jtc

Removing -DKERNEL, transition to _KERNEL has been completed


# 1.3 22-Apr-1995 cgd

kill some non-gnu-tools cruft, allow rest of programs to be parameterized


# 1.2 23-Mar-1995 jtc

Added -D_KERNEL to CFLAGS alongside each -DKERNEL.


# 1.1 13-Feb-1995 cgd

preliminary Alpha support. note that NOT ALL OF THE MODIFICATIONS TO
THE REST OF THE KERNEL ARE IN THE TREE YET. Also, some of this is
_incredibly_ hack-ish, etc., but it works.


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.85 22-Sep-2018 rin

- Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos


Revision tags: pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.84 20-Jan-2016 jklos

branches: 1.84.16;
Change base address to account for later Alpha models with later firmware
which require more space for SRM.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.83 10-Mar-2013 christos

branches: 1.83.14;
Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-base
# 1.82 09-Nov-2009 mhitch

branches: 1.82.12; 1.82.22;
Loading the kernel at 0xfffffc0000300000 doesn't work on my ES40 when I've
got raid drives configured on the iop(4) adapter and the mlx(4) adapter.
Change the kernel text to 0xfffffc0000430000 (which is where Tru64 has its
kernel).


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.81 11-Dec-2008 alc

Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 ad-audiomp2-base netbsd-5-base
# 1.80 25-Oct-2008 apb

branches: 1.80.2; 1.80.4; 1.80.10;
Use ${TOOL_SED} instead if plain sed in Makefiles.


Revision tags: matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.79 17-Oct-2007 garbled

branches: 1.79.16; 1.79.20; 1.79.26;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.78 05-Jun-2007 yamt

branches: 1.78.10;
add a missing dependency.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.77 01-Sep-2006 dyoung

branches: 1.77.12; 1.77.14; 1.77.18; 1.77.20;
Add ath(4) to GENERIC alpha kernel. UNTESTED.


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base
# 1.76 11-Dec-2005 christos

branches: 1.76.4; 1.76.8;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.75 31-May-2005 christos

branches: 1.75.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.74 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
# 1.73 24-Sep-2002 ad

branches: 1.73.6; 1.73.10;
Remove the TCWSCONS config now that zstty can do flow control on IOASIC
machines.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base
# 1.72 09-Dec-2001 atatat

Fix a couple of rcsids.


# 1.71 23-Nov-2001 atatat

Oops. Add in missing entry point settings.


# 1.70 23-Nov-2001 atatat

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.


# 1.69 20-Nov-2001 lukem

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\""


# 1.68 16-Nov-2001 atatat

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.


Revision tags: thorpej-mips-cache-base
# 1.67 26-Oct-2001 jmc

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.


# 1.66 23-Oct-2001 thorpej

branches: 1.66.2;
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.


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.65 31-May-2001 enami

branches: 1.65.2; 1.65.4;
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.


# 1.64 14-May-2001 ross

Fix new DEBUGLIST feature.


# 1.63 08-May-2001 ross

Add DEBUGLIST mechanism. Example config line:
makeoptions DEBUGLIST="uvm* trap ufs*"
This turns on -g for only those files matching a DEBUGLIST pattern word.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.62 17-Dec-2000 jdolecek

branches: 1.62.2;
delete obsolete comment


# 1.61 07-Dec-2000 jdolecek

generate dependencies for assym.h for make depend, fix dependency
for maxusers (make assym.h depend on Makefile)


# 1.60 29-Nov-2000 jdolecek

remove rules for genassym.c, it's no longer pertinent


# 1.59 29-Nov-2000 jdolecek

convert to use common genassym.cf


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.58 09-May-2000 hubertf

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.


# 1.57 09-May-2000 thorpej

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.


Revision tags: chs-ubc2-newbase
# 1.56 01-Feb-2000 tsutsui

Revert STRIPPROG -> STRIP


# 1.55 24-Jan-2000 tron

Add "dependall" target for comfort.


# 1.54 19-Jan-2000 tsutsui

STRIP -> STRIPPROG


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.53 26-Jul-1999 cgd

branches: 1.53.2;
be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.


# 1.52 09-Jul-1999 mrg

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. :)


# 1.51 31-May-1999 ross

Be less drastic when running strip(1) on DEBUG=-g kernels.


# 1.50 31-May-1999 ross

Fix generation of locore.s dependencies.


Revision tags: kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.49 23-Feb-1999 thorpej

branches: 1.49.2; 1.49.4; 1.49.6;
Do all the fancy printf format checking.


# 1.48 01-Feb-1999 tron

Fix bug exposed by new "mkdep" program:
"${SFILES}" is empty so that "cc" will fail with "No input files"
during "mkdep".


# 1.47 15-Jan-1999 thorpej

Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS.


# 1.46 08-Jan-1999 augustss

Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.45 15-Oct-1998 drochner

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


# 1.44 05-Sep-1998 lukem

distclean is a synonym for cleandir


Revision tags: eeh-paddr_t-base
# 1.43 31-May-1998 thorpej

Specify a non-profiling C rule.


# 1.42 12-Apr-1998 tv

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.)


# 1.41 25-Mar-1998 ross

1. Always link at the high address, now that we can use free ram below
the kernel on most platforms, including all of the entry-level platforms.
2. Kill the comments and options for load address selection.
3. Kill the default -g.


# 1.40 12-Nov-1997 thorpej

Make sure CPP, AR, AS, and RANLIB are defined.


# 1.39 12-Nov-1997 thorpej

Define LORDER, NM, and TSORT here, like we do the rest of the tools.


# 1.38 03-Nov-1997 ross

--Add handcrafted stack frame directives to locore.s palcode vector
--entries / remove kernel entry from locore / reorganize vector entry
--code. Enables access to stack frames transitively w.r.t. palcode
--vectors, e.g. upward traceback works, inverting (possibly several)
--kernel vectors. Until now, all trackbacks ended at the first-reached
--instance of trap(), which was totally useless as there is no mystery
--to trap->panic->cpu_reboot


Revision tags: netbsd-1-3-base marc-pcmcia-base
# 1.37 04-Oct-1997 gwr

branches: 1.37.2;
use common genassym.awk


# 1.36 30-Sep-1997 christos

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.


Revision tags: thorpej-signal-base
# 1.35 22-Aug-1997 cgd

lie to the compiler when doing mkdep so that it depends .s files correctly.


Revision tags: marc-pcmcia-bp alpha-nwscons-base
# 1.34 19-Jul-1997 cgd

branches: 1.34.2;
* move COPTS out of the 'program variables' section of the makefile and
into the 'argument variables' section.
* define variables for CPP and SIZE, defaulting to cpp and size, respectively.
* kill HOSTED_C*, since it's no longer used.
* use ${SIZE} rather than using 'size' directly, so it can be overridden for
cross-builds.
* generate assym.h via assym.s and an awk script.


# 1.33 06-Apr-1997 cgd

clean up NetBSD RCS ID strings


Revision tags: is-newarp-before-merge is-newarp-base
# 1.32 04-Feb-1997 perry

Nuke some options GENERIC residue.


# 1.31 04-Feb-1997 perry

Nuke some GENERIC residue.


# 1.30 23-Jan-1997 cgd

update for new kernel library Makefile.inc rules


# 1.29 21-Jan-1997 cgd

make load address settable via LOADADDRESS make option


# 1.28 22-Dec-1996 cgd

branches: 1.28.2;
for now, -Wcast-qual is just not practical in the kernel


# 1.27 01-Dec-1996 jonathan

branches: 1.27.2;
* Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

Leave `mandatory' flags (like -msoft-float which on m68k enforces no
FP in kernel) in CFLAGS.


# 1.26 13-Nov-1996 cgd

Set CWARNFLAGS to:
-Werror -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wcast-qual -Wno-format
(if not already set). -Wno-format is necessary because of the few
bits of code in the tree that use NetBSD's special kernel printf()
formats, and because there are a few bits of code that try to use the 'q'
modifier to print int64_t's (but int64_t's are only 'long' on the
alpha, not 'long long').


# 1.25 27-Sep-1996 cgd

compile .S files with cpp | sed | as, to work around a bug with the
ELF-outputting version of the assembler. (It was dying when it saw
some CPP line number markers.) This is temporary. (Workaround suggested
by Matt Thomas.)


# 1.24 09-Sep-1996 mycroft

Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s. Remove $TOUCH. Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.


# 1.23 31-Aug-1996 mycroft

Wrap the default definition of `S' in `.ifndef'.


# 1.22 20-Aug-1996 cgd

kill 'microcode' Makefile.inc include, define CWARNFLAGS with ?=.


# 1.21 12-Aug-1996 mycroft

Put into . Remove hooks for `config-dependent' and
`device-driver' flags.


# 1.20 10-Aug-1996 mycroft

* Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.


# 1.19 10-Aug-1996 mycroft

* Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.


# 1.18 14-Jul-1996 cgd

include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.


# 1.17 09-Jul-1996 cgd

add -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes as
CWARNFLAGS in the Makefile, but (for the time being, i.e. until that
works) override that with 'makeoptions' in std.alpha.


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.16 19-May-1996 cgd

add -O2 to the optimization flags. A reason why optimization seemed
to fail on some systems was never found; hopefully it's gone away (or
was never really there).


# 1.15 11-May-1996 mycroft

Make `make depend' work for libraries.


# 1.14 29-Feb-1996 cgd

Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them. From PR 2142, OK'd
by mycroft.


# 1.13 26-Feb-1996 mycroft

Define build programs with `?=', so they can be overridden with `makeoptions'.


# 1.12 09-Feb-1996 mycroft

Fix mkdep problems due to missing flags.


# 1.11 03-Feb-1996 mycroft

Use `-traditional-cpp' when building .s and .S files.


# 1.10 02-Feb-1996 mycroft

Clone these, and fix many bugs.


# 1.9 02-Feb-1996 mycroft

assym.s -> assym.h
(Some ports did this already.)


# 1.8 23-Nov-1995 cgd

wholesale update from my NetBSD/Alpha source tree. Includes:
Support for AXPpci CPUs,
Support for AlphaStation 600 CPUs,
new boot block structure, which requires an 'installboot'
program and works a lot like the NetBSD/sparc boot blocks.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.7 19-Sep-1995 thorpej

Compile the kernel with -fno-builtin.


# 1.6 03-Aug-1995 cgd

update for all the latest bells and whistles


# 1.5 24-Jun-1995 christos

Makefile.`arch`: - Add -lcompat
- Change clean: target to be a double dep one,
so libraries can use the clean target too


# 1.4 16-May-1995 jtc

Removing -DKERNEL, transition to _KERNEL has been completed


# 1.3 22-Apr-1995 cgd

kill some non-gnu-tools cruft, allow rest of programs to be parameterized


# 1.2 23-Mar-1995 jtc

Added -D_KERNEL to CFLAGS alongside each -DKERNEL.


# 1.1 13-Feb-1995 cgd

preliminary Alpha support. note that NOT ALL OF THE MODIFICATIONS TO
THE REST OF THE KERNEL ARE IN THE TREE YET. Also, some of this is
_incredibly_ hack-ish, etc., but it works.


Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.84 20-Jan-2016 jklos

Change base address to account for later Alpha models with later firmware
which require more space for SRM.


Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.83 10-Mar-2013 christos

branches: 1.83.14;
Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 jym-xensuspend-base
# 1.82 09-Nov-2009 mhitch

branches: 1.82.12; 1.82.22;
Loading the kernel at 0xfffffc0000300000 doesn't work on my ES40 when I've
got raid drives configured on the iop(4) adapter and the mlx(4) adapter.
Change the kernel text to 0xfffffc0000430000 (which is where Tru64 has its
kernel).


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.81 11-Dec-2008 alc

Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 ad-audiomp2-base netbsd-5-base
# 1.80 25-Oct-2008 apb

branches: 1.80.2; 1.80.4; 1.80.10;
Use ${TOOL_SED} instead if plain sed in Makefiles.


Revision tags: matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.79 17-Oct-2007 garbled

branches: 1.79.16; 1.79.20; 1.79.26;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.78 05-Jun-2007 yamt

branches: 1.78.10;
add a missing dependency.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.77 01-Sep-2006 dyoung

branches: 1.77.12; 1.77.14; 1.77.18; 1.77.20;
Add ath(4) to GENERIC alpha kernel. UNTESTED.


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base
# 1.76 11-Dec-2005 christos

branches: 1.76.4; 1.76.8;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.75 31-May-2005 christos

branches: 1.75.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.74 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
# 1.73 24-Sep-2002 ad

branches: 1.73.6; 1.73.10;
Remove the TCWSCONS config now that zstty can do flow control on IOASIC
machines.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base
# 1.72 09-Dec-2001 atatat

Fix a couple of rcsids.


# 1.71 23-Nov-2001 atatat

Oops. Add in missing entry point settings.


# 1.70 23-Nov-2001 atatat

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.


# 1.69 20-Nov-2001 lukem

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\""


# 1.68 16-Nov-2001 atatat

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.


Revision tags: thorpej-mips-cache-base
# 1.67 26-Oct-2001 jmc

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.


# 1.66 23-Oct-2001 thorpej

branches: 1.66.2;
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.


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.65 31-May-2001 enami

branches: 1.65.2; 1.65.4;
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.


# 1.64 14-May-2001 ross

Fix new DEBUGLIST feature.


# 1.63 08-May-2001 ross

Add DEBUGLIST mechanism. Example config line:
makeoptions DEBUGLIST="uvm* trap ufs*"
This turns on -g for only those files matching a DEBUGLIST pattern word.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.62 17-Dec-2000 jdolecek

branches: 1.62.2;
delete obsolete comment


# 1.61 07-Dec-2000 jdolecek

generate dependencies for assym.h for make depend, fix dependency
for maxusers (make assym.h depend on Makefile)


# 1.60 29-Nov-2000 jdolecek

remove rules for genassym.c, it's no longer pertinent


# 1.59 29-Nov-2000 jdolecek

convert to use common genassym.cf


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.58 09-May-2000 hubertf

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.


# 1.57 09-May-2000 thorpej

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.


Revision tags: chs-ubc2-newbase
# 1.56 01-Feb-2000 tsutsui

Revert STRIPPROG -> STRIP


# 1.55 24-Jan-2000 tron

Add "dependall" target for comfort.


# 1.54 19-Jan-2000 tsutsui

STRIP -> STRIPPROG


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.53 26-Jul-1999 cgd

branches: 1.53.2;
be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.


# 1.52 09-Jul-1999 mrg

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. :)


# 1.51 31-May-1999 ross

Be less drastic when running strip(1) on DEBUG=-g kernels.


# 1.50 31-May-1999 ross

Fix generation of locore.s dependencies.


Revision tags: kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.49 23-Feb-1999 thorpej

branches: 1.49.2; 1.49.4; 1.49.6;
Do all the fancy printf format checking.


# 1.48 01-Feb-1999 tron

Fix bug exposed by new "mkdep" program:
"${SFILES}" is empty so that "cc" will fail with "No input files"
during "mkdep".


# 1.47 15-Jan-1999 thorpej

Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS.


# 1.46 08-Jan-1999 augustss

Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.45 15-Oct-1998 drochner

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


# 1.44 05-Sep-1998 lukem

distclean is a synonym for cleandir


Revision tags: eeh-paddr_t-base
# 1.43 31-May-1998 thorpej

Specify a non-profiling C rule.


# 1.42 12-Apr-1998 tv

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.)


# 1.41 25-Mar-1998 ross

1. Always link at the high address, now that we can use free ram below
the kernel on most platforms, including all of the entry-level platforms.
2. Kill the comments and options for load address selection.
3. Kill the default -g.


# 1.40 12-Nov-1997 thorpej

Make sure CPP, AR, AS, and RANLIB are defined.


# 1.39 12-Nov-1997 thorpej

Define LORDER, NM, and TSORT here, like we do the rest of the tools.


# 1.38 03-Nov-1997 ross

--Add handcrafted stack frame directives to locore.s palcode vector
--entries / remove kernel entry from locore / reorganize vector entry
--code. Enables access to stack frames transitively w.r.t. palcode
--vectors, e.g. upward traceback works, inverting (possibly several)
--kernel vectors. Until now, all trackbacks ended at the first-reached
--instance of trap(), which was totally useless as there is no mystery
--to trap->panic->cpu_reboot


Revision tags: netbsd-1-3-base marc-pcmcia-base
# 1.37 04-Oct-1997 gwr

branches: 1.37.2;
use common genassym.awk


# 1.36 30-Sep-1997 christos

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.


Revision tags: thorpej-signal-base
# 1.35 22-Aug-1997 cgd

lie to the compiler when doing mkdep so that it depends .s files correctly.


Revision tags: marc-pcmcia-bp alpha-nwscons-base
# 1.34 19-Jul-1997 cgd

branches: 1.34.2;
* move COPTS out of the 'program variables' section of the makefile and
into the 'argument variables' section.
* define variables for CPP and SIZE, defaulting to cpp and size, respectively.
* kill HOSTED_C*, since it's no longer used.
* use ${SIZE} rather than using 'size' directly, so it can be overridden for
cross-builds.
* generate assym.h via assym.s and an awk script.


# 1.33 06-Apr-1997 cgd

clean up NetBSD RCS ID strings


Revision tags: is-newarp-before-merge is-newarp-base
# 1.32 04-Feb-1997 perry

Nuke some options GENERIC residue.


# 1.31 04-Feb-1997 perry

Nuke some GENERIC residue.


# 1.30 23-Jan-1997 cgd

update for new kernel library Makefile.inc rules


# 1.29 21-Jan-1997 cgd

make load address settable via LOADADDRESS make option


# 1.28 22-Dec-1996 cgd

branches: 1.28.2;
for now, -Wcast-qual is just not practical in the kernel


# 1.27 01-Dec-1996 jonathan

branches: 1.27.2;
* Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

Leave `mandatory' flags (like -msoft-float which on m68k enforces no
FP in kernel) in CFLAGS.


# 1.26 13-Nov-1996 cgd

Set CWARNFLAGS to:
-Werror -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wcast-qual -Wno-format
(if not already set). -Wno-format is necessary because of the few
bits of code in the tree that use NetBSD's special kernel printf()
formats, and because there are a few bits of code that try to use the 'q'
modifier to print int64_t's (but int64_t's are only 'long' on the
alpha, not 'long long').


# 1.25 27-Sep-1996 cgd

compile .S files with cpp | sed | as, to work around a bug with the
ELF-outputting version of the assembler. (It was dying when it saw
some CPP line number markers.) This is temporary. (Workaround suggested
by Matt Thomas.)


# 1.24 09-Sep-1996 mycroft

Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s. Remove $TOUCH. Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.


# 1.23 31-Aug-1996 mycroft

Wrap the default definition of `S' in `.ifndef'.


# 1.22 20-Aug-1996 cgd

kill 'microcode' Makefile.inc include, define CWARNFLAGS with ?=.


# 1.21 12-Aug-1996 mycroft

Put into . Remove hooks for `config-dependent' and
`device-driver' flags.


# 1.20 10-Aug-1996 mycroft

* Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.


# 1.19 10-Aug-1996 mycroft

* Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.


# 1.18 14-Jul-1996 cgd

include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.


# 1.17 09-Jul-1996 cgd

add -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes as
CWARNFLAGS in the Makefile, but (for the time being, i.e. until that
works) override that with 'makeoptions' in std.alpha.


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.16 19-May-1996 cgd

add -O2 to the optimization flags. A reason why optimization seemed
to fail on some systems was never found; hopefully it's gone away (or
was never really there).


# 1.15 11-May-1996 mycroft

Make `make depend' work for libraries.


# 1.14 29-Feb-1996 cgd

Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them. From PR 2142, OK'd
by mycroft.


# 1.13 26-Feb-1996 mycroft

Define build programs with `?=', so they can be overridden with `makeoptions'.


# 1.12 09-Feb-1996 mycroft

Fix mkdep problems due to missing flags.


# 1.11 03-Feb-1996 mycroft

Use `-traditional-cpp' when building .s and .S files.


# 1.10 02-Feb-1996 mycroft

Clone these, and fix many bugs.


# 1.9 02-Feb-1996 mycroft

assym.s -> assym.h
(Some ports did this already.)


# 1.8 23-Nov-1995 cgd

wholesale update from my NetBSD/Alpha source tree. Includes:
Support for AXPpci CPUs,
Support for AlphaStation 600 CPUs,
new boot block structure, which requires an 'installboot'
program and works a lot like the NetBSD/sparc boot blocks.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.7 19-Sep-1995 thorpej

Compile the kernel with -fno-builtin.


# 1.6 03-Aug-1995 cgd

update for all the latest bells and whistles


# 1.5 24-Jun-1995 christos

Makefile.`arch`: - Add -lcompat
- Change clean: target to be a double dep one,
so libraries can use the clean target too


# 1.4 16-May-1995 jtc

Removing -DKERNEL, transition to _KERNEL has been completed


# 1.3 22-Apr-1995 cgd

kill some non-gnu-tools cruft, allow rest of programs to be parameterized


# 1.2 23-Mar-1995 jtc

Added -D_KERNEL to CFLAGS alongside each -DKERNEL.


# 1.1 13-Feb-1995 cgd

preliminary Alpha support. note that NOT ALL OF THE MODIFICATIONS TO
THE REST OF THE KERNEL ARE IN THE TREE YET. Also, some of this is
_incredibly_ hack-ish, etc., but it works.