Build failes due to that the directory isn't created before we execute
the build rule.
cc1: fatal error: can’t open ‘drivers/memory/emif-asm-offsets.s’ for
writing: No such file or directory compilation terminated.
drivers/memory/Makefile.asm-offsets:2: recipe for target 'drivers/memory/emif-asm-offsets.s' failed
make[2]: *** [drivers/memory/emif-asm-offsets.s] Error 1
Makefile:1060: recipe for target
'arch/arm/mach-omap2' failed
make[1]: *** [arch/arm/mach-omap2] Error 2
make[1]: *** Waiting for unfinished jobs....
Current code adds a file check before checking the dependency, in
filechk it does mkdir -p $(dir $@).
Fixes: 41d9d44d7258 ("ARM: OMAP2+: pm33xx-core: Add platform code needed for PM")
Signed-off-by: Anders Roxell <[email protected]>
---
drivers/memory/Makefile.asm-offsets | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/memory/Makefile.asm-offsets b/drivers/memory/Makefile.asm-offsets
index 843ff60ccb5a..70d44a9ed32a 100644
--- a/drivers/memory/Makefile.asm-offsets
+++ b/drivers/memory/Makefile.asm-offsets
@@ -1,4 +1,5 @@
drivers/memory/emif-asm-offsets.s: drivers/memory/emif-asm-offsets.c
+ $(call filechk,$@)
$(call if_changed_dep,cc_s_c)
include/generated/ti-emif-asm-offsets.h: drivers/memory/emif-asm-offsets.s FORCE
--
2.16.3
On 4/6/2018 6:00 AM, Anders Roxell wrote:
> Build failes due to that the directory isn't created before we execute
> the build rule.
> cc1: fatal error: can’t open ‘drivers/memory/emif-asm-offsets.s’ for
> writing: No such file or directory compilation terminated.
> drivers/memory/Makefile.asm-offsets:2: recipe for target 'drivers/memory/emif-asm-offsets.s' failed
> make[2]: *** [drivers/memory/emif-asm-offsets.s] Error 1
> Makefile:1060: recipe for target
> 'arch/arm/mach-omap2' failed
> make[1]: *** [arch/arm/mach-omap2] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> Current code adds a file check before checking the dependency, in
> filechk it does mkdir -p $(dir $@).
>
> Fixes: 41d9d44d7258 ("ARM: OMAP2+: pm33xx-core: Add platform code needed for PM")
> Signed-off-by: Anders Roxell <[email protected]>
> ---
Acked-by: Santosh Shilimkar <[email protected]>
2018-04-06 22:00 GMT+09:00 Anders Roxell <[email protected]>:
> Build failes due to that the directory isn't created before we execute
> the build rule.
> cc1: fatal error: can’t open ‘drivers/memory/emif-asm-offsets.s’ for
> writing: No such file or directory compilation terminated.
> drivers/memory/Makefile.asm-offsets:2: recipe for target 'drivers/memory/emif-asm-offsets.s' failed
> make[2]: *** [drivers/memory/emif-asm-offsets.s] Error 1
> Makefile:1060: recipe for target
> 'arch/arm/mach-omap2' failed
> make[1]: *** [arch/arm/mach-omap2] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> Current code adds a file check before checking the dependency, in
> filechk it does mkdir -p $(dir $@).
>
> Fixes: 41d9d44d7258 ("ARM: OMAP2+: pm33xx-core: Add platform code needed for PM")
> Signed-off-by: Anders Roxell <[email protected]>
> ---
> drivers/memory/Makefile.asm-offsets | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/memory/Makefile.asm-offsets b/drivers/memory/Makefile.asm-offsets
> index 843ff60ccb5a..70d44a9ed32a 100644
> --- a/drivers/memory/Makefile.asm-offsets
> +++ b/drivers/memory/Makefile.asm-offsets
> @@ -1,4 +1,5 @@
> drivers/memory/emif-asm-offsets.s: drivers/memory/emif-asm-offsets.c
> + $(call filechk,$@)
> $(call if_changed_dep,cc_s_c)
>
> include/generated/ti-emif-asm-offsets.h: drivers/memory/emif-asm-offsets.s FORCE
> --
> 2.16.3
Why filechk just for creating a directory?
$(Q)mkdir $(dir $@)
is enough, but still this is a bad fix.
Generating the same object from different directories
is fragile in parallel building.
--
Best Regards
Masahiro Yamada