Building outside the source directory is handy for e.g. distributors who need to build many versions of the same package (with GTK, SDL, etc.).
This is what happens now:
$ mkdir build
$ cd build
$ ../configure --disable-dependency-tracking
$ make
/usr/bin/perl ../perl/cpp-perl.pl config.h ../ui/options.dat | /usr/bin/perl -I../perl ../ui/gtk/options-header.pl - public > options.h.tmp && mv options.h.tmp options.h
/usr/bin/perl -I../perl ../settings.pl ../settings.dat > settings.c.tmp && mv settings.c.tmp settings.c
/usr/bin/perl -I../perl ../settings-header.pl ../settings.dat > settings.h.tmp && mv settings.h.tmp settings.h
/usr/bin/perl -I../perl ../keysyms.pl gtk ../keysyms.dat > ui/gtk/keysyms.c.tmp && mv ui/gtk/keysyms.c.tmp ui/gtk/keysyms.c
/bin/bash: ui/gtk/keysyms.c.tmp: No such file or directory
Makefile:3276: recipe for target 'ui/gtk/keysyms.c' failed
make: *** [ui/gtk/keysyms.c] Error 1
The problem is that ui/gtk doesn't exist if we're not building inside the source directory.
This can be solved trivially with the attached patch.
Regards,
Berto
Looks fair to me - anyone want to raise any other points before I commit this for 1.2?
This approach output duplicate objects when using silent rules (make V=0). I suggest muting the directory creation.
It sounds good to me too, thanks!
OK, the proposal also sounds good to me. I had less time than I hoped this weekend, but I intend to add this patch tomorrow unless I'm beaten to it, bring the release dates and notes up to date and then build the release tarballs barring overnight blockers.
Thanks. Committed in [r5588].
Related
Commit: [r5588]