Skip to content

Commit

Permalink
* Makefile.in, ext/extmk.rb, bcc32/Makefile.sub,
Browse files Browse the repository at this point in the history
  win32/Makefile.sub: Introduce better command line syntax
  (--make/--make-flags/--extstatic) to extmk.rb and instruby.rb.
  Previously such command as 'make -j3 install' with pmake doesn't
  fail.  Formerly extmk.rb was receiving "make -j 3 -j 3" via the
  command line arguments and just ended up recognizing the first
  "3" as destdir. [with help of usa]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
knu committed Nov 3, 2002
1 parent db9126b commit cdce29b
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 27 deletions.
10 changes: 10 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
Mon Nov 4 06:28:09 2002 Akinori MUSHA <[email protected]>

* Makefile.in, ext/extmk.rb, bcc32/Makefile.sub,
win32/Makefile.sub: Introduce better command line syntax
(--make/--make-flags/--extstatic) to extmk.rb and instruby.rb.
Previously such command as 'make -j3 install' with pmake doesn't
fail. Formerly extmk.rb was receiving "make -j 3 -j 3" via the
command line arguments and just ended up recognizing the first
"3" as destdir. [with help of usa]

Mon Nov 4 03:59:51 2002 Akinori MUSHA <[email protected]>

* lib/getopts.rb: Do not choke on characters that cannot be used
Expand Down
10 changes: 5 additions & 5 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ OBJS = array.@OBJEXT@ \
$(MISSING)

all: @MAKEFILES@ miniruby$(EXEEXT) rbconfig.rb $(LIBRUBY)
@$(MINIRUBY) $(srcdir)/ext/extmk.rb @EXTSTATIC@ $(MAKE) $(MFLAGS)$(MAKEFLAGS)
@$(MINIRUBY) $(srcdir)/ext/extmk.rb --extstatic="@EXTSTATIC@" --make="$(MAKE)" --make-flags="$(MFLAGS)$(MAKEFLAGS)"

miniruby$(EXEEXT): config.status $(LIBRUBY_A) $(MAINOBJ) dmyext.@OBJEXT@
@rm -f $@
Expand All @@ -124,11 +124,11 @@ ruby.imp: $(LIBRUBY_A)
# $(MINIRUBY) $< $@

install: rbconfig.rb
$(MINIRUBY) $(srcdir)/instruby.rb --make=$(MAKE) $(MFLAGS)$(MAKEFLAGS) $(DESTDIR)
$(MINIRUBY) $(srcdir)/ext/extmk.rb $(MAKE) $(MFLAGS)$(MAKEFLAGS) DESTDIR=$(DESTDIR) install
$(MINIRUBY) $(srcdir)/instruby.rb --make="$(MAKE)" --make-flags="$(MFLAGS)$(MAKEFLAGS)" $(DESTDIR)
$(MINIRUBY) $(srcdir)/ext/extmk.rb --make="$(MAKE)" --make-flags="$(MFLAGS)$(MAKEFLAGS) DESTDIR=$(DESTDIR)" install

clean-ext:
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb $(MAKE) $(MFLAGS)$(MAKEFLAGS) clean 2> /dev/null || true
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb --make="$(MAKE)" --make-flags="$(MFLAGS)$(MAKEFLAGS)" clean 2> /dev/null || true

clean-local:
@rm -f $(OBJS) $(MAINOBJ) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY_ALIASES)
Expand All @@ -138,7 +138,7 @@ clean-local:
clean: clean-ext clean-local

distclean-ext:
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb $(MAKE) $(MFLAGS)$(MAKEFLAGS) distclean 2> /dev/null || true
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb --make="$(MAKE)" --make-flags="$(MFLAGS)$(MAKEFLAGS)" distclean 2> /dev/null || true

distclean-local: clean-local
@rm -f @MAKEFILES@ config.h rbconfig.rb
Expand Down
10 changes: 5 additions & 5 deletions bcc32/Makefile.sub
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ OBJS = array.obj \

