[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51D48E72.5010403@suse.cz>
Date: Wed, 03 Jul 2013 22:49:54 +0200
From: Michal Marek <mmarek@...e.cz>
To: 张忠山 <zzs0213@...il.com>
Cc: linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] let kbuild mkdir for dir/file.o
Dne 30.6.2013 11:09, 张忠山 napsal(a):
> When add a obj with dir to obj-y, like this
>
> obj-y += dir/file.o
>
> The $(obj)/dir not created, this patch fix this.
>
> When try to add a file(which in a subdir) to my board's obj-y, the build
> progress crashed.
>
> For example, I use at91rm9200ek board, and in kernel dir run:
>
> mkdir objtree
> make O=objtree at91rm9200_defconfig
> mkdir arch/arm/mach-at91/dir
> touch arch/arm/mach-at91/dir/file.c
>
> and edit arch/arm/mach-at91/dir/file.c to add some code.
> then edit arch/arm/mach-at91/Makefile, change the following line:
>
> obj-$(CONFIG_MACH_AT91RM9200EK) += board-rm9200ek.o
>
> to:
>
> obj-$(CONFIG_MACH_AT91RM9200EK) += board-rm9200ek.o dir/file.o
>
> Now build it:
>
> make O=objtree
>
> Then the error appears:
> ...
> CC arch/arm/mach-at91/board-rm9200dk.o
> CC arch/arm/mach-at91/board-rm9200ek.o
> CC arch/arm/mach-at91/dir/file.o
> linux-2.6/arch/arm/mach-at91/dir/file.c:5:
> fatal error: opening dependency file
> arch/arm/mach-at91/dir/.file.o.d: No such file or directory
>
> Check the objtree:
> LANG=en ls objtree/arch/arm/mach-at91/dir
> ls: cannot access objtree/arch/arm/mach-at91/dir: No such file or directory
>
> It's apparently that the target dir not created for file.o
>
> Check kbuild source code. It seems that kbuild create dirs for that in
> $(obj-dirs). But if the dir need not to create a built-in.o, It should
> never in $(obj-dirs).
>
> So I make this patch to make sure It in $(obj-dirs)
>
> this bug caused by commit
> f5fb976520a53f45f8bbf2e851f16b3b5558d485
> ---
You forgot to sign off this patch, can I add
Signed-off-by: 张忠山 <zzs0213@...il.com>
like you did in the previous versions? Otherwise, the patch looks OK.
Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists