This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Ada: VPATH in ada/Makefile.adalib
- To: Geert Bosch <bosch at gnat dot com>
- Subject: Re: Ada: VPATH in ada/Makefile.adalib
- From: Florian Weimer <fw at deneb dot enyo dot de>
- Date: Sat, 06 Oct 2001 10:56:38 +0200
- Cc: gcc at gcc dot gnu dot org
- References: <Pine.GSO.4.10.10110051215320.28346-100000@nile.gnat.com>
Geert Bosch <bosch@gnat.com> writes:
> On Fri, 5 Oct 2001, Florian Weimer wrote:
>
> After some tweaking, I've been able to build the GNAT run-time
> library. However, the build process now stops because ada/Makefile
> assumes that the ada/rts/ subdirectory contains all *.o files:
>
> $(AR) $(AR_FLAGS) rts/libgnat$(arext) \
> $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS))
>
> This is not true, some of the *.o files are not built because of the
> use of VPATH in ada/Makefile.adalib.
>
> Makefile.adalib is not used for building the library in a normal build.
Okay, I now seem to understand what is going on. I've got the source
in ~/src-cvs/gnu/gcc/, and a build directory ~/src-cvs/gnu/gcc/BUILD/
in the source tree. Usually (i.e. for other targets), this works
well, however ~/src-cvs/gnu/gcc/BUILD/Makefile contains a VPATH
setting:
VPATH = ../../../gcc/ada
During the compiler build process, this refers to the directory
~/src-cvs/gcc/gcc/ada/, but when make invokes itself recursively in
the directory ~/src-cvs/gnu/gcc/BUILD/gcc/ada/rts/, the VPATH forces
make to in ~/src-cvs/gnu/gcc/BUILD/gcc/ada/, where it finds some
already existing object files. :-/
Oh dear, I've just noticed that this kind of setup is officially
unsupported. Oh well.