bug-1198952-workaround-make-3.82-bug.diff 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. diff --git a/intl/icu/source/Makefile.in b/intl/icu/source/Makefile.in
  2. index 9db6c52..1b9a964 100644
  3. --- a/intl/icu/source/Makefile.in
  4. +++ b/intl/icu/source/Makefile.in
  5. @@ -134,28 +134,32 @@ endif
  6. LOCAL_SUBDIRS = $(SUBDIRS)
  7. CLEAN_FIRST_SUBDIRS = $(TOOLS)
  8. $(LIBDIR) $(BINDIR):
  9. -$(MKINSTALLDIRS) $@
  10. ## Recursive targets
  11. +## Strictly speaking, the $(MAKEOVERRIDES) is not necessary when recursing, but
  12. +## there is a bug in GNU make 3.82 that throws away the original overrides in
  13. +## favor of RECURSIVE=YES when the submake in the subdirectory restarts itself
  14. +## after dependency files have been created.
  15. all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive check-exhaustive-recursive: $(LIBDIR) $(BINDIR)
  16. @dot_seen=no; \
  17. target=`echo $@ | sed s/-recursive//`; \
  18. list='$(LOCAL_SUBDIRS)'; for subdir in $$list; do \
  19. echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \
  20. if test "$$subdir" = "."; then \
  21. dot_seen=yes; \
  22. local_target="$$target-local"; \
  23. else \
  24. local_target="$$target"; \
  25. fi; \
  26. - (cd $$subdir && $(MAKE) RECURSIVE=YES $$local_target) || exit; \
  27. + (cd $$subdir && $(MAKE) $(MAKEOVERRIDES) RECURSIVE=YES $$local_target) || exit; \
  28. done; \
  29. if test "$$dot_seen" = "no"; then \
  30. $(MAKE) "$$target-local" || exit; \
  31. fi
  32. clean-recursive-with-twist:
  33. $(MAKE) clean-recursive LOCAL_SUBDIRS='$(CLEAN_FIRST_SUBDIRS) $(filter-out $(CLEAN_FIRST_SUBDIRS),$(LOCAL_SUBDIRS))'