summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-05-15 19:10:24 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-05-15 19:10:24 +0900
commit3fe45a3123760ba911fd21b1cfd1a44ce6745b0d (patch)
tree56e00089222ed0b8e8799c6d6774e2ce90f36ed1
parent41dccb6a7bebfa8c0e5c8f6e6331a41fa01f9169 (diff)
downloadruby-3fe45a3123760ba911fd21b1cfd1a44ce6745b0d.tar.gz
Process parse.y without temporary files
-rw-r--r--common.mk9
-rw-r--r--ext/ripper/depend2
2 files changed, 3 insertions, 8 deletions
diff --git a/common.mk b/common.mk
index 75247ddeb3..16ff4c5cda 100644
--- a/common.mk
+++ b/common.mk
@@ -924,13 +924,8 @@ PHONY:
{$(srcdir)}.y.c:
$(ECHO) generating $@
- $(Q)$(BASERUBY) $(tooldir)/id2token.rb $(SRC_FILE) > parse.tmp.y
- $(Q)$(YACC) -d $(YFLAGS) -o y.tab.c parse.tmp.y
- $(Q)$(RM) parse.tmp.y
- $(Q)sed -e "/^#/s|parse\.tmp\.[iy]|$(SRC_FILE)|" -e "/^#/s!y\.tab\.c!$@!" y.tab.c > $@.new
- $(Q)$(MV) $@.new $@
- $(Q)sed -e "/^#line.*y\.tab\.h/d;/^#line.*parse.*\.y/d" y.tab.h > $(@:.c=.h)
- $(Q)$(RM) y.tab.c y.tab.h
+ $(Q)$(BASERUBY) $(tooldir)/id2token.rb $(SRC_FILE) | \
+ $(YACC) -d $(YFLAGS) -o$@ -h$*.h - parse.y
$(PLATFORM_D):
$(Q) $(MAKEDIRS) $(PLATFORM_DIR) $(@D)
diff --git a/ext/ripper/depend b/ext/ripper/depend
index aac09b085a..da1bf58da7 100644
--- a/ext/ripper/depend
+++ b/ext/ripper/depend
@@ -11,7 +11,7 @@ ripper.o: ripper.c
.y.c:
$(ECHO) compiling compiler $<
- $(Q) $(BISON) -t -v -o$@ -h$*.h $<
+ $(Q) $(BISON) -t -v -o$@ -h$*.h - parse.y < $<
all: check
static: check