From e3d9fc76e62c8a1857abdafda948ff7d2918cfc8 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 10 Aug 2008 02:45:18 +0000 Subject: [PATCH] * enc/Makefile.in (make-workdir): use MAKEDIRS. * enc/depend: makes target directory before compile/link. * tool/transcode-tblgen.rb: creates target directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ enc/Makefile.in | 5 +++-- enc/depend | 4 +++- tool/transcode-tblgen.rb | 4 +++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4019f20f93..afaff30cfe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Sun Aug 10 11:45:15 2008 Nobuyoshi Nakada + + * enc/Makefile.in (make-workdir): use MAKEDIRS. + + * enc/depend: makes target directory before compile/link. + + * tool/transcode-tblgen.rb: creates target directory. + Sun Aug 10 11:30:48 2008 Tanaka Akira * transcode.c: rename my_transcoding to tc and my_transcoder to tr. diff --git a/enc/Makefile.in b/enc/Makefile.in index 103ad6b9ae..cc3d99d397 100644 --- a/enc/Makefile.in +++ b/enc/Makefile.in @@ -46,13 +46,14 @@ DLDFLAGS = $(ldflags) $(dldflags) $(archflag) WORKDIRS = $(ENCSODIR) $(TRANSSODIR) enc enc/trans RM = @RM@ +MAKEDIRS = @MAKEDIRS@ .SUFFIXES: .erb.c -all srcs: make-workdir +all: make-workdir make-workdir: - $(MINIRUBY) -run -e mkdir -- -p $(WORKDIRS) + $(MAKEDIRS) $(WORKDIRS) clean: diff --git a/enc/depend b/enc/depend index a18df490ea..d413898689 100644 --- a/enc/depend +++ b/enc/depend @@ -23,7 +23,7 @@ % cleanobjs = Shellwords.shellwords(CONFIG["cleanobjs"] || "") % rule_subst = CONFIG["RULE_SUBST"] || "%s" % if File::ALT_SEPARATOR -% pathrep = proc {|path| path.gsub('/', File::ALT_SEPARATOR).gsub(/\$\((\w+)\)/, "$(\\1:/=\\#{File::ALT_SEPARATOR})")} +% pathrep = proc {|path| path.gsub('/', File::ALT_SEPARATOR).gsub(/\$\(([@ + @$(MAKEDIRS) "$(@D)" <%=COMPILE_C%> % end @@ -89,6 +90,7 @@ $(ENCSODIR)/<%=e%>.$(DLEXT): <%=obj%> echo EXPORTS > <%=df%> echo <%=EXPORT_PREFIX%>Init_<%=File.basename(e)%> >> <%=df%> % end + @$(MAKEDIRS) "$(@D)" <%=link_so.sub(/\$\(OBJS\)/) {obj}.sub(/\$\(DEFFILE\)/) {df}.gsub(/-(?:implib|pdb):/) {|s|"#{s}enc/#{e.sub(/[^\/]+\z/, '')}"}%> % end diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb index 119fa0d1cb..4e7cbc516f 100644 --- a/tool/transcode-tblgen.rb +++ b/tool/transcode-tblgen.rb @@ -1,5 +1,6 @@ require 'optparse' require 'erb' +require 'fileutils' C_ESC = { "\\" => "\\\\", @@ -617,7 +618,8 @@ result << "\n" if output_filename new_filename = output_filename + ".new" - File.open(new_filename, "w") {|f| f << result } + FileUtils.mkdir_p(File.dirname(output_filename)) + File.open(new_filename, "wb") {|f| f << result } File.rename(new_filename, output_filename) STDERR.puts "done." if VERBOSE_MODE else