summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-07-10 15:50:08 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-07-10 15:50:08 +0000
commite4a3e533f0c3e3b02266703132e1ee56a2bee728 (patch)
tree6ea33a75f4681524226f5114778b2a350dc28e40
parente70ad1897b9e4675e04033d7eb72dc16f2038e18 (diff)
* Makefile.in ({|dist-|real-}clean-ext): fixes syntax
for /bin/sh on Solaris * tool/rmdirs: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--Makefile.in30
-rwxr-xr-xtool/rmdirs2
3 files changed, 24 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index f37abc8999..9fe02d0fa2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Jul 10 20:03:48 2010 Yuki Sonoda (Yugui) <yugui@yugui.jp>
+
+ * Makefile.in ({|dist-|real-}clean-ext): fixes syntax
+ for /bin/sh on Solaris
+
+ * tool/rmdirs: ditto
+
Thu Jul 8 15:47:34 2010 NARUSE, Yui <naruse@ruby-lang.org>
* string.c (rb_str_conv_enc_opts): fix infinite loop because
diff --git a/Makefile.in b/Makefile.in
index ce8fcb3a65..75d11a28a5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -257,20 +257,22 @@ distclean-rdoc:
@$(RMALL) $(RDOCOUT:/=\)
clean-ext distclean-ext realclean-ext::
- @cd ext; set dummy `echo "${EXTS}" | tr , ' '`; shift; \
- test "$$#" = 0 && set .; \
- set dummy `for dir; do \
- find $$dir -name Makefile | sed 's:^\./::;s:/Makefile$$:~:' | sort | sed 's:~$$::'; \
- done`; shift; \
- cd ..; \
- for dir; do \
- echo $(@:-ext=)ing "$$dir"; \
- (cd "ext/$$dir" && exec $(MAKE) $(MFLAGS) $(@:-ext=)) && \
- case "$@" in \
- *distclean-ext*|*realclean-ext*) \
- $(RMDIRS) "ext/$$dir";; \
- esac; \
- done
+ @if [ -d ext ]; then \
+ cd ext; set dummy `echo "${EXTS}" | tr , ' '`; shift; \
+ test "$$#" = 0 && set .; \
+ set dummy `for dir in $$*; do \
+ find $$dir -name Makefile | sed 's:^\./::;s:/Makefile$$:~:' | sort | sed 's:~$$::'; \
+ done`; shift; \
+ cd ..; \
+ for dir in $$*; do \
+ echo $(@:-ext=)ing "$$dir"; \
+ (cd "ext/$$dir" && exec $(MAKE) $(MFLAGS) $(@:-ext=)) && \
+ case "$@" in \
+ *distclean-ext*|*realclean-ext*) \
+ $(RMDIRS) "ext/$$dir";; \
+ esac; \
+ done \
+ fi
distclean-ext realclean-ext::
@-rmdir ext 2> /dev/null || true
diff --git a/tool/rmdirs b/tool/rmdirs
index b116898fac..a91ef134ec 100755
--- a/tool/rmdirs
+++ b/tool/rmdirs
@@ -1,5 +1,5 @@
#!/bin/sh
-for dir; do
+for dir in $$*; do
while rmdir "$dir" >/dev/null 2>&1 &&
parent=`expr "$dir" : '\(.*\)/[^/][^/]*'`; do
case "$parent" in