Skip to content

Commit 481c8f8

Browse files
committed
Reorder prism source rules
1 parent 2443627 commit 481c8f8

2 files changed

Lines changed: 31 additions & 81 deletions

File tree

prism/srcs.mk

Lines changed: 10 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -12,131 +12,71 @@ prism/$(HAVE_BASERUBY:yes=.srcs.mk.time): \
1212

1313
realclean-prism-srcs::
1414
$(RM) $(PRISM_SRCDIR)/srcs.mk
15+
$(RM) $(PRISM_SRCDIR)/api_node.c $(PRISM_SRCDIR)/ast.h
16+
$(RM) $(PRISM_SRCDIR)/diagnostic.c $(PRISM_SRCDIR)/diagnostic.h
17+
$(RM) $(PRISM_SRCDIR)/node.c $(PRISM_SRCDIR)/prettyprint.c
18+
$(RM) $(PRISM_SRCDIR)/serialize.c $(PRISM_SRCDIR)/token_type.c
19+
$(RM) lib/prism/compiler.rb lib/prism/dispatcher.rb
20+
$(RM) lib/prism/dot_visitor.rb lib/prism/dsl.rb
21+
$(RM) lib/prism/inspect_visitor.rb lib/prism/mutation_compiler.rb
22+
$(RM) lib/prism/node.rb lib/prism/reflection.rb
23+
$(RM) lib/prism/serialize.rb lib/prism/visitor.rb
1524

1625
realclean-srcs-local:: realclean-prism-srcs
1726

1827
main srcs: $(PRISM_SRCDIR)/api_node.c
1928
$(PRISM_SRCDIR)/api_node.c: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/ext/prism/api_node.c.erb
2029
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) ext/prism/api_node.c $@
21-
22-
realclean-prism-srcs::
23-
$(RM) $(PRISM_SRCDIR)/api_node.c
24-
2530
main incs: $(PRISM_SRCDIR)/ast.h
2631
$(PRISM_SRCDIR)/ast.h: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/include/prism/ast.h.erb
2732
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) include/prism/ast.h $@
28-
29-
realclean-prism-srcs::
30-
$(RM) $(PRISM_SRCDIR)/ast.h
31-
3233
main incs: $(PRISM_SRCDIR)/diagnostic.h
3334
$(PRISM_SRCDIR)/diagnostic.h: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/include/prism/diagnostic.h.erb
3435
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) include/prism/diagnostic.h $@
35-
36-
realclean-prism-srcs::
37-
$(RM) $(PRISM_SRCDIR)/diagnostic.h
38-
3936
main srcs: lib/prism/compiler.rb
4037
lib/prism/compiler.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/compiler.rb.erb
4138
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/compiler.rb $@
42-
43-
realclean-prism-srcs::
44-
$(RM) lib/prism/compiler.rb
45-
4639
main srcs: lib/prism/dispatcher.rb
4740
lib/prism/dispatcher.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/dispatcher.rb.erb
4841
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/dispatcher.rb $@
49-
50-
realclean-prism-srcs::
51-
$(RM) lib/prism/dispatcher.rb
52-
5342
main srcs: lib/prism/dot_visitor.rb
5443
lib/prism/dot_visitor.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/dot_visitor.rb.erb
5544
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/dot_visitor.rb $@
56-
57-
realclean-prism-srcs::
58-
$(RM) lib/prism/dot_visitor.rb
59-
6045
main srcs: lib/prism/dsl.rb
6146
lib/prism/dsl.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/dsl.rb.erb
6247
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/dsl.rb $@
63-
64-
realclean-prism-srcs::
65-
$(RM) lib/prism/dsl.rb
66-
6748
main srcs: lib/prism/inspect_visitor.rb
6849
lib/prism/inspect_visitor.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/inspect_visitor.rb.erb
6950
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/inspect_visitor.rb $@
70-
71-
realclean-prism-srcs::
72-
$(RM) lib/prism/inspect_visitor.rb
73-
7451
main srcs: lib/prism/mutation_compiler.rb
7552
lib/prism/mutation_compiler.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/mutation_compiler.rb.erb
7653
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/mutation_compiler.rb $@
77-
78-
realclean-prism-srcs::
79-
$(RM) lib/prism/mutation_compiler.rb
80-
8154
main srcs: lib/prism/node.rb
8255
lib/prism/node.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/node.rb.erb
8356
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/node.rb $@
84-
85-
realclean-prism-srcs::
86-
$(RM) lib/prism/node.rb
87-
8857
main srcs: lib/prism/reflection.rb
8958
lib/prism/reflection.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/reflection.rb.erb
9059
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/reflection.rb $@
91-
92-
realclean-prism-srcs::
93-
$(RM) lib/prism/reflection.rb
94-
9560
main srcs: lib/prism/serialize.rb
9661
lib/prism/serialize.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/serialize.rb.erb
9762
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/serialize.rb $@
98-
99-
realclean-prism-srcs::
100-
$(RM) lib/prism/serialize.rb
101-
10263
main srcs: lib/prism/visitor.rb
10364
lib/prism/visitor.rb: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/lib/prism/visitor.rb.erb
10465
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) lib/prism/visitor.rb $@
105-
106-
realclean-prism-srcs::
107-
$(RM) lib/prism/visitor.rb
108-
10966
main srcs: $(PRISM_SRCDIR)/diagnostic.c
11067
$(PRISM_SRCDIR)/diagnostic.c: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/src/diagnostic.c.erb
11168
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) src/diagnostic.c $@
112-
113-
realclean-prism-srcs::
114-
$(RM) $(PRISM_SRCDIR)/diagnostic.c
115-
11669
main srcs: $(PRISM_SRCDIR)/node.c
11770
$(PRISM_SRCDIR)/node.c: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/src/node.c.erb
11871
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) src/node.c $@
119-
120-
realclean-prism-srcs::
121-
$(RM) $(PRISM_SRCDIR)/node.c
122-
12372
main srcs: $(PRISM_SRCDIR)/prettyprint.c
12473
$(PRISM_SRCDIR)/prettyprint.c: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/src/prettyprint.c.erb
12574
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) src/prettyprint.c $@
126-
127-
realclean-prism-srcs::
128-
$(RM) $(PRISM_SRCDIR)/prettyprint.c
129-
13075
main srcs: $(PRISM_SRCDIR)/serialize.c
13176
$(PRISM_SRCDIR)/serialize.c: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/src/serialize.c.erb
13277
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) src/serialize.c $@
133-
134-
realclean-prism-srcs::
135-
$(RM) $(PRISM_SRCDIR)/serialize.c
136-
13778
main srcs: $(PRISM_SRCDIR)/token_type.c
13879
$(PRISM_SRCDIR)/token_type.c: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/src/token_type.c.erb
13980
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) src/token_type.c $@
14081

