Browse Source

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 <Anton.Kolesov@synopsys.com>
Anton Kolesov 7 years ago
parent
commit
2d2aa1bd70
1 changed files with 1 additions and 1 deletions
  1. 1 1
      Makefile.in

+ 1 - 1
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))