-HEADERS_RM-$(UCLIBC_SUSV4_LEGACY) += utime.h
- # BREAKAGE: include/signal.h uses it, this rm broke bbox compile:
- ### ucontext.h
-
-install_headers: headers $(top_builddir)extra/scripts/unifdef
- $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
- top_builddir=$(top_builddir) \
- $(top_srcdir)extra/scripts/install_headers.sh include $(PREFIX)$(DEVEL_PREFIX)include
- cd $(PREFIX)$(DEVEL_PREFIX)include && $(RM) -r $(HEADERS_RM-)
+HEADERS_RM-$(UCLIBC_SUSV4_LEGACY) += utime.h ucontext.h
+
+ifneq ($(findstring install,$(MAKECMDGOALS)),)
+$(addprefix $(PREFIX)$(DEVEL_PREFIX),include $(MULTILIB_DIR)):
+ $(do_mkdir)
+# avoid warning about duplicate targets in rule or overrides
+ifneq ($(abspath $(RUNTIME_PREFIX)$(MULTILIB_DIR)),$(abspath $(DEVEL_PREFIX)$(MULTILIB_DIR)))
+$(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR):
+ $(do_mkdir)
+endif
+endif
+install_headers: headers $(top_builddir)extra/scripts/unifdef | $(PREFIX)$(DEVEL_PREFIX)include
+ @$(call disp_install,"include -> $(PREFIX)$(DEVEL_PREFIX)include")
+ $(Q)top_builddir=$(top_builddir) \
+ $(top_srcdir)extra/scripts/install_headers.sh \
+ include $(PREFIX)$(DEVEL_PREFIX)include
+ifneq ($(O),) # only run this step in O is set i.e. make O=/my/builddir/ ..
+ @$(call disp_install,"$(top_builddir)/include -> $(PREFIX)$(DEVEL_PREFIX)include")
+ $(Q)top_builddir=$(top_builddir) \
+ $(top_srcdir)extra/scripts/install_headers.sh \
+ $(top_builddir)/include $(PREFIX)$(DEVEL_PREFIX)include
+endif
+ $(Q)cd $(PREFIX)$(DEVEL_PREFIX)include && $(RM) -r $(HEADERS_RM-)