LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* module builds need improvement / top Makefile not good enough
@ 2007-03-02 17:14 FN
2007-03-02 17:26 ` Jeremy Fitzhardinge
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: FN @ 2007-03-02 17:14 UTC (permalink / raw)
To: linux-kernel
Hello list,
I am unhappy with the direction the 2.6 kernel builds have taken.
Very much like Micro$loth DDKs we (linux users) are being forced to
build
modules by plugging into a framework that doesn't respect the fine
aspects
of dependency generation and analysis.
Two problems I've identified
1. module builds are forcing me to use a particular make program (gnu
make)
Well, what if someone uses a different tool to express the DAG (dep.
graph)?
2. gnu make is a somewhat dated program and can't do profound dependency
generation and analysis like some newer tools. All it can do is
produce
.d from .c with the -MM option using an idiom like this
-include f1.d f2.d
%.d: %.c
$(CC) -MM <whatever>
But that's not good enough for 2 reasons.
a) version rollback that causes timestamp rollback in time does NOT
trigger regeneration of dependencies (e.g. clearcase based
builds).
b) dependencies on order of things can't be expressed in gnu make,
for
example -Iinc1 -Iinc2 causes different results from -Iinc2 -Iinc1
if you have 2 different header files that have the same name in
both
directories. Same goes for "ld -r -o mod.o f1.o f2.o" vs
"ld -r -o mod.o f2.o f1.o" if order mattered (which it doesn't in
this case).
Bottom line - there exist free tools that are vastly superior to gnu
make,
one such example is omake, and I don't want you to force me to switch
to
inferior dependency analysis with gnu make.
My suggestion how to solve this problem is the following.
Instead of
gnumake -C /lib/modules/`uname -r`/build M=`pwd` modules
it's better to be able to do
gnumake -C /lib/modules/`uname -r`/build M=`pwd` MYMAKE=mymake modules
and then inside your gnu Makefile you'd call mymake like so
chdir $(M)
mymake MODFLAGS="whatever modflags" INCFLAGS="whatever incflags" modules
and pass on whatever flags are necessary.
You can set MYMAKE to gmake if unspecified thus "MYMAKE ?= make"
That would make the callback into the user's build environment clean and
unbind it from gnu make.
Any replies, critique -- cc me, as I am not on this list.
--
FN
zzzz444@ml1.net
--
http://www.fastmail.fm - And now for something completely different
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: module builds need improvement / top Makefile not good enough
2007-03-02 17:14 module builds need improvement / top Makefile not good enough FN
@ 2007-03-02 17:26 ` Jeremy Fitzhardinge
2007-03-02 18:50 ` Sam Ravnborg
2007-03-04 21:47 ` Oleg Verych
2 siblings, 0 replies; 9+ messages in thread
From: Jeremy Fitzhardinge @ 2007-03-02 17:26 UTC (permalink / raw)
To: FN; +Cc: linux-kernel
FN wrote:
> a) version rollback that causes timestamp rollback
Ugh. Broken.
> it's better to be able to do
> gnumake -C /lib/modules/`uname -r`/build M=`pwd` MYMAKE=mymake modules
>
Patches accepted.
J
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: module builds need improvement / top Makefile not good enough
2007-03-02 17:14 module builds need improvement / top Makefile not good enough FN
2007-03-02 17:26 ` Jeremy Fitzhardinge
@ 2007-03-02 18:50 ` Sam Ravnborg
2007-03-04 21:47 ` Oleg Verych
2 siblings, 0 replies; 9+ messages in thread
From: Sam Ravnborg @ 2007-03-02 18:50 UTC (permalink / raw)
To: FN; +Cc: linux-kernel
On Fri, Mar 02, 2007 at 09:14:22AM -0800, FN wrote:
> Hello list,
>
> I am unhappy with the direction the 2.6 kernel builds have taken.
> Very much like Micro$loth DDKs we (linux users) are being forced to
> build
> modules by plugging into a framework that doesn't respect the fine
> aspects
> of dependency generation and analysis.
The build system for the kernel (kbuild) have a number of goals to fulfill.
The most important ones was to be reliable and easy to use.
The easy to use part has mandated a very simple syntax in the
more than 1000 Makefiles in the kernel - and kbuild has been extended
support external modules too.
With the 2.6 kernel it is mandatory to use kbuild for external
modules for a number of reasons:
-> compiler and to some extent linker options now much more rely on
the actual configuration. So a gcc commandline for a module may look
different depending on the actual configuration.
-> The module support code is well integrated with kbuildand when
it changes (and it does so now and then) then all external modules
do not need to apply the same changes.
-> Same syntax for in-kernel and external modules makes it simpler.
The infrastructure used to achieve the goals of simplicity and reliability
rely and a great deal of the features supported by GNU make and that
clearmake and others does not support.
So faced with the two possibilities which is
1) to rely on less GNU make features and support other make tools
2) full feature set but rely on GNU make
the choice was easy.
The point here is that even if kbuild was changed slightly to allow a user
to specify an alternative make program when building external modules
that would not work because kbuild rely too much on the GNU make features.
You can try this today.
MAKE=/usr/bin/my_make_utility make M=`pwd`
And see how it fails due to use of GNU make features.
Sam
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: module builds need improvement / top Makefile not good enough
2007-03-02 17:14 module builds need improvement / top Makefile not good enough FN
2007-03-02 17:26 ` Jeremy Fitzhardinge
2007-03-02 18:50 ` Sam Ravnborg
@ 2007-03-04 21:47 ` Oleg Verych
2007-03-05 13:53 ` FN
2 siblings, 1 reply; 9+ messages in thread
From: Oleg Verych @ 2007-03-04 21:47 UTC (permalink / raw)
To: FN; +Cc: linux-kernel
> From: "FN"
> Newsgroups: gmane.linux.kernel
> Subject: module builds need improvement / top Makefile not good enough
> Date: Fri, 02 Mar 2007 09:14:22 -0800
> Hello list,
Hallo.
> I am unhappy with the direction the 2.6 kernel builds have taken.
> Very much like Micro$loth DDKs we (linux users) are being forced to
> build
> modules by plugging into a framework that doesn't respect the fine
> aspects
> of dependency generation and analysis.
Ideas in form of patches are accepted,
> Two problems I've identified
> 1. module builds are forcing me to use a particular make program (gnu
> make)
> Well, what if someone uses a different tool to express the DAG (dep.
> graph)?
with multiple stat()/clone()/exec(cc), i.e. `make' replacement, tools support,
> 2. gnu make is a somewhat dated program and can't do profound dependency
> generation and analysis like some newer tools. All it can do is
> produce
> .d from .c with the -MM option using an idiom like this
> -include f1.d f2.d
> %.d: %.c
> $(CC) -MM <whatever>
AFAIK GNU make have nothing to do with any kind of decencies,
> But that's not good enough for 2 reasons.
> a) version rollback that causes timestamp rollback in time does NOT
> trigger regeneration of dependencies (e.g. clearcase based
> builds).
> b) dependencies on order of things can't be expressed in gnu make,
> for
> example -Iinc1 -Iinc2 causes different results from -Iinc2 -Iinc1
> if you have 2 different header files that have the same name in
> both
> directories. Same goes for "ld -r -o mod.o f1.o f2.o" vs
> "ld -r -o mod.o f2.o f1.o" if order mattered (which it doesn't in
> this case).
see kbuild implementation to know how preparation done before GNU make
is used,
> Bottom line - there exist free tools that are vastly superior to gnu
> make,
> one such example is omake, and I don't want you to force me to switch
> to
> inferior dependency analysis with gnu make.
(note: supported and well maintained free tools).
> My suggestion how to solve this problem is the following.
> Instead of
> gnumake -C /lib/modules/`uname -r`/build M=`pwd` modules
> it's better to be able to do
> gnumake -C /lib/modules/`uname -r`/build M=`pwd` MYMAKE=mymake modules
> and then inside your gnu Makefile you'd call mymake like so
>
> chdir $(M)
> mymake MODFLAGS="whatever modflags" INCFLAGS="whatever incflags" modules
> and pass on whatever flags are necessary.
>
> You can set MYMAKE to gmake if unspecified thus "MYMAKE ?= make"
>
> That would make the callback into the user's build environment clean and
> unbind it from gnu make.
I doubt this suggestion. I think, as GNU make is current good and
supported stat()/clone()/exec(cc) tool, one must provide
gnu-make-with-kbuild-tools independent configuration and dependency building
process. And having multiple-pluging for dep-build and cc-build
tools, it may be suitable for guys like kbuild developers, you and me.
> Any replies, critique -- cc me, as I am not on this list.
If you can't follow LKML yet, please find little-nice kbuild ML in the
MAINTAINERS file. And IMHO, this (cc me) already must be in some kind of
"how to ask questions in the smart way" or Newbie's Netiquette, as bed
example of introduction of yourself.
> --
> FN
> zzzz444@ml1.net
>
> --
http:// www@fastmail.fm - And now for something completely different?
>
See you later?
--
-o--=O`C
#oo'L O
<___=E M
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: module builds need improvement / top Makefile not good enough
2007-03-04 21:47 ` Oleg Verych
@ 2007-03-05 13:53 ` FN
2007-03-05 16:07 ` Jan Engelhardt
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: FN @ 2007-03-05 13:53 UTC (permalink / raw)
To: Oleg Verych; +Cc: linux-kernel
| > I am unhappy with the direction the 2.6 kernel builds have taken.
| > Very much like Micro$loth DDKs we (linux users) are being forced to
| > build modules by plugging into a framework that doesn't respect the
fine
| > aspects of dependency generation and analysis.
|
| Ideas in form of patches are accepted,
I think that one of the bigger firms that support linux, like IBM,
Redhat,
Suse, ought to hire a contractor to redesign kbuild and get the linux
community involved.
| > Two problems I've identified
| > 1. module builds are forcing me to use a particular make program
(gnu
| > make)
| > Well, what if someone uses a different tool to express the DAG
(dep.
| > graph)?
|
| with multiple stat()/clone()/exec(cc), i.e. `make' replacement, tools
| support,
|
| > 2. gnu make is a somewhat dated program and can't do profound
dependency
| > generation and analysis like some newer tools. All it can do is
| > produce
| > .d from .c with the -MM option using an idiom like this
| > -include f1.d f2.d
| > %.d: %.c
| > $(CC) -MM <whatever>
|
| AFAIK GNU make have nothing to do with any kind of decencies,
On the contrary. An attempt is made by gnu make to compute dependencies.
As I pointed out earlier, it doesn't do a very good job of it.
| > But that's not good enough for 2 reasons.
| > a) version rollback that causes timestamp rollback in time does
NOT
| > trigger regeneration of dependencies (e.g. clearcase based
| > builds).
| > b) dependencies on order of things can't be expressed in gnu
make,
| > for example -Iinc1 -Iinc2 causes different results from -Iinc2
-Iinc1
| > if you have 2 different header files that have the same name
in
| > both directories. Same goes for "ld -r -o mod.o f1.o f2.o" vs
| > "ld -r -o mod.o f2.o f1.o" if order mattered (which it doesn't
in
| > this case).
|
| see kbuild implementation to know how preparation done before GNU make
| is used,
How is this relevant to the point I was making about the deficiencies in
gnu
make? The most important thing to remember when designing something like
kbuild
is that "make", no matter what kind, is nothing but a way to describe a
DAG
(Directed Acyclic Graph). As soon as developers forget this all
important fact
you start seeing abominations, like Makefiles being used as a scripting
language
and top level Makefiles invoking lower level Makefiles.
| > Bottom line - there exist free tools that are vastly superior to
gnu
| > make, one such example is omake, and I don't want you to force me
to switch
| > to inferior dependency analysis with gnu make.
|
| (note: supported and well maintained free tools).
That's not for you to decide.
Just pass down all variables that may be relevant to my module builds
and let me take it from there, for example
chdir $(M)
$(MYMAKE) CC="..." LD="..." AR="..." CFLAGS="..." MODFLAGS="..."
INCL="..."
WHATHAVE_YOU="whatever" modules
Currently I face the following situation -- I try to build 2 drivers
from the same Makefile
-----------
CWD := $(shell pwd)
obj-m := driver1.o driver2.o
driver1-y := d1/d2/d3/f1.o d1/d2/f2.o
driver2-y := d1/d5/file1.o d1/d6/file2.o
# ill conceived kbuild framework doesn't allow me to reduce granularity
# of EXTRA_FLAGS
$(addprefix $(CWD)/,d1/d2/d3/f1.o d1/d5/file1.o: EXTRA_CFLAGS :=
-DMASK=0x123
$(addprefix $(CWD)/,d1/d2/f2.o d1/d6/file2.o) : EXTRA_CFLAGS :=
-DMASK=0x456
# fine grained scope for EXTRA_CFLAGS (supported by gnu make) doesn't
work
----------
There are 2 problems here
1) kbuild is forcing me to declare EXTRA_CFLAGS in global scope and
I can't build my drivers properly because the MASKs are incompatible.
2) assuming that modules are buildable, if I do "make clean" there is
leftover
junk in all of these places d1/d2/d3 d1/d5 d1/d2 d1/d6.
There is a danger associated with that junk (or state), dependency
generation
may be broken which it provably is in some cases (remember -Iinc_dir1
-Iinc_dir2
vs. -Iinc_dir2 -Iinc_dir1 example I gave earlier) and I can't rely on
it.
So then I need to be able to clean all, but the "clean:" target can't
clean
inexpensively in multiple directorie, i.e. must do recursive
traversal to clean.
| > My suggestion how to solve this problem is the following.
| > Instead of
| > gnumake -C /lib/modules/`uname -r`/build M=`pwd` modules
| > it's better to be able to do
| > gnumake -C /lib/modules/`uname -r`/build M=`pwd` MYMAKE=mymake
modules
| > and then inside your gnu Makefile you'd call mymake like so
| >
| > chdir $(M)
| > mymake MODFLAGS="whatever modflags" INCFLAGS="whatever incflags"
modules
| > and pass on whatever flags are necessary.
| >
| > You can set MYMAKE to gmake if unspecified thus "MYMAKE ?= make"
| >
| > That would make the callback into the user's build environment clean
and
| > unbind it from gnu make.
|
| I doubt this suggestion. I think, as GNU make is current good and
| supported stat()/clone()/exec(cc) tool, one must provide
| gnu-make-with-kbuild-tools independent configuration and dependency
| building process. And having multiple-pluging for dep-build and
cc-build
| tools, it may be suitable for guys like kbuild developers, you and me.
See what happens to a person's thinking when he doesn't grasp the basics
of building software -- it gets cloudy and he can't articulate his
ideas.
No wonder kbuild users like myself face the problems that they do.
Here is a crash course in building software 101.
Start off defining the DAG (dep. graph), then choose a tool that can
express it, and extend the DAG by automatically making explicit some
hidden (implicit) additional dependencies. The tool you pick may be
stateless (gnu make for instance for the most part is stateless) or
capture
select state of the build machine and incorporate it into the DAG.
A short example of a stateful build is where "make all DEBUG=false" does
nothing when repeated after a successful build but does a complete
rebuild
when invoked thus "make all DEBUG=true", because the developer chose to
include the variable $(DEBUG) in the DAG and the tool is able to express
this dependency (gnu make can't do that btw). In addition to env.
variables
it may also be possible to express dependencies on order and other
things
(but not in gnu make).
So make sure whoever discusses build issues you understand building
software 101 before jumping into discussions.
> > Any replies, critique -- cc me, as I am not on this list.
>
> If you can't follow LKML yet, please find little-nice kbuild ML in the
> MAINTAINERS file. And IMHO, this (cc me) already must be in some kind of
> "how to ask questions in the smart way" or Newbie's Netiquette, as bed
> example of introduction of yourself.
No, you can't send me off to some little kbuild mailing list.
I've raised concerns that probably affects hundreds of module builders.
kbuild works well only in the simplest of build scenarios but doesn't
scale and that's a deficiency that should be urgently addressed.
The leadership of the linux kernel is going to have to make
a decision and possibly hire a competent contractor to fix these
problems.
Are you guys perfectionists or what?
Another item on my wish list is to see large chunks of the linux
kernel, including most device drivers, rewritten in a DSL (domain
specific
language). Why?
Because it's easier to reason about code correctness in a high level
language, it's also easy to reason if the translation of constructs in
this high level language to C/assembly chunks is correct.
But it's incredibly difficult to prove correctness in large gobs
of C code. I am not a prophet but I am fairly certain that in
10-15 years there would be a big push to rewrite a lot of kernel
code in a DSL. You might as well start thinking about it now.
Goodbye everyone.
--
FN
zzzz444@ml1.net
--
http://www.fastmail.fm - A fast, anti-spam email service.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: module builds need improvement / top Makefile not good enough
2007-03-05 13:53 ` FN
@ 2007-03-05 16:07 ` Jan Engelhardt
2007-03-05 16:47 ` Randy Dunlap
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Jan Engelhardt @ 2007-03-05 16:07 UTC (permalink / raw)
To: FN; +Cc: Oleg Verych, linux-kernel
On Mar 5 2007 05:53, FN wrote:
>
>| > I am unhappy with the direction the 2.6 kernel builds have taken.
>| > Very much like Micro$loth DDKs we (linux users) are being forced to
>| > build modules by plugging into a framework that doesn't respect the
>fine
>| > aspects of dependency generation and analysis.
>|
>| Ideas in form of patches are accepted,
>
>I think that one of the bigger firms that support linux, like IBM,
>Redhat,
>Suse, ought to hire a contractor to redesign kbuild and get the linux
>community involved.
The fact that they did not so far means they are fine with Kbuild.
Jan
--
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: module builds need improvement / top Makefile not good enough
2007-03-05 13:53 ` FN
2007-03-05 16:07 ` Jan Engelhardt
@ 2007-03-05 16:47 ` Randy Dunlap
2007-03-05 17:03 ` Stuart MacDonald
2007-03-05 19:08 ` Sam Ravnborg
3 siblings, 0 replies; 9+ messages in thread
From: Randy Dunlap @ 2007-03-05 16:47 UTC (permalink / raw)
To: FN; +Cc: Oleg Verych, linux-kernel
On Mon, 05 Mar 2007 05:53:14 -0800 FN wrote:
> That's not for you to decide.
> Just pass down all variables that may be relevant to my module builds
> and let me take it from there, for example
> chdir $(M)
> $(MYMAKE) CC="..." LD="..." AR="..." CFLAGS="..." MODFLAGS="..."
> INCL="..."
> WHATHAVE_YOU="whatever" modules
>
> Currently I face the following situation -- I try to build 2 drivers
> from the same Makefile
> -----------
> CWD := $(shell pwd)
> obj-m := driver1.o driver2.o
> driver1-y := d1/d2/d3/f1.o d1/d2/f2.o
> driver2-y := d1/d5/file1.o d1/d6/file2.o
> # ill conceived kbuild framework doesn't allow me to reduce granularity
> # of EXTRA_FLAGS
> $(addprefix $(CWD)/,d1/d2/d3/f1.o d1/d5/file1.o: EXTRA_CFLAGS :=
> -DMASK=0x123
> $(addprefix $(CWD)/,d1/d2/f2.o d1/d6/file2.o) : EXTRA_CFLAGS :=
> -DMASK=0x456
> # fine grained scope for EXTRA_CFLAGS (supported by gnu make) doesn't
> work
> ----------
> There are 2 problems here
> 1) kbuild is forcing me to declare EXTRA_CFLAGS in global scope and
> I can't build my drivers properly because the MASKs are incompatible.
> 2) assuming that modules are buildable, if I do "make clean" there is
> leftover
> junk in all of these places d1/d2/d3 d1/d5 d1/d2 d1/d6.
> There is a danger associated with that junk (or state), dependency
> generation
> may be broken which it provably is in some cases (remember -Iinc_dir1
> -Iinc_dir2
> vs. -Iinc_dir2 -Iinc_dir1 example I gave earlier) and I can't rely on
> it.
> So then I need to be able to clean all, but the "clean:" target can't
> clean
> inexpensively in multiple directorie, i.e. must do recursive
> traversal to clean.
>
> No, you can't send me off to some little kbuild mailing list.
> I've raised concerns that probably affects hundreds of module builders.
> kbuild works well only in the simplest of build scenarios but doesn't
> scale and that's a deficiency that should be urgently addressed.
> The leadership of the linux kernel is going to have to make
> a decision and possibly hire a competent contractor to fix these
> problems.
> Are you guys perfectionists or what?
Not at all.
I think you'll need to convince/show us that there is a real
problem that cannot be solved by current Kbuild.
E.g., instead of building 2 drivers from the same Makefile
where you cannot reduce granularity of EXTRA_FLAGS, can it be done
with 2 makefiles? and if not, why not?
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: module builds need improvement / top Makefile not good enough
2007-03-05 13:53 ` FN
2007-03-05 16:07 ` Jan Engelhardt
2007-03-05 16:47 ` Randy Dunlap
@ 2007-03-05 17:03 ` Stuart MacDonald
2007-03-05 19:08 ` Sam Ravnborg
3 siblings, 0 replies; 9+ messages in thread
From: Stuart MacDonald @ 2007-03-05 17:03 UTC (permalink / raw)
To: 'FN', 'Oleg Verych'; +Cc: linux-kernel
From: On Behalf Of FN
> Currently I face the following situation -- I try to build 2 drivers
> from the same Makefile
> -----------
> CWD := $(shell pwd)
> obj-m := driver1.o driver2.o
> driver1-y := d1/d2/d3/f1.o d1/d2/f2.o
> driver2-y := d1/d5/file1.o d1/d6/file2.o
CFLAGS_f1.o := -DMASK=0x123
CFLAGS_file1.o := -DMASK=0x123
CFLAGS_f2.o := -DMASK=0x456
CFLAGS_file2.o := -DMASK=0x456
> ----------
> There are 2 problems here
> 1) kbuild is forcing me to declare EXTRA_CFLAGS in global scope and
> I can't build my drivers properly because the MASKs are
> incompatible.
Fixed your makefile for you. See Documentation/kbuild/modules.
..Stu
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: module builds need improvement / top Makefile not good enough
2007-03-05 13:53 ` FN
` (2 preceding siblings ...)
2007-03-05 17:03 ` Stuart MacDonald
@ 2007-03-05 19:08 ` Sam Ravnborg
3 siblings, 0 replies; 9+ messages in thread
From: Sam Ravnborg @ 2007-03-05 19:08 UTC (permalink / raw)
To: FN; +Cc: Oleg Verych, linux-kernel
On Mon, Mar 05, 2007 at 05:53:14AM -0800, FN wrote:
> | > I am unhappy with the direction the 2.6 kernel builds have taken.
> | > Very much like Micro$loth DDKs we (linux users) are being forced to
> | > build modules by plugging into a framework that doesn't respect the
> fine
> | > aspects of dependency generation and analysis.
> |
> | Ideas in form of patches are accepted,
>
> I think that one of the bigger firms that support linux, like IBM,
> Redhat,
> Suse, ought to hire a contractor to redesign kbuild and get the linux
> community involved.
Obviously kbuild can be better and if someone are committed to put in
a month work on kbuild we would see improvements.
As the kbuild maintainer I am the first to agree on this.
kbuild has taken the direction where make is used not only
as a simple DAG tool - be some of the other facilities
has been utilised to support some of the following goals:
-> Very simple Kbuild files for the simple cases - and the simple cases counts
for more than 95% of the Kbuild files in the kernel.
-> One kbuild file pr. directory for simplicity
-> rebuild in case prerequisites OR referred CONFIG symbol changes
-> rebuild if commandline arguments changes (but not order of these)
-> revert back to known Makefile syntax for complex scenarios
-> make kbuild infrastructure avialable for external modules to make build
of these more releiable (pick up correct CONFIG)
-> Last but not least - relaible.
These golas are fulfilled by kbuild today.
You want to add another few goals:
-> Do not rely on GNU Make
-> Track actual timestamp/file content to support ClarCase dynamic views
> Currently I face the following situation -- I try to build 2 drivers
> from the same Makefile
If you try to use Kbuild in a way it is not designed to be used
then you will obviously face issues.
One Kbuild file pr. directory.
Use a top-level Kbuild file to specify both sub-directory Kbuild files.
This structure works well for the kernel - so it should work well for your module too?
I am open for specific improvement proposals - but not for 'redo from scratch proposals'.
Sam
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-03-05 19:08 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-02 17:14 module builds need improvement / top Makefile not good enough FN
2007-03-02 17:26 ` Jeremy Fitzhardinge
2007-03-02 18:50 ` Sam Ravnborg
2007-03-04 21:47 ` Oleg Verych
2007-03-05 13:53 ` FN
2007-03-05 16:07 ` Jan Engelhardt
2007-03-05 16:47 ` Randy Dunlap
2007-03-05 17:03 ` Stuart MacDonald
2007-03-05 19:08 ` Sam Ravnborg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).