Re: 'silent' kernel builds ?

2013-12-15 Thread Rui Paulo
On 14 Dec 2013, at 21:45, Luigi Rizzo  wrote:

> Hi,
> I was trying to make buildkernel a bit quieter (just listing
> the name of the file being compiled).
> 
> I hoped to modify the " .c.o: " rules in  share/sys.mk but apparently
> kernel builds generate their own Makefile using definitions in
> sys/conf/kern.pre.mk .
> 
> As a result, a patch like the one below gets most of the work done
> (a few extra bits are necessary to mask the awk calls, and the
> 'irregular' compiler invocations).
> 
> However I could not found the rule definition used to build modules,
> any idea where to look ?

sys/conf/kmod.mk

> And finally, is there interest in this feature ?

I think it would be nice to have, maybe enabled by default.  Does it still 
print the errors? I think so, but I'm not sure.

--
Rui Paulo



___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: 'silent' kernel builds ?

2013-12-14 Thread Luigi Rizzo
On Sat, Dec 14, 2013 at 09:53:30PM -0800, Rui Paulo wrote:
> On 14 Dec 2013, at 21:45, Luigi Rizzo  wrote:
> 
> > Hi,
> > I was trying to make buildkernel a bit quieter (just listing
> > the name of the file being compiled).
> > 
> > I hoped to modify the " .c.o: " rules in  share/sys.mk but apparently
> > kernel builds generate their own Makefile using definitions in
> > sys/conf/kern.pre.mk .
> > 
> > As a result, a patch like the one below gets most of the work done
> > (a few extra bits are necessary to mask the awk calls, and the
> > 'irregular' compiler invocations).
> > 
> > However I could not found the rule definition used to build modules,
> > any idea where to look ?
> 
> sys/conf/kmod.mk

... ok, which in turn ends up into share/sys.mk at least for the .c.o rule

> > And finally, is there interest in this feature ?
> 
> I think it would be nice to have, maybe enabled by default.  Does it still 
> print the errors? I think so, but I'm not sure.

Yes it does print errors, just checked.

I am not worried about making it a default, POLA
probably suggests otherwise and it is simple to
control it through a make.conf or environment variable.

thanks
luigi
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


'silent' kernel builds ?

2013-12-14 Thread Luigi Rizzo
Hi,
I was trying to make buildkernel a bit quieter (just listing
the name of the file being compiled).

I hoped to modify the " .c.o: " rules in  share/sys.mk but apparently
kernel builds generate their own Makefile using definitions in
sys/conf/kern.pre.mk .

As a result, a patch like the one below gets most of the work done
(a few extra bits are necessary to mask the awk calls, and the
'irregular' compiler invocations).

However I could not found the rule definition used to build modules,
any idea where to look ?

And finally, is there interest in this feature ?

cheers
luigi


Index: head/sys/conf/kern.pre.mk
===
--- head/sys/conf/kern.pre.mk   (revision 258360)
+++ head/sys/conf/kern.pre.mk   (working copy)
@@ -126,7 +126,12 @@
 # Optional linting. This can be overridden in /etc/make.conf.
 LINTFLAGS= ${LINTOBJKERNFLAGS}
 
-NORMAL_C= ${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.IMPSRC}
+.if defined(SILENT)
+SILENT_MAKE= @
+SILENT_GCC= @printf "%s\n" "---  Building  ${.IMPSRC} ---";
+.endif
+
+NORMAL_C= ${SILENT_GCC} ${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.IMPSRC}
 NORMAL_S= ${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}
 PROFILE_C= ${CC} -c ${CFLAGS} ${WERROR} ${.IMPSRC}
 NORMAL_C_NOWERROR= ${CC} -c ${CFLAGS} ${PROF} ${.IMPSRC}
@@ -146,7 +151,7 @@
 ZFS_S= ${CC} -c ${ZFS_ASM_CFLAGS} ${WERROR} ${.IMPSRC}
 
 .if ${MK_CTF} != "no"
-NORMAL_CTFCONVERT= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
+NORMAL_CTFCONVERT= ${SILENT_MAKE}  ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .elif ${MAKE_VERSION} >= 520300
 NORMAL_CTFCONVERT=
 .else

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"