141-
realclean-prism-srcs::
142-
$(RM) $(PRISM_SRCDIR)/token_type.c
82+
# srcs.mk

prism/srcs.mk.in

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,20 @@ require_relative 'templates/template'
44
script = File.basename(__FILE__)
55
srcs = output ? File.basename(output) : script.chomp('.in')
66
mk = 'uncommon.mk'
7+
temps = Prism::Template::TEMPLATES.grep(/\.(?:[ch]|rb)\z/).map {|t|
8+
[t.sub(%r[\A(?:src|(?:ext|include)/prism)/], '$(PRISM_SRCDIR)/'), t]
9+
}
10+
def each_fold(ary, w)
11+
s = +""
12+
ary.each do |a|
13+
if s.size + a.size + 1 >= w
14+
yield s
15+
s = +""
16+
end
17+
s << " " << a
18+
end
19+
yield s unless s.empty?
20+
end
721

822
# %>
923
PRISM_TEMPLATES_DIR = $(PRISM_SRCDIR)/templates
@@ -20,20 +34,16 @@ prism/$(HAVE_BASERUBY:yes=.srcs.mk.time): \
2034

2135
realclean-prism-srcs::
2236
$(RM) $(PRISM_SRCDIR)/<%=%><%=srcs%>
37+
% each_fold(temps.map(&:first).sort, 64) do |s|
38+
$(RM)<%=%><%=s%>
39+
% end
2340
2441
realclean-srcs-local:: realclean-prism-srcs
25-
<% Prism::Template::TEMPLATES.map do |t|
26-
/\.(?:[ch]|rb)\z/ =~ t or next
27-
s = t.sub(%r[\A(?:src|(?:ext|include)/prism)/], '$(PRISM_SRCDIR)/')
28-
target = s.end_with?('.h') ? 'incs' : 'srcs'
29-
# %>
3042
31-
main <%=%><%=target%>: <%=%><%=s%>
43+
% temps.each do |s, t|
44+
main <%=%><%=s.end_with?('.h') ? 'incs' : 'srcs'%>: <%=%><%=s%>
3245
<%=%><%=s%>: $(PRISM_CONFIG) $(PRISM_TEMPLATE) $(PRISM_TEMPLATES_DIR)/<%=%><%=t%>.erb
3346
$(Q) $(BASERUBY) $(PRISM_TEMPLATE) <%=%><%=t%> $@
47+
% end
3448
35-
realclean-prism-srcs::
36-
$(RM) <%=%><%=s%>
37-
<%
38-
end
39-
# %>
49+
# <%=srcs%>

0 commit comments

Comments
 (0)