Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 8 Dec 2015 19:39:14 -0500
From: Rich Felker <>
Subject: Re: Support for out-of-tree build

Sorry it took me a while to get to this (and other pending musl
stuff). Here's my review:

On Tue, Dec 01, 2015 at 02:14:29AM +0000, Petr Hosek wrote:
> On Mon, Nov 30, 2015 at 2:14 PM Rich Felker <> wrote:
> > > I'm trying it again now, and I'm still getting an error trying to
> > > build in a fresh out-of-tree dir:
> > >
> > > make: *** No rule to make target `obj/crt/i386/', needed by
> > `obj/crt/crt1.o'.  Stop.
> >
> I've removed the trailing slashes as discussed on IRC and this should work
> now.

I get:

make: *** No rule to make target `obj/include/bits', needed by `obj/include/bits/alltypes.h'.  Stop.

I think this is because $(dir...) intentionally leaves the trailing
slash, so you have to remove it to get the desired behavior.

First I tried:

OBJ_DIRS = $(sort $(patsubst %/,%,$(dir $(ALL_LIBS) $(ALL_TOOLS) $(OBJS) $(GENH) $(GENH_INT))) $(addprefix obj/, crt crt/$(ARCH) include))

but this does not seem to be sufficient, because of:

$(OBJS) $(LOBJS): | $(sort $(dir $(OBJS)))

Adding patsubst there would work too, but I wonder if it even makes
sense to have fine-grained dir dependencies, rather than just making
all the targets in this section of the makefile depend on $(OBJ_DIRS).

> > Manually creating the directory makes the build succeed. I also get,
> > when re-running configure:
> >
> > creating config.mak... ln: ./Makefile: File exists
> > done
> >
> > Not an error, but confusing and not what I would expect.
> >
> I've added a check to configure script.

../configure: Makefile already exists in the working directory

This isn't what I would expect either. Normally you want to be able to
re-run configure with different options. There's probably a little bit
of subtlety here because we would like to avoid overwriting an actual
file (if somebody copied and edited a makefile here) but happily
replace a symlink.

Aside from these issues it seems to be okay/working for me. I'd
appreciate comments from anyone else who's tried it.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.