From 2d2aa1bd7074222d9d54232b2d96eae1d2aab7ae Mon Sep 17 00:00:00 2001 From: Anton Kolesov Date: Wed, 16 Nov 2016 19:33:24 +0300 Subject: Fix extra/locale/gen_wc_8bit error with out-of-tree builds 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 --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index 76008a2a6..98c6d6d68 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)) -- cgit v1.2.3