Commit Graph

51 Commits

Author SHA1 Message Date
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
gehenna
77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
thorpej
556a752996 Build a .gdbinit in the kernel build directory. The new .gdbinit
will source all of the system-provided gdb scrips in sys/gdbscripts,
as well as any files specified by the user in the GDBINIT make var.
2002-09-01 23:04:47 +00:00
lukem
06b665d30c vers.o should also depend upon $S/conf/newvers.sh and $S/conf/osrelease.sh 2002-08-11 10:47:24 +00:00
wrstuden
e3fc9184bd cscope.out target needs depend too, zap old comments 2002-07-12 17:48:23 +00:00
wrstuden
a7f2b918d3 Fix cscope and mkid targets so that they work even when the kernel
compile directory is not under /usr/src/sys (i.e. when 'S' is not
'../../../..'). Pointed out by Robert Elz in PR 17384.

Thanks again to Andrew Brown for figuring out how to rip .depend apart.
2002-07-02 19:52:16 +00:00
wrstuden
10d47b4dd3 Updated version of cscope/mkid support. Check libkern and compat lib
for source files. Also include header files in mkid run.
2002-06-18 23:46:52 +00:00
wrstuden
de114b01ee Add cscope and mkid (and cscope.out and ID) targets to kernel compile
Makefiles. The main feature added by these targets is that they cover
ONLY the source files used for a given kernel and no other. Thus when
examining MD routines provided by all machines, you will see only
those applicable for your kernel.
2002-06-17 20:31:26 +00:00
tv
fd2474f0f1 Make sure DBSYM is defined if not overridden by USETOOLS=yes. 2002-05-29 16:12:54 +00:00
fvdl
7e00cc50ec Add -Wno-format-zero-length, for forward compatibility with gcc 3.2.
Our in-tree gcc 2.95.3 accepts the flag as well.
2002-05-26 00:15:25 +00:00
uwe
c38dba996a lint target depends on ${LINTSTUBS}, not on (nonexistent) ${KERNLINTSTUBS}. 2002-05-07 02:00:17 +00:00
tv
90f4347de8 Make sure USETOOLS value is propagated (for USETOOLS?=no case in each
kernel Makefile).  Perhaps we should .include this file earlier....
2002-03-18 15:20:08 +00:00
mrg
20f36f0387 make .s and .S files depend on assym.h 2002-02-11 03:43:53 +00:00
thorpej
d7536e1e95 Add -ffreestanding to kernel builds. It's not always safe to
use GCC's built-ins.
2001-12-23 22:45:07 +00:00
chs
8eafa995c7 don't strip any symbols from profiling kernels,
that makes it harder to figure out what's going on.
2001-12-10 05:24:17 +00:00
atatat
6dce2e2bec Make the kernel depend on vers.o' instead of newvers'. This
eliminates the need to unconditionally rebuild vers.o and subsequently
to relink the kernel every time you type make, even if you just
finished one.
2001-12-09 16:04:03 +00:00
atatat
756e7c6c1f Add the rest of the infrastructure needed to support the rest of the
ports.  This includes cleaning out DBG, cleaning up the `clean'
target, and tweaking the warnings flags (cesfic, amigappc, and the arm
ports are a little less warning resistant).

Oh, and let's `install' the kernel into ${DESTDIR} if someone says
`make install'.  We have to think about cross-compilers here.
2001-12-08 15:01:41 +00:00
atatat
9fb85484bc Misplaced colon. 2001-11-28 03:58:25 +00:00
atatat
df7d7405f8 Alter the way that LINKTEXT and LINKDATA (and LINKENTRY) are set so
that empty values for TEXTADDR and DATAADDR (and ENTRYPOINT) will not
screw things up.  Add support for SYSTEM_LD_TAIL_EXTRA which some
ports (not yet converted) are using.  Add support for GENASSYM_EXTRAS
which has just been added to (some of) the arm ports.
2001-11-27 23:28:42 +00:00
atatat
155e541aa2 Instead of checking for previous usage, just append to some make
variables.  Tweak some variables to provide for more uniform defaults.
Minor adaption to makefiles for already converted ports.
2001-11-23 05:18:59 +00:00
atatat
bbd661c23d The four tools mkdep, strip, objcopy, and objdump are not part of the
defined toolchain if we're not using the new toolchain.  We need them,
so we add our own definitions here.
2001-11-16 16:15:08 +00:00
atatat
5386330b34 Add a MKDEP?=mkdep line so that depend targets will work again. 2001-11-16 13:14:10 +00:00