diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-12-31 15:02:22 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-12-31 15:02:22 +0000 |
commit | a3e1b1ce7ed7e7ffac23015fc2fde56511b30681 (patch) | |
tree | 7b725552a9a4ded93849ca2faab1b257f7761790 /common.mk | |
parent | 3e7566d8fb5138bb9cd647e5fdefc54fc9803509 (diff) | |
download | ruby-a3e1b1ce7ed7e7ffac23015fc2fde56511b30681.tar.gz |
* Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'common.mk')
-rw-r--r-- | common.mk | 409 |
1 files changed, 207 insertions, 202 deletions
@@ -1,15 +1,11 @@ bin: $(PROGRAM) $(WPROGRAM) -lib: $(LIBRUBY) -dll: $(LIBRUBY_SO) +lib: $(LIBRUBY); +dll: $(LIBRUBY_SO); RUBYOPT = -STATIC_RUBY = static-ruby - EXTCONF = extconf.rb RBCONFIG = ./.rbconfig.time -LIBRUBY_EXTS = ./.libruby-with-ext.time -RDOCOUT = $(EXTOUT)/rdoc DMYEXT = dmyext.$(OBJEXT) MAINOBJ = main.$(OBJEXT) @@ -28,6 +24,9 @@ OBJS = array.$(OBJEXT) \ error.$(OBJEXT) \ euc_jp.$(OBJEXT) \ eval.$(OBJEXT) \ + eval_load.$(OBJEXT) \ + eval_proc.$(OBJEXT) \ + eval_thread.$(OBJEXT) \ file.$(OBJEXT) \ gc.$(OBJEXT) \ hash.$(OBJEXT) \ @@ -61,218 +60,94 @@ OBJS = array.$(OBJEXT) \ util.$(OBJEXT) \ variable.$(OBJEXT) \ version.$(OBJEXT) \ + blockinlining.$(OBJEXT) \ + compile.$(OBJEXT) \ + debug.$(OBJEXT) \ + iseq.$(OBJEXT) \ + vm.$(OBJEXT) \ + vm_dump.$(OBJEXT) \ + yarvcore.$(OBJEXT) \ + thread.$(OBJEXT) \ $(MISSING) SCRIPT_ARGS = --dest-dir="$(DESTDIR)" \ - --extout="$(EXTOUT)" \ --make="$(MAKE)" \ --mflags="$(MFLAGS)" \ --make-flags="$(MAKEFLAGS)" -EXTMK_ARGS = $(SCRIPT_ARGS) --extension $(EXTS) --extstatic $(EXTSTATIC) -- -INSTRUBY_ARGS = $(SCRIPT_ARGS) --installed-list $(INSTALLED_LIST) - -PRE_LIBRUBY_UPDATE = $(MINIRUBY) -e 'ARGV[1] or File.unlink(ARGV[0]) rescue nil' -- \ - $(LIBRUBY_EXTS) $(LIBRUBY_SO_UPDATE) - -TESTSDIR = $(srcdir)/test -TESTWORKDIR = testwork +EXTMK_ARGS = $(SCRIPT_ARGS) --extout="$(EXTOUT)" --extension $(EXTS) --extstatic $(EXTSTATIC) -- all: $(MKFILES) $(PREP) $(RBCONFIG) $(LIBRUBY) - @$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) + $(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) + prog: $(PROGRAM) $(WPROGRAM) miniruby$(EXEEXT): config.status $(LIBRUBY_A) $(MAINOBJ) $(MINIOBJS) $(OBJS) $(DMYEXT) $(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP) -$(LIBRUBY_A): $(OBJS) $(DMYEXT) $(ARCHFILE) +$(LIBRUBY_A): $(OBJS) $(DMYEXT) -$(LIBRUBY_SO): $(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP) $(LIBRUBY_SO_UPDATE) +$(LIBRUBY_SO): $(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP) $(ARCHFILE) -$(LIBRUBY_EXTS): - @exit > $@ - -$(STATIC_RUBY)$(EXEEXT): $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A) +static-ruby: $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) @$(RM) $@ - $(PURIFY) $(CC) $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(XLDFLAGS) + $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $(LIBS) $(OUTFLAG)$@ -ruby.imp: $(OBJS) - @$(NM) -Pgp $(OBJS) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | sort -u -o $@ +ruby.imp: $(LIBRUBY_A) + @$(NM) -Pgp $(LIBRUBY_A) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | sort -u -o $@ install: install-nodoc $(RDOCTARGET) install-all: install-nodoc install-doc -install-nodoc: pre-install-nodoc do-install-nodoc post-install-nodoc -pre-install-nodoc:: pre-install-local pre-install-ext -do-install-nodoc: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --mantype="$(MANTYPE)" -post-install-nodoc:: post-install-local post-install-ext - +install-nodoc: install-local install-ext install-local: pre-install-local do-install-local post-install-local -pre-install-local:: pre-install-bin pre-install-lib pre-install-man -do-install-local: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=local --mantype="$(MANTYPE)" -post-install-local:: post-install-bin post-install-lib post-install-man - install-ext: pre-install-ext do-install-ext post-install-ext -pre-install-ext:: pre-install-ext-arch pre-install-ext-comm -do-install-ext: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=ext -post-install-ext:: post-install-ext-arch post-install-ext-comm - -install-arch: pre-install-arch do-install-arch post-install-arch -pre-install-arch:: pre-install-bin pre-install-ext-arch -do-install-arch: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=bin --install=ext-arch -post-install-arch:: post-install-bin post-install-ext-arch - -install-comm: pre-install-comm do-install-comm post-install-comm -pre-install-comm:: pre-install-lib pre-install-ext-comm pre-install-man -do-install-comm: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=lib --install=ext-comm --install=man -post-install-comm:: post-install-lib post-install-ext-comm post-install-man - -install-bin: pre-install-bin do-install-bin post-install-bin -pre-install-bin:: install-prereq -do-install-bin: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=bin -post-install-bin:: - @$(NULLCMD) - -install-lib: pre-install-lib do-install-lib post-install-lib -pre-install-lib:: install-prereq -do-install-lib: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=lib -post-install-lib:: - @$(NULLCMD) - -install-ext-comm: pre-install-ext-comm do-install-ext-comm post-install-ext-comm -pre-install-ext-comm:: install-prereq -do-install-ext-comm: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=ext-comm -post-install-ext-comm:: - @$(NULLCMD) - -install-ext-arch: pre-install-ext-arch do-install-ext-arch post-install-ext-arch -pre-install-ext-arch:: install-prereq -do-install-ext-arch: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=ext-arch -post-install-ext-arch:: - @$(NULLCMD) - -install-man: pre-install-man do-install-man post-install-man -pre-install-man:: install-prereq -do-install-man: - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=man --mantype="$(MANTYPE)" -post-install-man:: - @$(NULLCMD) - -what-where: no-install -no-install: no-install-nodoc no-install-doc -what-where-all: no-install-all -no-install-all: no-install-nodoc - -what-where-nodoc: no-install-nodoc -no-install-nodoc: pre-no-install-nodoc dont-install-nodoc post-no-install-nodoc -pre-no-install-nodoc:: pre-no-install-local pre-no-install-ext -dont-install-nodoc: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --mantype="$(MANTYPE)" -post-no-install-nodoc:: post-no-install-local post-no-install-ext -what-where-local: no-install-local -no-install-local: pre-no-install-local dont-install-local post-no-install-local -pre-no-install-local:: pre-no-install-bin pre-no-install-lib pre-no-install-man -dont-install-local: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=local --mantype="$(MANTYPE)" -post-no-install-local:: post-no-install-bin post-no-install-lib post-no-install-man +do-install-local: $(RBCONFIG) + $(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS) --mantype="$(MANTYPE)" +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 +no-install-local: $(RBCONFIG) + $(MINIRUBY) $(srcdir)/instruby.rb -n $(SCRIPT_ARGS) --mantype="$(MANTYPE)" what-where-ext: no-install-ext -no-install-ext: pre-no-install-ext dont-install-ext post-no-install-ext -pre-no-install-ext:: pre-no-install-ext-arch pre-no-install-ext-comm -dont-install-ext: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=ext -post-no-install-ext:: post-no-install-ext-arch post-no-install-ext-comm - -what-where-arch: no-install-arch -no-install-arch: pre-no-install-arch dont-install-arch post-no-install-arch -pre-no-install-arch:: pre-no-install-bin pre-no-install-ext-arch -dont-install-arch: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=bin --install=ext-arch -post-no-install-arch:: post-no-install-lib post-no-install-man post-no-install-ext-arch - -what-where-comm: no-install-comm -no-install-comm: pre-no-install-comm dont-install-comm post-no-install-comm -pre-no-install-comm:: pre-no-install-lib pre-no-install-ext-comm pre-no-install-man -dont-install-comm: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=lib --install=ext-comm --install=man -post-no-install-comm:: post-no-install-lib post-no-install-ext-comm post-no-install-man - -what-where-bin: no-install-bin -no-install-bin: pre-no-install-bin dont-install-bin post-no-install-bin -pre-no-install-bin:: install-prereq -dont-install-bin: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=bin -post-no-install-bin:: - @$(NULLCMD) - -what-where-lib: no-install-lib -no-install-lib: pre-no-install-lib dont-install-lib post-no-install-lib -pre-no-install-lib:: install-prereq -dont-install-lib: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=lib -post-no-install-lib:: - @$(NULLCMD) - -what-where-ext-comm: no-install-ext-comm -no-install-ext-comm: pre-no-install-ext-comm dont-install-ext-comm post-no-install-ext-comm -pre-no-install-ext-comm:: install-prereq -dont-install-ext-comm: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=ext-comm -post-no-install-ext-comm:: - @$(NULLCMD) - -what-where-ext-arch: no-install-ext-arch -no-install-ext-arch: pre-no-install-ext-arch dont-install-ext-arch post-no-install-ext-arch -pre-no-install-ext-arch:: install-prereq -dont-install-ext-arch: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=ext-arch -post-no-install-ext-arch:: - @$(NULLCMD) - -what-where-man: no-install-man -no-install-man: pre-no-install-man dont-install-man post-no-install-man -pre-no-install-man:: install-prereq -dont-install-man: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=man --mantype="$(MANTYPE)" -post-no-install-man:: - @$(NULLCMD) - -install-doc: rdoc pre-install-doc do-install-doc post-install-doc -pre-install-doc:: install-prereq -do-install-doc: $(PROGRAM) - $(MINIRUBY) $(srcdir)/instruby.rb $(INSTRUBY_ARGS) --install=rdoc --rdoc-output="$(RDOCOUT)" -post-install-doc:: - @$(NULLCMD) +no-install-ext: $(RBCONFIG) + $(MINIRUBY) $(srcdir)/ext/extmk.rb -n $(EXTMK_ARGS) install -rdoc: $(PROGRAM) PHONY +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 "$(RDOCOUT)" "$(srcdir)" + $(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 +pre-install-doc:: PHONY -what-where-doc: no-install-doc -no-install-doc: pre-no-install-doc dont-install-doc post-no-install-doc -pre-no-install-doc:: install-prereq -dont-install-doc:: - $(MINIRUBY) $(srcdir)/instruby.rb -n $(INSTRUBY_ARGS) --install=rdoc --rdoc-output="$(RDOCOUT)" -post-no-install-doc:: - @$(NULLCMD) +post-install: post-install-local post-install-ext +post-install-local:: PHONY +post-install-ext:: PHONY +post-install-doc:: PHONY -install-prereq: - @exit > $(INSTALLED_LIST) +# no ext +# clean: clean-ext clean-local +clean: clean-local -clean: clean-ext clean-local clean-local:: @$(RM) $(OBJS) $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY) $(LIBRUBY_ALIASES) - @$(RM) $(PROGRAM) $(WPROGRAM) miniruby$(EXEEXT) dmyext.$(OBJEXT) $(ARCHFILE) .*.time + @$(RM) $(PROGRAM) $(WPROGRAM) miniruby$(EXEEXT) dmyext.$(OBJEXT) $(ARCHFILE) + @$(RM) *.inc + clean-ext: @-$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) clean @@ -292,15 +167,15 @@ check: test test-all test: miniruby$(EXEEXT) $(RBCONFIG) $(PROGRAM) PHONY @$(MINIRUBY) $(srcdir)/rubytest.rb -test-all: - $(RUNRUBY) "$(srcdir)/test/runner.rb" --basedir="$(TESTSDIR)" --runner=$(TESTUI) $(TESTS) +test-all: miniruby$(EXEEXT) ruby + $(RUNRUBY) -C "$(srcdir)/test" runner.rb --runner=$(TESTUI) $(TESTS) extconf: $(MINIRUBY) -I$(srcdir)/lib -run -e mkdir -- -p "$(EXTCONFDIR)" $(RUNRUBY) -C "$(EXTCONFDIR)" $(EXTCONF) $(EXTCONFARGS) $(RBCONFIG): $(srcdir)/mkconfig.rb config.status $(PREP) - @$(MINIRUBY) $(srcdir)/mkconfig.rb -timestamp=$@ \ + $(MINIRUBY) $(srcdir)/mkconfig.rb -timestamp=$@ \ -install_name=$(RUBY_INSTALL_NAME) \ -so_name=$(RUBY_SO_NAME) rbconfig.rb @@ -336,8 +211,6 @@ nt.$(OBJEXT): {$(VPATH)}nt.c x68.$(OBJEXT): {$(VPATH)}x68.c os2.$(OBJEXT): {$(VPATH)}os2.c dl_os2.$(OBJEXT): {$(VPATH)}dl_os2.c -ia64.$(OBJEXT): {$(VPATH)}ia64.s - $(CC) $(CFLAGS) -c $< # when I use -I., there is confliction at "OpenFile" # so, set . into environment varible "include" @@ -374,13 +247,41 @@ enumerator.$(OBJEXT): {$(VPATH)}enumerator.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h error.$(OBJEXT): {$(VPATH)}error.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ - {$(VPATH)}env.h {$(VPATH)}st.h + {$(VPATH)}st.h vm_opts.h euc_jp.$(OBJEXT): {$(VPATH)}euc_jp.c {$(VPATH)}regenc.h \ {$(VPATH)}oniguruma.h -eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}ruby.h config.h \ + +eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}eval_intern.h \ + {$(VPATH)}eval_method.h {$(VPATH)}eval_safe.h {$(VPATH)}eval_jump.h \ + {$(VPATH)}ruby.h config.h {$(VPATH)}yarvcore.h \ + {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ + {$(VPATH)}node.h {$(VPATH)}util.h \ + {$(VPATH)}rubysig.h {$(VPATH)}st.h {$(VPATH)}dln.h {$(VPATH)}yarv.h +eval_load.$(OBJEXT): {$(VPATH)}eval_load.c {$(VPATH)}eval_intern.h \ + {$(VPATH)}ruby.h config.h \ + {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ + {$(VPATH)}node.h {$(VPATH)}util.h {$(VPATH)}yarvcore.h \ + {$(VPATH)}rubysig.h {$(VPATH)}st.h {$(VPATH)}dln.h {$(VPATH)}yarv.h +eval_thread.$(OBJEXT): {$(VPATH)}eval_thread.c {$(VPATH)}eval_intern.h \ + {$(VPATH)}ruby.h config.h {$(VPATH)}yarvcore.h \ + {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ + {$(VPATH)}node.h {$(VPATH)}util.h \ + {$(VPATH)}rubysig.h {$(VPATH)}st.h {$(VPATH)}dln.h {$(VPATH)}yarv.h +eval_proc.$(OBJEXT): {$(VPATH)}eval_proc.c {$(VPATH)}eval_intern.h \ + {$(VPATH)}ruby.h config.h {$(VPATH)}yarvcore.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ - {$(VPATH)}node.h {$(VPATH)}env.h {$(VPATH)}util.h \ - {$(VPATH)}rubysig.h {$(VPATH)}st.h {$(VPATH)}dln.h + {$(VPATH)}node.h {$(VPATH)}util.h \ + {$(VPATH)}rubysig.h {$(VPATH)}st.h {$(VPATH)}dln.h {$(VPATH)}yarv.h + +thread.$(OBJEXT): {$(VPATH)}thread.c {$(VPATH)}eval_intern.h \ + {$(VPATH)}thread_win32.h {$(VPATH)}thread_pthread.h \ + {$(VPATH)}thread_win32.ci {$(VPATH)}thread_pthread.ci \ + {$(VPATH)}ruby.h config.h \ + {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ + {$(VPATH)}node.h {$(VPATH)}util.h \ + {$(VPATH)}rubysig.h {$(VPATH)}st.h {$(VPATH)}dln.h \ + {$(VPATH)}yarv.h {$(VPATH)}yarvcore.h + file.$(OBJEXT): {$(VPATH)}file.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ {$(VPATH)}rubyio.h {$(VPATH)}rubysig.h {$(VPATH)}util.h \ @@ -388,8 +289,7 @@ file.$(OBJEXT): {$(VPATH)}file.c {$(VPATH)}ruby.h config.h \ gc.$(OBJEXT): {$(VPATH)}gc.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ {$(VPATH)}rubysig.h {$(VPATH)}st.h {$(VPATH)}node.h \ - {$(VPATH)}env.h {$(VPATH)}re.h {$(VPATH)}regex.h {$(VPATH)}regint.h \ - {$(VPATH)}oniguruma.h + {$(VPATH)}re.h {$(VPATH)}regex.h {$(VPATH)}yarvcore.h hash.$(OBJEXT): {$(VPATH)}hash.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ {$(VPATH)}st.h {$(VPATH)}util.h {$(VPATH)}rubysig.h @@ -406,7 +306,7 @@ marshal.$(OBJEXT): {$(VPATH)}marshal.c {$(VPATH)}ruby.h config.h \ math.$(OBJEXT): {$(VPATH)}math.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h numeric.$(OBJEXT): {$(VPATH)}numeric.c {$(VPATH)}ruby.h config.h \ - {$(VPATH)}env.h {$(VPATH)}defines.h {$(VPATH)}intern.h \ + {$(VPATH)}defines.h {$(VPATH)}intern.h \ {$(VPATH)}missing.h object.$(OBJEXT): {$(VPATH)}object.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ @@ -415,7 +315,7 @@ pack.$(OBJEXT): {$(VPATH)}pack.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h parse.$(OBJEXT): {$(VPATH)}parse.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ - {$(VPATH)}env.h {$(VPATH)}node.h {$(VPATH)}st.h \ + {$(VPATH)}node.h {$(VPATH)}st.h \ {$(VPATH)}regex.h {$(VPATH)}util.h {$(VPATH)}lex.c prec.$(OBJEXT): {$(VPATH)}prec.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h @@ -428,7 +328,7 @@ range.$(OBJEXT): {$(VPATH)}range.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h re.$(OBJEXT): {$(VPATH)}re.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ - {$(VPATH)}re.h {$(VPATH)}regex.h {$(VPATH)}regint.h {$(VPATH)}oniguruma.h + {$(VPATH)}re.h {$(VPATH)}regex.h regcomp.$(OBJEXT): {$(VPATH)}regcomp.c {$(VPATH)}oniguruma.h \ {$(VPATH)}regint.h {$(VPATH)}regparse.h {$(VPATH)}regenc.h config.h regenc.$(OBJEXT): {$(VPATH)}regenc.c {$(VPATH)}regint.h \ @@ -444,7 +344,7 @@ ruby.$(OBJEXT): {$(VPATH)}ruby.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}dln.h {$(VPATH)}node.h {$(VPATH)}util.h signal.$(OBJEXT): {$(VPATH)}signal.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ - {$(VPATH)}rubysig.h + {$(VPATH)}rubysig.h {$(VPATH)}yarvcore.h sjis.$(OBJEXT): {$(VPATH)}sjis.c {$(VPATH)}regenc.h \ {$(VPATH)}oniguruma.h config.h sprintf.$(OBJEXT): {$(VPATH)}sprintf.c {$(VPATH)}ruby.h config.h \ @@ -452,7 +352,7 @@ sprintf.$(OBJEXT): {$(VPATH)}sprintf.c {$(VPATH)}ruby.h config.h \ st.$(OBJEXT): {$(VPATH)}st.c config.h {$(VPATH)}st.h string.$(OBJEXT): {$(VPATH)}string.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ - {$(VPATH)}re.h {$(VPATH)}regex.h {$(VPATH)}regint.h {$(VPATH)}oniguruma.h + {$(VPATH)}re.h {$(VPATH)}regex.h struct.$(OBJEXT): {$(VPATH)}struct.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h time.$(OBJEXT): {$(VPATH)}time.c {$(VPATH)}ruby.h config.h \ @@ -464,7 +364,112 @@ util.$(OBJEXT): {$(VPATH)}util.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}util.h variable.$(OBJEXT): {$(VPATH)}variable.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ - {$(VPATH)}env.h {$(VPATH)}node.h {$(VPATH)}st.h {$(VPATH)}util.h + {$(VPATH)}node.h {$(VPATH)}st.h {$(VPATH)}util.h version.$(OBJEXT): {$(VPATH)}version.c {$(VPATH)}ruby.h config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ - {$(VPATH)}version.h + {$(VPATH)}version.h {$(VPATH)}yarv_version.h + +compile.$(OBJEXT): {$(VPATH)}compile.c {$(VPATH)}yarvcore.h \ + {$(VPATH)}compile.h {$(VPATH)}debug.h \ + insns.inc insns_info.inc optinsn.inc opt_sc.inc optunifs.inc vm_opts.h +iseq.$(OBJEXT): {$(VPATH)}iseq.c {$(VPATH)}yarvcore.h {$(VPATH)}debug.h vm_opts.h +vm.$(OBJEXT): {$(VPATH)}vm.c {$(VPATH)}vm.h {$(VPATH)}insnhelper.h \ + {$(VPATH)}yarvcore.h {$(VPATH)}debug.h \ + {$(VPATH)}vm_evalbody.ci {$(VPATH)}call_cfunc.ci \ + insns.inc vm.inc vmtc.inc vm_macro.inc vm_opts.h {$(VPATH)}eval_intern.h +vm_dump.$(OBJEXT): {$(VPATH)}yarvcore.h {$(VPATH)}vm.h +yarvcore.$(OBJEXT): {$(VPATH)}yarvcore.c {$(VPATH)}yarvcore.h \ + {$(VPATH)}yarv_version.h {$(VPATH)}debug.h +debug.$(OBJEXT): {$(VPATH)}debug.h +blockinlining.$(OBJEXT): {$(VPATH)}yarv.h {$(VPATH)}yarvcore.h vm_opts.h + + +BASERUBY = ruby + +INSNS2VMOPT = $(CPPFLAGS) --srcdir=$(srcdir) + +minsns.inc: + $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) + +opt_sc.inc: + $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) + +optinsn.inc: + $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) optinsn.inc + +optunifs.inc: + $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) optunifs.inc + +insns.inc: + $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) + +vmtc.inc: + $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) vmtc.inc + +vm.inc: $(srcdir)/insns.def + $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) vm.inc + +vm_macro.inc: $(srcdir)/vm_macro.def + $(BASERUBY) $(srcdir)/rb/insns2vm.rb $(INSNS2VMOPT) vm_macro.inc + +vm_opts.h: $(srcdir)/vm_opts.h.base + $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) + +incs: + $(BASERUBY) $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) + +docs: + $(BASERUBY) -I$(srcdir) $(srcdir)/tool/makedocs.rb $(INSNS2VMOPT) + +yarv-test-all: miniruby$(EXEEXT) + $(BASERUBY) -I$(srcdir) $(srcdir)/yarvtest/runner.rb $(OPT) yarv=$(MINIRUBY) ruby=$(BASERUBY) + +yarv-test-each: miniruby$(EXEEXT) + $(BASERUBY) -I$(srcdir) $(srcdir)/yarvtest/test_$(ITEM).rb $(OPT) yarv=$(MINIRUBY) ruby=$(BASERUBY) + +allload: miniruby$(EXEEXT) + $(MINIRUBY) -I$(srcdir) $(srcdir)/tool/allload.rb `$(BASERUBY) -rrbconfig -e 'print Config::CONFIG["rubylibdir"]'` + +run: miniruby$(EXEEXT) + $(MINIRUBY) -I$(srcdir)/lib $(srcdir)/test.rb $(RUNOPT) + +runruby: $(RUBY) + ./$(RUBY) -I$(srcdir)/lib -I. $(srcdir)/tool/runruby.rb $(srcdir)/test.rb + +parse: miniruby$(EXEEXT) + $(MINIRUBY) $(srcdir)/tool/parse.rb $(srcdir)/test.rb + +benchmark: $(RUBY) + $(BASERUBY) -I$(srcdir) -I$(srcdir)/lib $(srcdir)/benchmark/run_rite.rb $(OPT) $(ITEMS) --yarv-program=./$(PROGRAM) --ruby-program=$(BASERUBY) --opts=-I$(srcdir)/lib + +tbench: prog + $(BASERUBY) -I$(srcdir) -I$(srcdir)/lib $(srcdir)/benchmark/run_rite.rb bmx $(OPT) --yarv-program=./$(PROGRAM) --ruby-program=$(BASERUBY) --opts=-I$(srcdir)/lib + +bench-each: $(RUBY) + $(BASERUBY) -I$(srcdir) $(srcdir)/benchmark/run_rite.rb bm_$(ITEM) $(OPT) --yarv-program=./$(RUBY) --ruby-program=$(BASERUBY) --opts=-I$(srcdir)/lib + +aotc: + $(RUBY) -I$(srcdir) -I. $(srcdir)/tool/aotcompile.rb $(INSNS2VMOPT) + +# for GCC +vmasm: + $(CC) $(CFLAGS) $(CPPFLAGS) -S $(srcdir)/vm.c + +# vm.o : CFLAGS += -fno-crossjumping + +run.gdb: + echo b debug_breakpoint > run.gdb + echo handle SIGINT nostop + echo handle SIGPIPE nostop + echo run >> run.gdb + +gdb: miniruby$(EXEEXT) run.gdb + gdb -x run.gdb --quiet --args $(MINIRUBY) -I$(srcdir)/lib $(srcdir)/test.rb + +# Intel VTune + +vtune: miniruby$(EXEEXT) + vtl activity -c sampling -app ".\miniruby$(EXEEXT)","-I$(srcdir)/lib $(srcdir)/test.rb" run + vtl view -hf -mn miniruby$(EXEEXT) -sum -sort -cd + vtl view -ha -mn miniruby$(EXEEXT) -sum -sort -cd | $(BASERUBY) $(srcdir)/tool/vtlh.rb > ha.lines + |