diff options
4 files changed, 14 insertions, 11 deletions
diff --git a/main/src/addins/MonoDevelop.Autotools/ChangeLog b/main/src/addins/MonoDevelop.Autotools/ChangeLog index 6abfdb3a09..c7201b4984 100644 --- a/main/src/addins/MonoDevelop.Autotools/ChangeLog +++ b/main/src/addins/MonoDevelop.Autotools/ChangeLog @@ -1,3 +1,10 @@ +2008-03-27 Ankit Jain <jankit@novell.com> + + * templates/Makefile.solution.template: + * templates/make-dist.targets: + * templates/rules.make: Remove evil bash arrays. + Fixes from Raja Harinath. + 2008-03-26 Ankit Jain <jankit@novell.com> Add support for handling paths containing spaces. diff --git a/main/src/addins/MonoDevelop.Autotools/templates/Makefile.solution.template b/main/src/addins/MonoDevelop.Autotools/templates/Makefile.solution.template index 0642f36aa8..7528ca80bb 100644 --- a/main/src/addins/MonoDevelop.Autotools/templates/Makefile.solution.template +++ b/main/src/addins/MonoDevelop.Autotools/templates/Makefile.solution.template @@ -9,7 +9,7 @@ CONFIG_MAKE=$(top_srcdir)/config.make case $$2 in --unix) shift ;; esac; \ case $$2 in *=*) dk="exit 1" ;; *k*) dk=: ;; *) dk="exit 1" ;; esac; \ make pre-$*-hook prefix=$(prefix) ; \ - for dir in $(call quote_each,SUBDIRS); do \ + for dir in $(call quote_each,$(SUBDIRS)); do \ case "$$dir" in \ .) make $*-local || { final_exit="exit 1"; $$dk; };;\ *) (cd "$$dir" && make $*) || { final_exit="exit 1"; $$dk; };;\ diff --git a/main/src/addins/MonoDevelop.Autotools/templates/make-dist.targets b/main/src/addins/MonoDevelop.Autotools/templates/make-dist.targets index 2227e45505..fbb040155b 100644 --- a/main/src/addins/MonoDevelop.Autotools/templates/make-dist.targets +++ b/main/src/addins/MonoDevelop.Autotools/templates/make-dist.targets @@ -2,7 +2,7 @@ dist: $(CONFIG_MAKE) rm -rf $(PACKAGE)-$(VERSION) mkdir $(PACKAGE)-$(VERSION) make pre-dist-hook distdir=$$distdir - for dir in $(call quote_each,SUBDIRS); do \ + for dir in $(call quote_each,$(SUBDIRS)); do \ pkgdir=`pwd`/$(PACKAGE)-$(VERSION); \ mkdir "$$pkgdir/$$dir" || true; \ case $$dir in \ diff --git a/main/src/addins/MonoDevelop.Autotools/templates/rules.make b/main/src/addins/MonoDevelop.Autotools/templates/rules.make index a25a33ba3f..b15d5d21b0 100644 --- a/main/src/addins/MonoDevelop.Autotools/templates/rules.make +++ b/main/src/addins/MonoDevelop.Autotools/templates/rules.make @@ -1,23 +1,19 @@ clean-local: make pre-clean-local-hook make $(CONFIG)_BeforeClean - -rm -f $(call quote_each,CLEANFILES) + -rm -f $(call quote_each,$(CLEANFILES)) make $(CONFIG)_AfterClean make post-clean-local-hook install-local: uninstall-local: -all_esc=$(call s2q,$($1)) -all_quoted_esc=$(foreach f,$(call all_esc,$1),$(f:%='%')) -quote_each=$(call unesc2,$(call all_quoted_esc,$1)) +q2quote = '$(subst ?, ,$1)' +quote_each = $(foreach f,$(call s2q,$1),$(call q2quote,$f)) dist-local: make pre-dist-local-hook "distdir=$$distdir" - for f in $(call quote_each,EXTRA_DIST); do \ - files[$${#files[@]}]=$$f; \ - done; \ - for f in Makefile "$${files[@]}"; do \ + for f in Makefile $(call quote_each,$(EXTRA_DIST)); do \ d=`dirname "$$f"`; \ test -d "$(distdir)/$$d" || \ mkdir -p "$(distdir)/$$d"; \ @@ -26,7 +22,7 @@ dist-local: make post-dist-local-hook "distdir=$$distdir" dist-local-recursive: - for dir in $(call quote_each,SUBDIRS); do \ + for dir in $(call quote_each,$(SUBDIRS)); do \ mkdir -p "$(distdir)/$$dir" || true; \ case "$$dir" in \ .) make dist-local "distdir=$(distdir)" || exit 1;; \ |