Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/etc/mtree



On Tue, Sep 06, 2011 at 02:53:58PM +0400, Valeriy E. Ushakov wrote:
 > Are you saying you are going to add a special case for each foo.o file
 > each time an accidental non-objdir build left foo.o in src? (and no,
 > that's not a rhetoric question).

The fundamental problem is that the make library finds files by
implicit path searches (of various kinds) which is inherently wobbly
no matter how many bandaids are applied.

The robust approach is to change the makefiles to do

.for S in $(SRCS:M*.c)
$(OBJDIR)/$(S:T:R).o: $(S)
        $(COMPILE.c) $(S) -o $(.TARGET)
.endfor

and forget about make's builtin objdir hackery entirely. Unfortunately
there are many reasons why this is not a trivial undertaking...

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index