demexp-dev
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]