Re: test10-pre7

Peter Samuelson
2000-11-01T03:31:12Z

[Peter Samuelson]
> > There are two ways to handle this:
> >
> > obj-$(CONFIG_WD80x3) += wd.o 8390.o
> > obj-$(CONFIG_EL2) += 3c503.o 8390.o
> > obj-$(CONFIG_NE2000) += ne.o 8390.o
> > obj-$(CONFIG_NE2_MCA) += ne2.o 8390.o
> > obj-$(CONFIG_HPLAN) += hp.o 8390.o

[John Alvord <jalvo@mbay.net>]
> You can avoid duplicates with
> obj-$(CONFIG_WD80x3) += wd.o
> ifneq (,$(findstring 8390.o,obj-$(CONFIG_WD80x3))
> obj-$(CONFIG_WD80x3) += 8390.o
> endif
>
> Which is wordy but accomplishes the objective of avoiding duplicates.

I said "there are two ways to handle this". You snipped the second,
which was:

> > ...Or do horrible games with 'if' statements and temporary
> > variables with names like $(NEED_8390) to ensure that it gets
> > included once if needed and not if not -- thereby pretty much
> > defeating the readability of the new-style makefiles.

I would consider your approach a variant of the "horrible games with if
statements and temporary variables". (:

Here's an exercise to the reader: reformat drivers/net/Makefile using
John Alford's approach, diff the two, and take a look. Then come back
and tell me LINK_FIRST -- 0-2 lines in the Makefile depending on your
ordering requirements, plus about five lines in Rules.make (*yes*, it
really is that simple) -- is really uglier.

Peter