Commit Graph

72 Commits

Author SHA1 Message Date
lukem bc201c2f02 Remove the .d files during __CLEANDEPEND 2005-12-01 06:01:18 +00:00
yamt 6eaa98c111 use .d mechanism for kernel as well. 2005-11-24 13:01:42 +00:00
dbj 8000972bbe . Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
   . Make this error a fatal build time error
   . Move the support for dbsym into the MI Makefile.kern.inc,
     conditional upon the SYMTAB_SPACE option being defined in
     the kernel config file.
2005-11-24 12:54:29 +00:00
yamt 94809e83ec don't pass -t option to xargs unless MAKEVERBOSE is 2. 2005-11-02 14:29:52 +00:00
martin 40860f4eb5 Do not use -Wreturn-type with gcc 2.95.x 2005-06-18 22:56:02 +00:00
sjg aa7b975acd Sometimes .BEGIN target is not wanted - eg in sub-make's. 2005-06-07 18:11:34 +00:00
sjg bfae9bbcab Don't assume infinite command line length. 2005-06-02 05:11:55 +00:00
uwe 609ad365b1 Add CWARNFLAGS.<fn> 2005-06-01 00:11:32 +00:00
yamt e5559b5cd1 - move COPTS.${.IMPSRC:T} and friends after other options so that
they can override global options.
- put CPPFLAGS.${.IMPSRC:T} into CPPFLAGS, rather than CFLAGS.
2005-05-31 14:59:31 +00:00
christos dfa84069f5 Add overrides for tools we use (genassym and hexdump). Now kernel compiles
work again (hi jason!)
2005-05-31 04:03:46 +00:00
christos 49f85b90ec Most of the kernel source now works with "-Wcast-qual -Wshadow
-Wreturn-type -Wwrite-strings -Wswitch" so I am turning them on. There
is going to be a little lossage on some platforms but you can always
compile with "make DEFWARNINGS=no". Tested on sparc64 and i386.
2005-05-31 02:25:39 +00:00
thorpej 1fcb464db4 Use TOOL_GENASSYM. Part of PR toolchain/30350 2005-05-30 15:54:30 +00:00
dbj 8b8acc85db tweak reference of DEBUG variable to ignore options that don't start with -g 2005-05-23 22:01:11 +00:00
perry 477853c351 nuke trailing whitespace 2005-02-26 22:58:54 +00:00
heas d7dac6089c Adjust the cscope target so that each source file on a separate line to avoid
overrunning cscope's read buffer and prefix files within lib/{kern,compat}
with the appropriate path.
2004-12-16 00:35:48 +00:00
chs cbc396ce30 work around a binutils bug where converting ELF kernels to a.out with objcopy
produces corrupted binaries when the link_set_* sections extend into another
page after the end of the .text section by using a generated an ldscript that
puts all the link_set_* data into the .text section in the first place.
2004-09-13 09:39:40 +00:00
lukem 66ff0c053c Rename LIBCOMPAT* -> SYSLIBCOMPAT*, now that <bsd.own.mk> provides LIBCOMPAT.
Fixes kernel link problem noted by Sebastien Erard.
2004-07-31 00:55:51 +00:00
atatat 1ce3b064a0 Make uudecode into a tool that can be used to build a kernel and redo
the athhal-elf.o handling to take advantage of it.  This means that
bsd.files.mk is no longer included by Makefile.i386 so CFLAGS won't be
duplicated.
2004-07-15 03:35:20 +00:00
uebayasi 2909021c43 Narrow a sed(1) RE handling a file/directory name so that build under a
directory named like 'xxx.cxxx/' succeeds.
2004-07-13 09:07:54 +00:00
matt 08381af38e -fno-zero-initialized-in-bss only to gcc3, not gcc2.95 2004-04-25 04:24:06 +00:00
pk 3c83ebd4ab Force zero-initialised variables into the .data segment. 2004-04-24 22:07:15 +00:00
lukem 4404046b3f fix the MAKEVERBOSE messages to be consistent with the standard ones 2003-12-04 02:33:41 +00:00
lukem 4ca8399eb2 prefix ${.TARGET} with "${.CURDIR:T}/" in various _MKSHMSG macros;
per similar change to <bsd.own.mk>
2003-12-01 01:12:58 +00:00
pk f7eea59188 Change default verbosity level to `traditional'. 2003-11-25 09:15:50 +00:00
pk 1954be3560 NORMAL_C,NOPROF_C,NORMAL_S: put `@' in front of these to get saner output.
Also we can't use _MKTARGET_COMPILE here. For now, just hard-code the message.
2003-11-25 08:52:40 +00:00
pk d8db9075f0 SYSTEM_LD: don't display every object file on the planet thrice. 2003-11-25 07:47:29 +00:00
lukem 6918f15fc1 Provide appropriate no-op defaults for _MK* macros, in case <bsd.own.mk>
is too old.
2003-11-20 07:08:02 +00:00
lukem 8ec8bba0a9 Add support for MAKEVERBOSE (a first pass, at least).
Use COPTS.<sourcefile> instead of <sourcefile>_G.
Use HOST_SH (which defaults to `sh' if not set).
2003-11-17 09:39:29 +00:00
dsl 438ae29810 Remove the .if !target(dependall) so that 'make dependall' works (again)
for the kernel.
2003-11-14 08:33:36 +00:00
enami 67b61c37a8 Prevent mkdep from parsing compiler flags like -pipe. 2003-11-11 21:26:53 +00:00
jdolecek a10e06c83e force -Wno-uninitialized if the compiler is gcc 2.95 2003-11-06 08:23:22 +00:00
mycroft 7198dd0a88 Back out -Wno-uninitialized for m68k -- the compiler bug is fixed. 2003-10-29 21:29:27 +00:00
skrll a366cd57d6 Add COPTS.<fn>, CPUFLAGS.<fn>, CPPFLAGS.<fn> to CFLAGS to mirror the
file specific flags support of bsd.{lib,prog}.mk.

From Christos.
2003-10-28 17:58:57 +00:00
he 4bd87960fa sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used.  This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.
2003-10-28 12:11:31 +00:00
christos 97ded127c6 Delete -Wno-uninitialized. Tested on sparc64 and i386. Rationale:
Gcc-3.3 produces valid warnings in most cases and uncovers bugs. In the
cases where a variable is known to be initialized, we initialize it and
add: /* XXX: gcc */. If a $MACHINE_ARCH's compiler is busted, it can add
-Wno-uninitialized in the MD Makefile.
2003-10-26 19:24:06 +00:00
matt 3aafdaac96 Make the kernel makefiles pay attention to NOGCCERROR 2003-10-01 23:11:29 +00:00
mrg ef0f504703 allow DEBUG to be set to "-gstabs" or "-gstabs+", to enable building
netbsd.gdb.  (you need "-gstabs" for gcc3.3 and old gdb.)
2003-08-18 00:15:41 +00:00
lukem 001c68bd94 Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO".  The new variables are:
	TOOL_ASN1_COMPILE  TOOL_CAP_MKDB  TOOL_CAT  TOOL_CKSUM  TOOL_COMPILE_ET
	TOOL_CONFIG  TOOL_CRUNCHGEN  TOOL_CTAGS  TOOL_DB  TOOL_EQN  TOOL_FGEN
	TOOL_GENCAT  TOOL_GROFF  TOOL_HEXDUMP  TOOL_INDXBIB  TOOL_INSTALLBOOT
	TOOL_INSTALL_INFO  TOOL_M4  TOOL_MAKEFS  TOOL_MAKEINFO  TOOL_MAKEWHATIS
	TOOL_MDSETIMAGE  TOOL_MENUC  TOOL_MKCSMAPPER  TOOL_MKESDB
	TOOL_MKLOCALE  TOOL_MKMAGIC  TOOL_MKTEMP  TOOL_MSGC  TOOL_MTREE
	TOOL_PAX  TOOL_PIC  TOOL_PREPMKBOOTIMAGE  TOOL_PWD_MKDB  TOOL_REFER
	TOOL_ROFF_ASCII  TOOL_ROFF_DVI  TOOL_ROFF_HTML  TOOL_ROFF_PS
	TOOL_ROFF_RAW  TOOL_RPCGEN  TOOL_SOELIM  TOOL_SUNLABEL  TOOL_TBL
	TOOL_UUDECODE  TOOL_VGRIND  TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
	TOOL_FOO?=	foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
	TOOL_FOO=	${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
2003-07-10 10:33:58 +00:00
thorpej 22791b9867 Add a CPUFLAGS variable which can be set by the user's mk.conf or in
the environment:

CPUFLAGS        Additional flags to the compiler/assembler to select
                CPU instruction set options, CPU tuning options, etc.

Since CPUFLAGS is not implicitly set by any part of the make infrastructure,
it is safe to set in mk.conf, unlike COPTS or DBG.
2003-05-30 18:43:23 +00:00
thorpej b81d443ef3 Allow a memory disk image to be statically included in the kernel
to be specified in the kernel configuration file, like so:

makeoptions	MEMORY_DISK_IMAGE="/path/to/image.fs"
2003-03-07 01:26:12 +00:00
matt 62efa61d00 Add ${EXTRA_OBJ} so that pre-compiled .o's can be linked into the kernel. 2003-02-05 18:07:46 +00:00
atatat 7fead95d43 Remove an antiquated comment and make .depend depend on config_time.h
so that the depend target can properly complete now that perry has the
time to use the time.
2002-12-10 19:33:11 +00:00
thorpej 9337fb430e Add -Wno-sign-compare; that flag was made implicit with -Wall in
GCC 3.3, and our sources aren't really up to the task, yet.
2002-11-25 01:37:11 +00:00
atatat 15d85dcb14 Alter config so that it emits a config_time.src file (the source file
for config_time.h) that contains, for example:

/* Sun Nov 17 05:37:51 2002 GMT */
#define CONFIG_TIME     1037511471
#define CONFIG_YEAR     2002
#define CONFIG_MONTH    11
#define CONFIG_DATE     17
#define CONFIG_HOUR      5
#define CONFIG_MINS     37
#define CONFIG_SECS     51

These values represent the current time as of when config was last
run, so that functions (eg, inittodr()) can use these values instead
of being updated once every year or so with the "current" time.

The associated modification to Makefile.kern.inc makes config_time.h
depend on this depend on this and the kernel Makefile, so that
granularity of kernel builds is not reduced.
2002-11-19 04:29:19 +00:00
chris 230469d2ae Remove an extra } 2002-11-03 21:12:27 +00:00
perry 7152bf6aeb lint infrastructure overhaul to finally lint the kernel libs right.
XXX the dependencies for the kernel .ln files are just plain wrong. We
need some sort of extended make depend hack to do it right. We will
suffer with it for now.
2002-11-02 07:57:05 +00:00
christos 3d15188e5d use -X to ignore static function unused warnings, and echo the command. 2002-10-24 20:52:38 +00:00
fvdl dcee4ceeba Back out revision 1.23, it breaks all kernel configs that do
makeoptions	COPTS="foo"

There are quite a few of those in the tree, as well.
2002-10-06 00:07:17 +00:00
chs c022ea372b all ports are now fully prototyped and pointer-arith clean.
turn on these warnings all the time.
2002-10-05 17:17:48 +00:00
sjg 2f6498ae9a Replace COPTS?= with COPTS+= so that a setting of COPTS in mk.conf
(common on sparc systems) does not cause the -O2 in DEFCOPTS to
be lost - which results in an unloadable kernel on sparc.

Reviewed by: christos
2002-09-29 07:22:58 +00:00