summaryrefslogtreecommitdiff
path: root/ext/ripper/depend
blob: ee1d2fd325326edf762764bc02806f7c010a6a99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
.SUFFIXES: .y
common: src rb
src: ripper.c eventids1.c
rb: $(srcdir)/lib/ripper/core.rb

ripper.o: ripper.c $(hdrdir)/lex.c eventids1.c $(srcdir)/eventids2.c

.y.c:
	bison -t -v -o$@ $<

ripper.y: $(hdrdir)/parse.y $(srcdir)/tools/preproc.rb
	$(RUBY) $(srcdir)/tools/preproc.rb $(hdrdir)/parse.y > $@

eventids1.c: $(hdrdir)/parse.y $(srcdir)/tools/generate-eventids1.rb ids1
	$(RUBY) $(srcdir)/tools/generate-eventids1.rb ids1 > $@

ids1: $(srcdir)/tools/list-parse-event-ids.rb $(hdrdir)/parse.y
	$(RUBY) $(srcdir)/tools/list-parse-event-ids.rb -a $(hdrdir)/parse.y > $@

ids2: $(srcdir)/tools/list-scan-event-ids.rb $(srcdir)/eventids2.c
	$(RUBY) $(srcdir)/tools/list-scan-event-ids.rb -a $(srcdir)/eventids2.c > $@

$(srcdir)/lib/ripper/core.rb: $(srcdir)/lib/ripper/core.rb.in ids1 ids2 $(srcdir)/tools/generate-ripper_rb.rb
	$(RUBY) $(srcdir)/tools/generate-ripper_rb.rb $@.in ids1 ids2 > $@

#
# Entries for only ripper developpers: DO NOT USE
#

test:
	$(RUBY) test/check-event-arity.rb $(hdrdir)/parse.y
	sh test/check-event-coverage.sh
	$(RUBY) test/check-scanner-event-coverage.rb
	$(RUBY) test/validate.rb > /dev/null
	@echo OK

preproc: ripper.E
ripper.E: ripper.c
	$(CC) -E $(CPPFLAGS) ripper.c | $(RUBY) $(srcdir)/tools/strip.rb > $@