Re: The assemble file under the driver folder can not be recognized when the driver is built as module

From: Sam Ravnborg
Date: Mon Apr 10 2006 - 15:30:38 EST


On Mon, Apr 10, 2006 at 03:12:55PM -0400, linux-os (Dick Johnson) wrote:
>
> On Mon, 10 Apr 2006, Sam Ravnborg wrote:
>
> > On Mon, Apr 10, 2006 at 02:04:59PM -0400, linux-os (Dick Johnson) wrote:
> >
> >> Can't he just put his own private compile definition in his
> >> own Makefile?
> >>
> >> %.o: %.S
> >> as -o $@ $<
> >
> > That would never generate a module anyway. And kbuild support building
> > .o from .S with all the kbuild argument chechking etc.
> > Doing it so would be wrong.
> >
> > Sam
> >
>
>
> Really?? Here is a Makefile that has been known to work for sometime.
> As you can clearly see, it has lots of ".S" files. The last compile
> was on Linux-2.6.15.4. If current kernel building procedures prevents
> the assembly of assembly-language files and requires that the kernel
> modules be written entirely in 'C', then it is broken beyond all
> belief and must be fixed.
kbuild does not support a single-file module being written entirely in
assembler.
kbuild obviously support multi file modules where one file is in
assembler.

In your example you generate a multi file module where some files are in
assembler - supported.
And the point was that one should NOT define private rules like:
%.o: %.S
as -o $@ $<

If there is a valid need for such stuff - then kbuild needs to be fixed.
But I have yet to see a need like this.

I know several external modules plays all sort of tricks to avoid using
kbuild infrastructure - I recall you have posted such receipts before.
Recently posted loop-aes is another example (if USE_KBUILD is not set).

Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/