all: miniruby$(EXEEXT) rbconfig.rb \
$(LIBRUBY) $(MISCLIBS)
@.\miniruby$(EXEEXT) $(srcdir)ext/extmk.rb $(EXTSTATIC) $(MAKE) -$(MFLAGS)$(MAKEFLAGS)
@.\miniruby$(EXEEXT) $(srcdir)ext/extmk.rb --extstatic=$(EXTSTATIC) --make="$(MAKE)" --make-flags="-$(MFLAGS)$(MAKEFLAGS)"

ruby: $(PROGRAM)
rubyw: $(WPROGRAM)
Expand Down Expand Up @@ -405,8 +405,8 @@ $(RUBYDEF): $(LIBRUBY_A) miniruby$(EXEEXT)
$(MINIRUBY) $(srcdir)bcc32/mkexports.rb -output=$@ $(LIBRUBY_A)

install: rbconfig.rb
$(MINIRUBY) $(srcdir)instruby.rb -$(MFLAGS)$(MAKEFLAGS) $(DESTDIR)
$(MINIRUBY) $(srcdir)ext/extmk.rb $(MAKE) -$(MFLAGS)$(MAKEFLAGS) DESTDIR=$(DESTDIR) install
$(MINIRUBY) $(srcdir)instruby.rb --make="$(MAKE)" --make-flags="-$(MFLAGS)$(MAKEFLAGS)" $(DESTDIR)
$(MINIRUBY) $(srcdir)ext/extmk.rb --make="$(MAKE)" --make-flags="-$(MFLAGS)$(MAKEFLAGS) DESTDIR=$(DESTDIR)" install

clean: clean-ext clean-local

Expand All @@ -423,7 +423,7 @@ clean-local:
@if exist *.il? del *.il?

clean-ext:
@-$(MINIRUBY) $(srcdir)ext/extmk.rb $(MAKE) -$(MFLAGS)$(MAKEFLAGS) clean
@-$(MINIRUBY) $(srcdir)ext/extmk.rb --make="$(MAKE)" --make-flags="-$(MFLAGS)$(MAKEFLAGS)" clean

distclean: distclean-ext distclean-local

Expand Down Expand Up @@ -457,7 +457,7 @@ distclean-local: clean-local
@if exist miniruby$(EXEEXT) del miniruby$(EXEEXT)

distclean-ext:
@-$(MINIRUBY) $(srcdir)ext/extmk.rb $(MAKE) -$(MFLAGS)$(MAKEFLAGS) distclean
@-$(MINIRUBY) $(srcdir)ext/extmk.rb --make="$(MAKE)" --make-flags="-$(MFLAGS)$(MAKEFLAGS)" distclean

realclean: distclean
@if exist parse.c del parse.c
Expand Down
29 changes: 16 additions & 13 deletions ext/extmk.rb
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def extmake(target)
if $static
$extlist.push [$static, $target, File.basename($target)]
end
unless system *ARGV
unless system($make, *$mflags)
$ignore or $continue or exit(1)
end
else
Expand All @@ -93,13 +93,15 @@ def extmake(target)
end
end

if ARGV[0] == "static"
ARGV.shift
$force_static = true
end
require 'getopts'

getopts('', 'extstatic', 'make:', 'make-flags:')

$force_static = $OPT['extstatic']
$make = $OPT['make'] || $make
$mflags = $OPT['make-flags'] || ""
$mflags = Shellwords.shellwords(mflags)

$make = ARGV[0] if ARGV[0]
ARGV << $make if ARGV.empty? and $make
if mflags = ENV["MAKEFLAGS"]
mflags, = mflags.split(nil, 2)
else
Expand All @@ -109,14 +111,15 @@ def extmake(target)
$dryrun = mflags.include?(?n)

