[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13962: 24.3: build fails when make run as a sub-make process
From: |
balducci |
Subject: |
bug#13962: 24.3: build fails when make run as a sub-make process |
Date: |
Thu, 14 Mar 2013 19:07:33 +0100 |
hello,
while building 24.3 I stumbled on the following problem.
The main Makefile contains the following two lines:
info_misc=`cd $${thisdir}/doc/misc; ${MAKE} -s echo-info`; \
(info_misc=`cd doc/misc; ${MAKE} -s echo-info`; \
Everything works nicely if I run make from the shell prompt.
However, I usually build emacs with a script which in turn is run from
a Makefile of mine. If I attempt to build this way, I find
that the definitions of info_misc above contain also the make messages
"Entering directory..." "Leaving directory...", which, of course,
break the build.
The problem is that -s suppresses recipe lines echoing, but NOT
directory change messages from make, which make emits when run in a
sub-make process (which is why I do not get errors when runnig from the
shell prompt, while I get errors when running from my script, run by
make)
The above lines assume that the main Makefile will never be run by a
sub-make, which of course is true most of the time, but is false in my
case.
Everything is fixed joining --no-print-directory with the -s option, but,
as I was told by paul smith on the help-make mail list, that won't work
for non-GNU make. Following paul's suggestion, I propose:
=> use of MAKELEVEL=0, so that GNU make thinks to be a top-most level:
info_misc=`cd doc/misc && MAKELEVEL=0 ${MAKE} -s echo-info`
while other make's won't be disturbed
=> sed-ing the ${MAKE} -s echo-info command to strip off any spurios
directory change message
Apologies if I have overlooked something
and thank you really very much for maintaining and developing emacs
ciao
gabriele
- bug#13962: 24.3: build fails when make run as a sub-make process,
balducci <=