Message ID | 1479314004-17417-1-git-send-email-Anton.Kolesov@synopsys.com |
---|---|
State | Accepted |
Headers | show |
Hi Anton, Anton Kolesov wrote, > If uClibc is built outside of the source tree, then there is an error: > > make[1]: *** No rule to make target `/home/akolesov/build-uclibc/extra/locale', > needed by `/home/akolesov/build-uclibc/extra/locale/gen_wc8bit'. Stop. > > The rule to create $(top_builddir)/extra/locale is defined in top-level > Makefile.in. Same Makefile.in also invokes extra/locale/Makefile.in to build > various tools. Those tools have $(top_builddir)/extra/locale as a > dependency, but this makefile doesn't include top-level Makefile.in, > therefore rule to create dependant directory is absent in this submake > invocation. > > To avoid this problem this patch defines $(top_builddir)/extra/locale as a > dependency for "headers" target, which invokes extra/locale/Makefile.in, > thus making sure that prerequisite directory is created in advance. > > This problem doesn't occur when building in the source tree, since > $(top_builddir) == $(top_srcdir), so this directory already exists. > > Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com> Thanks, applied and pushed, Waldemar
diff --git a/Makefile.in b/Makefile.in index 76008a2..98c6d6d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -183,7 +183,7 @@ menuconfig-clean-y: HEADERCLEAN_config # libc/sysdeps/linux/Makefile.commonarch to headers-y headers-y += $(target-headers-sysdep) -headers: $(top_builddir)include/bits/uClibc_config.h | subdirs +headers: $(top_builddir)include/bits/uClibc_config.h | subdirs $(top_builddir)extra/locale $(Q)$(if $(UCLIBC_HAS_LOCALE),$(MAKE) -C extra/locale locale_headers) subdirs: $(addprefix $(top_builddir),$(subdirs))
If uClibc is built outside of the source tree, then there is an error: make[1]: *** No rule to make target `/home/akolesov/build-uclibc/extra/locale', needed by `/home/akolesov/build-uclibc/extra/locale/gen_wc8bit'. Stop. The rule to create $(top_builddir)/extra/locale is defined in top-level Makefile.in. Same Makefile.in also invokes extra/locale/Makefile.in to build various tools. Those tools have $(top_builddir)/extra/locale as a dependency, but this makefile doesn't include top-level Makefile.in, therefore rule to create dependant directory is absent in this submake invocation. To avoid this problem this patch defines $(top_builddir)/extra/locale as a dependency for "headers" target, which invokes extra/locale/Makefile.in, thus making sure that prerequisite directory is created in advance. This problem doesn't occur when building in the source tree, since $(top_builddir) == $(top_srcdir), so this directory already exists. Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com> --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)