Hi,

I had originally been building plib, simgear and flightgear with a variety of build scripts. These scripts were hard to maintain, and I often found cross platform incompatibilities when I tried to use a script written for one os or shell on another os or different shell.

I've been working on ways to improve cross platform building of plib, simgear and flightgear for a while now using make to handle the top level build (at the moment I've got Cygwin and Mac OS X), both with OS changes and with directory changes just for my personal use.

I've got a (moderately flexible) makefile (gpled) that I'd like to offer perhaps for inclusion via the faq or in developer information or flightgear wiki (makefile attached).

To avoid naming conflicts, I've named it makefile.ima. Build with make -f makefile.ima or rename it to makefile or Makefile. See the makefile for targets, some are:

make co                 -- checks out plib, simgear and flightgear from cvs
make allnoinstall -- checks out and builds plib, simgear and flightgear
make all (or make with no arguments) -- checks out, builds and installs plib, simgear and flightgear

cvs passwords are assumed to be in .cvspass. You can force cvs login by giving CVSLOGIN=1 as an argument to make.

The makefile itself goes in BUILDDIR (see below), and make is run from the BUILDDIR directory.

Please make sure that the install variable in your environment is set correctly for your os, I think that linux requires a -c option, where mac os x requires -C and cygwin -p in order to not install a file that is no different from the one already installed. This will avoid unnecessary rebuilds of dependencies.

I am no makefile expert, but I hope that someone might find this helpful. Perhaps the makefile would help users trying to build their own source from CVS who are new to cvs and the unix build process. The build structure is similar to D(arrell) W(alliser)'s as that's the flightgear build process that I started with. The makefile assumes BUILDDIR and CONFIGPREFIX to be set to a valid directory for the build, a toplevel directory which contains src/lib/bin/include for plib, simgear and flightgear. Please see the makefile for documentation on both the directory hierarchy and these and other variables.

I appreciate any and all comments. I'm sure the makefile's got lots of problems, but I offer the makefile as a first draft of something that might eventually be useful. Thank you!

Best regards,

Ima

Attachment: makefile.ima
Description: Binary data

_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d

Reply via email to