Date: Sat, 17 Oct 2015 11:29:33 -0400 From: "John D. Hendrickson" <johnandsara2@cox.net> To: Bryan Drewery <bdrewery@FreeBSD.org> Cc: arch@FreeBSD.org Subject: Re: make -n -n Message-ID: <5622695D.6040700@cox.net> In-Reply-To: <561F3406.9050906@FreeBSD.org> References: <561F3406.9050906@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bryan Drewery wrote: > Does anyone consider 'make -n -n' a thing for top-level builds? > > We have this ${_+_} thing in Makefiles that used to expand to '+' if you > gave '-n -n'. This was so just 1 '-n' would just show what the > top-level Makefile would do: > > ~/svn/clean2 # make -n includes > cd /root/svn/clean2; PATH=/sbin:/bin:/usr/sbin:/usr/bin make -m > /root/svn/clean2/share/mk -f Makefile.inc1 TARGET=amd64 > TARGET_ARCH=amd64 includes > > Versus the more expected (at least for bmake) -n behavior of traversing > sub-makes: > > ~/svn/clean2 # make -n -n includes > ===> lib (includes) > ===> lib/csu (includes) > ===> lib/csu/amd64 (includes) > ===> lib/libcompiler_rt (includes) > ===> lib/libc (includes) > ===> lib/libc/tests (includes) > ===> lib/libc/tests/tls_dso (includes) > ===> lib/libc/tests/c063 (includes) > etc... > > Note the actual output may be off due to local changes, but the point is > that -n with bmake is documented to run sub-makes with -n as well, so it > calls right down the chain showing all build commands without taking any > real actions. > > Bmake added a '-N' flag that essentially does the hack that we've put > into our top-level Makefile - it doesn't run sub-makes. > > > So having said all of that, the ${_+_} never expands anymore since > r251748 (June 2013). The act of it working in top-level has only been > fixed since r288391 (September 2015). > > Given it was broken for this long period I assume no one uses '-n -n' or > even knew about it. > > I would like to remove it (-n -n and _+_) and just use the (bmake) > documented -n and -N flags and use '+' everywhere appropriate. Note that > we use .MAKE in some targets that achieves largely the same thing, but > many sub-make calls don't have a .MAKE and lack a proper '+' to recurse > in Makefile.inc1. > if you take a Makefile for older pmake and run it with newer - there is no telling what might happen (unless of course it's already been tried) no telling
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5622695D.6040700>