project-navigation
Personal tools

Author Topic: New experimental configure and makefile  (Read 6086 times)

tomshackell

  • Guest
New experimental configure and makefile
« on: September 30, 2006, 11:02:54 pm »
Hi,

Following discussions about having a better build system I've pushed to the most recent SVN a configure/make system.

It uses autoconf, but not automake, since automake:
  •  a) is very tied to recursive makefiles, see Recursive Make Considered Harmful for a very enlightening discussion of the subject.
  •  b) has a very fixed idea about how your project is laid out, and since ufo:ai isn't laid out that way it would be a real pain to make it fit.

 
So instead I've included a new set of makefiles, with the sub-makefiles appearing in the 'build' directory.

As an added bonus the new system also does a proper dependency analysis. So no more having to 'make clean' because you changed a header file.

To compile with it you need to do

./configure
make -f Makefile

the -f is necessary because the old system is still in place since this one is experimental. Also a dependency has been added on libtool, since there's not really a different nice way to do shared objects cross platform (well libtool isn't exactly 'nice' but you know what I mean) :-)

Caveats: it is almost certainly broken on anything other than linux, since that's all I am able to test it on at the moment. However hopefully if people try it on other systems they can let me know of any problems.

Thanks :-)


Tom

Offline Mattn

  • Administrator
  • PHALANX Commander
  • *****
  • Posts: 4831
  • https://github.com/mgerhardy/vengi
    • View Profile
    • Vengi Voxel Tools
New experimental configure and makefile
« Reply #1 on: October 01, 2006, 09:04:32 am »
great work, thank you very much.

is it possible to build mingw with autoconf, too?

tomshackell

  • Guest
New experimental configure and makefile
« Reply #2 on: October 01, 2006, 09:59:29 am »
It should certainly work with cygwin, but the configure script requires bash (or  similar shell) which I believe mingw doesn't have.

Of course it would be possible to provide a 'pre-configured' makefile (since a lot of the configuration settings are generally known)

It would of course be possible with something like scons, but that would also introduce a dependency on scons. Personally I favour scons over configure/make but not everyone has it.

tomshackell

  • Guest
New experimental configure and makefile
« Reply #3 on: October 01, 2006, 11:52:31 am »
No apparently there is MSYS which is a minimal system designed to make configure scripts work. So, it may well be possible to get the system to build in MingW,