Re: test10-pre7

Christoph Hellwig
2000-10-31T01:02:53Z

On Mon, Oct 30, 2000 at 04:47:15PM -0800, Linus Torvalds wrote:
>
>
> On Tue, 31 Oct 2000, Christoph Hellwig wrote:
> >
> > Old-style Makefiles are playing dirty tricks with defining
> > L_TARGET and then using O_TARGET for linking some onjects into
> > an intermediate object.
>
> Actually, I think I have an even simpler solution, which is to change the
> newstyle rule to something very simple:
>
> # Translate to Rules.make lists.
>
> O_OBJS := $(obj-y)
> M_OBJS := $(obj-m)

This will destroy one nice feature of list-style makefiles:
when you have and object both in obj-y and obj-m it will be removed
from obj-m with the old boiler-plates, not with your proposal.

> MIX_OBJS := $(export-objs)

The MIX_OBJS change is wrong. It may not hurt the resulting
kernel image but you will build all export-objs, not only the
ones you actually have selected. But we might get around this
with some $(filter ...) magic.

> # The global Rules.make.
>
> include $(TOPDIR)/Rules.make
>
> And you're done..
>
> Does anybody see anything wrong with this approach?
>
> It's kin dof cheesy, but I think it should work. The magic is that by
> avoiding OX_OBJS and MX_OBJS, we avoid all the sorting issues. We
> basically lie, and say that we don't have anything like that.
>
> Then, MIX_OBJS picks up the stragglers, and makes sure that we consider
> the proper files to be SYMTAB_OBJS.
>
> This works for me for USB (ie just remove all the stuff with "int-y" and
> multi's etc). Does it work for anybody else?

The idea looks great, but it looks like the implementation needs a little
bit work.

Keith do you want to hack on this now - or should I prepare a patch tomorrow?

Christoph

--
Always remember that you are unique. Just like everyone else.