[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Demexp-dev] Troublesome build system modifications
From: |
GISQUET Christophe |
Subject: |
Re: [Demexp-dev] Troublesome build system modifications |
Date: |
Wed, 27 Sep 2006 02:22:24 +0200 |
User-agent: |
Thunderbird 1.5.0.7 (Windows/20060909) |
David MENTRE a écrit :
Therefore I propose that Makefile simply includes config/Makefile.inc,
hoping it is not a gnu-ism.
It is probably a gnu-ism but not the first one in the Makefile.
I've checked further:
http://www.gnu.org/software/make/manual/html_node/Features.html
Seems to me to be on the contrary a baseline feature (except for the multiple
include)
At first, I thought that we should follow all other softwares. But not
having a Makefile *force* people to do an initial configure, which is
not so bad. :-) And I'm deliberately not using autotools.
In Makefile:
makefile.inc: configure
./configure $(CONFIGURE_OPTIONS)
Later on (otherwise an unupdated version is used):
include makefile.inc
And in configure:
echo "CONFIGURE_OPTIONS=$*" >> makefile.inc
Anyway, "include makefile.inc" makes absence of makefile.inc fatal. Thus
configure is still needed.
As for autotools, I can quite understand that (KISS), though I was never
thinking of it for "other" softwares. I was more thinking of softwares using a
"hand-coded" configure, like us. autotools generate Makefiles carved into
stone; I never even tried to understand how to do the equivalent of CC=mygcc
make. In fact, they really can't be compared to what I thought.
2. The configure arguments are stored in the generated Makefile:
~/pub/demexp/hg/work$ head -1 Makefile
# generated by ./configure --prefix /tmp --for-developer
Yeah I saw that, but it is put in a non-usable shape. See my code snipet for
what I meant: if configure needs to be rerun, at least rerun it with the
initial options. Not very interesting indeed if new options are present.
I think this would be a bit excessive but it would ensure that the build
is coherent with the Makefile. On the other side, we can say that doing
a 'make clean && ./configure' is part of playing with the build
system. I don't change that part for now.
This was just an idea. Even complex system like autotools fail at it, so...
--
Christophe GISQUET