unless $message
if ARGV.size > 1 and /^[a-z]+$/ =~ ($message = ARGV[-1])
if $message = ARGV.shift and /^[a-z]+$/ =~ $message
$message = $message.sub(/^(?:dist|real)(?=(?:clean)?$)/, '\1')
case $message
when "clean"
$ignore ||= true
when "install"
$ignore ||= true
ARGV[1, 0] = ["INSTALL_PROG=install -m 0755", "INSTALL_DATA=install -m 0644"] if $dryrun
$mflags.unshift("INSTALL_PROG=install -m 0755",
"INSTALL_DATA=install -m 0644") if $dryrun
end
$message.sub!(/e?$/, "ing")
else
Expand Down Expand Up @@ -208,7 +211,7 @@ def extmake(target)
}.compact
puts conf
$stdout.flush
ARGV.concat(conf)
$mflags.concat(conf)
end
rubies = []
%w[RUBY RUBYW].each {|r|
Expand All @@ -218,10 +221,10 @@ def extmake(target)
Dir.chdir ".."
puts "making #{rubies.join(', ')}"
$stdout.flush
ARGV.concat(rubies)
$mflags.concat(rubies)
host = (defined?(CROSS_COMPILING) ? CROSS_COMPILING : RUBY_PLATFORM)
/mswin|bccwin|mingw|djgpp|human|os2|macos/ =~ host or exec(*ARGV)
system(*ARGV.quote) or exit($?.exitstatus)
/mswin|bccwin|mingw|djgpp|human|os2|macos/ =~ host or exec($make, *$mflags)
system($make, *$mflags.quote) or exit($?.exitstatus)

#Local variables:
# mode: ruby
Expand Down
8 changes: 4 additions & 4 deletions win32/Makefile.sub
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ OBJS = array.obj \

all: ext miniruby$(EXEEXT) rbconfig.rb \
$(LIBRUBY) $(MISCLIBS)
@$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTSTATIC) $(MAKE) -$(MFLAGS)$(MAKEFLAGS)
@$(MINIRUBY) $(srcdir)/ext/extmk.rb --extstatic=$(EXTSTATIC) --make="$(MAKE)" --make-flags="-$(MFLAGS)$(MAKEFLAGS)"

ext:
@mkdir $@
Expand Down Expand Up @@ -406,7 +406,7 @@ $(RUBYDEF): $(LIBRUBY_A) miniruby$(EXEEXT)

install: rbconfig.rb
$(MINIRUBY) $(srcdir)/instruby.rb -$(MFLAGS)$(MAKEFLAGS) $(DESTDIR)
$(MINIRUBY) $(srcdir)/ext/extmk.rb $(MAKE) -$(MFLAGS)$(MAKEFLAGS) DESTDIR=$(DESTDIR) install
$(MINIRUBY) $(srcdir)/ext/extmk.rb --make="$(MAKE)" --make-flags="-$(MFLAGS)$(MAKEFLAGS) DESTDIR=$(DESTDIR)" install

clean: clean-ext clean-local

Expand All @@ -421,7 +421,7 @@ clean-local:
@if exist *.res del *.res

clean-ext:
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb $(MAKE) -$(MFLAGS)$(MAKEFLAGS) clean
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb --make="$(MAKE)" --make-flags="-$(MFLAGS)$(MAKEFLAGS)" clean

distclean: distclean-ext distclean-local

Expand Down Expand Up @@ -455,7 +455,7 @@ distclean-local: clean-local
@if exist miniruby$(EXEEXT) del miniruby$(EXEEXT)

distclean-ext:
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb $(MAKE) -$(MFLAGS)$(MAKEFLAGS) distclean
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb --make="$(MAKE)" --make-flags="-$(MFLAGS)$(MAKEFLAGS)" distclean

realclean: distclean
@if exist parse.c del parse.c
Expand Down

0 comments on commit cdce29b

Please sign in to comment.