diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | bcc32/Makefile.sub | 4 | ||||
-rw-r--r-- | common.mk | 29 | ||||
-rw-r--r-- | cygwin/GNUmakefile.in | 1 | ||||
-rw-r--r-- | instruby.rb | 15 |
5 files changed, 53 insertions, 5 deletions
@@ -1,4 +1,4 @@ -Thu Mar 3 18:38:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> +Thu Mar 3 18:44:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> * {bcc32,win32,wince}/Makefile.sub (config.h): check if affected when makefiles are modified. @@ -10,6 +10,13 @@ Thu Mar 3 18:38:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> * win32/resource.rb: more descriptions. + * common.mk: add {pre,post}-install targets. + + * instruby.rb (install?): install particular part. + + * bcc32/Makefile.sub (post-install-ext): remove debug information + files after installation. + Thu Mar 3 11:49:51 2005 Kouhei Sutou <kou@cozmixng.org> * sample/rss/tdiary_plugin/rss-recent.rb: added site information. diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub index 902a93451b..1fe8540207 100644 --- a/bcc32/Makefile.sub +++ b/bcc32/Makefile.sub @@ -426,6 +426,10 @@ $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc: rbconfig.rb -so_name=$(RUBY_SO_NAME) \ . $(icondirs) $(srcdir)win32 +post-install-ext:: + $(MINIRUBY) -I$(srcdir)lib -rrbconfig -rfileutils \ + -e 'FileUtils.rm_f(Dir[File.join(Config::CONFIG["archdir"],"**","*.tds")])' + clean-local:: @$(RM) ext\extinit.c ext\extinit.$(OBJEXT) *.tds *.il? $(RUBY_SO_NAME).lib @$(RM) $(RUBY_INSTALL_NAME).res $(RUBYW_INSTALL_NAME).res $(RUBY_SO_NAME).res @@ -1,3 +1,4 @@ +bin: $(PROGRAM) $(WPROGRAM) lib: $(LIBRUBY); dll: $(LIBRUBY_SO); @@ -61,6 +62,7 @@ EXTMK_ARGS = $(SCRIPT_ARGS) --extout="$(EXTOUT)" --extension $(EXTS) --extsta all: $(MKFILES) $(PREP) $(RBCONFIG) $(LIBRUBY) @$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) +prog: $(PROGRAM) $(WPROGRAM) miniruby$(EXEEXT): config.status $(LIBRUBY_A) $(MAINOBJ) $(OBJS) $(DMYEXT) @@ -80,12 +82,22 @@ ruby.imp: $(LIBRUBY_A) install: install-nodoc $(RDOCTARGET) install-all: install-nodoc install-doc -install-nodoc: install-local install-ext -install-local: $(RBCONFIG) +install-nodoc: install-local post-install-local install-ext post-install-ext +install-local: pre-install-local do-install-local post-install-local +install-ext: pre-install-ext do-install-ext post-install-ext + +do-install-local: $(RBCONFIG) $(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS) --mantype="$(MANTYPE)" -install-ext: $(RBCONFIG) +do-install-ext: $(RBCONFIG) $(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) install +install-bin: $(RBCONFIG) + $(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS) --install=bin +install-lib: $(RBCONFIG) + $(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS) --install=lib +install-man: $(RBCONFIG) + $(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS) --install=man --mantype="$(MANTYPE)" + what-where-all no-install-all: no-install no-install-doc what-where no-install: no-install-local no-install-ext what-where-local: no-install-local @@ -95,10 +107,19 @@ what-where-ext: no-install-ext no-install-ext: $(RBCONFIG) $(MINIRUBY) $(srcdir)/ext/extmk.rb -n $(EXTMK_ARGS) install -install-doc: $(PROGRAM) +install-doc: pre-install-doc do-install-doc post-install-doc +do-install-doc: $(PROGRAM) @echo Generating RDoc documentation $(RUNRUBY) "$(srcdir)/bin/rdoc" --all --ri --op "$(RIDATADIR)" "$(srcdir)" +pre-install: pre-install-local pre-install-ext +pre-install-local:: PHONY +pre-install-ext:: PHONY + +post-install: post-install-local post-install-ext +post-install-local:: PHONY +post-install-ext:: PHONY + clean: clean-ext clean-local clean-local:: @$(RM) $(OBJS) $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY) $(LIBRUBY_ALIASES) diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in index 0287540438..03208df11c 100644 --- a/cygwin/GNUmakefile.in +++ b/cygwin/GNUmakefile.in @@ -29,6 +29,7 @@ SOLIBS := $(DLL_BASE_NAME).res.@OBJEXT@ $(SOLIBS) EXTOBJS += $(@:$(EXEEXT)=.res.@OBJEXT@) RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(DLL_BASE_NAME).rc +ruby: $(PROGRAM) rubyw: $(WPROGRAM) $(LIBRUBY): $(RUBY_EXP) $(LIBRUBY_SO) diff --git a/instruby.rb b/instruby.rb index 984a992b3b..1db08a31f4 100644 --- a/instruby.rb +++ b/instruby.rb @@ -11,6 +11,7 @@ require 'optparse' require 'optparse/shellwords' require 'tempfile' +STDOUT.sync = true File.umask(0) def parse_args() @@ -18,6 +19,7 @@ def parse_args() $destdir = nil $make = 'make' $mflags = [] + $install = [] opt = OptionParser.new opt.on('-n') {$dryrun = true} opt.on('--dest-dir=DIR') {|dir| $destdir = dir} @@ -29,6 +31,7 @@ def parse_args() end $mflags.concat(v) end + opt.on('--install=TYPE', [:bin, :lib, :man]) {|ins| $install << ins} opt.parse! rescue abort [$!.message, opt].join("\n") $make, *rest = Shellwords.shellwords($make) @@ -57,6 +60,10 @@ include FileUtils::NoWrite if $dryrun @fileutils_output = STDOUT @fileutils_label = '' +def install?(type) + yield if $install.empty? or $install.include?(type) +end + def install(src, dest, options = {}) options[:preserve] = true super src, dest, options @@ -101,6 +108,7 @@ arc = CONFIG["LIBRUBY_A"] makedirs [bindir, libdir, rubylibdir, archlibdir, sitelibdir, sitearchlibdir] +install?(:bin) do ruby_bin = File.join(bindir, ruby_install_name) install ruby_install_name+exeext, ruby_bin+exeext, :mode => 0755 @@ -123,9 +131,11 @@ if dll == lib and dll != arc ln_sf(dll, File.join(libdir, link)) end end +end Dir.chdir srcdir +install?(:lib) do ruby_shebang = File.join(CONFIG["bindir"], ruby_install_name) if File::ALT_SEPARATOR ruby_bin_dosish = ruby_shebang.tr(File::SEPARATOR, File::ALT_SEPARATOR) @@ -178,7 +188,9 @@ for f in Dir["lib/**/*{.rb,help-message}"] makedirs dir install f, dir, :mode => 0644 end +end +install?(:bin) do for f in Dir["*.h"] install f, archlibdir, :mode => 0644 end @@ -187,7 +199,9 @@ if RUBY_PLATFORM =~ /mswin32|mingw|bccwin32/ makedirs File.join(archlibdir, "win32") install "win32/win32.h", File.join(archlibdir, "win32"), :mode => 0644 end +end +install?(:man) do for mdoc in Dir["*.[1-9]"] next unless File.file?(mdoc) and open(mdoc){|fh| fh.read(1) == '.'} @@ -214,5 +228,6 @@ for mdoc in Dir["*.[1-9]"] install w.path, destfile, :mode => 0644 end end +end # vi:set sw=2: |