1bin_PROGRAMS = jikes
2
3jikes_SOURCES = \
4ast.cpp \
5body.cpp \
6bytecode.cpp \
7case.cpp \
8class.cpp \
9code.cpp \
10control.cpp \
11decl.cpp \
12definite.cpp \
13depend.cpp \
14diagnose.cpp \
15double.cpp \
16dump.cpp \
17error.cpp \
18expr.cpp \
19incrmnt.cpp \
20init.cpp \
21javaact.cpp \
22jikes.cpp \
23jikesapi.cpp \
24long.cpp \
25lookup.cpp \
26lpginput.cpp \
27modifier.cpp \
28op.cpp \
29option.cpp \
30parser.cpp \
31platform.cpp \
32scanner.cpp \
33segment.cpp \
34set.cpp \
35stream.cpp \
36symbol.cpp \
37system.cpp \
38tab.cpp \
39unparse.cpp \
40unzip.cpp \
41zip.cpp
42
43include_HEADERS = \
44jikesapi.h
45
46noinst_HEADERS = \
47access.h \
48ast.h \
49bytecode.h \
50case.h \
51class.h \
52code.h \
53control.h \
54depend.h \
55diagnose.h \
56double.h \
57error.h \
58javaact.h \
59javadcl.h \
60javadef.h \
61javaprs.h \
62javasym.h \
63jikesapi.h \
64long.h \
65lookup.h \
66lpginput.h \
67op.h \
68option.h \
69parser.h \
70platform.h \
71scanner.h \
72segment.h \
73semantic.h \
74set.h \
75spell.h \
76stream.h \
77symbol.h \
78tab.h \
79table.h \
80tuple.h \
81unzip.h \
82zip.h
83
84# Include the java.g and gencode.java files in the .tar ball
85
86EXTRA_DIST = java.g gencode.java
87
88if MAINTAINER_MODE
89# Special rules to remake autogenerated files
90PARSER_FILES = \
91javaact.cpp \
92javaact.h \
93javadcl.h \
94javadef.h \
95javaprs.h \
96javasym.h
97
98BUILT_SOURCES = $(PARSER_FILES) code.cpp code.h
99
100javaact.stamp: $(srcdir)/java.g
101	@rm -f javaact.tmp
102	@$(TOUCH) javaact.tmp
103	(cd $(srcdir); $(JIKESPG) java.g)
104	rm -f $(srcdir)/java.l
105	@mv -f javaact.tmp $@
106
107$(PARSER_FILES): javaact.stamp
108	@if test -f $@; then :; else \
109	  rm -f javaact.stamp; \
110	  $(MAKE) $(AM_MAKEFLAGS) javaact.stamp; \
111	fi
112
113# FIXME: hardcoded at the moment, makes bootstrap difficult...
114JAVA = java
115JAVAC = jikes -nowarn -source 1.4
116code.stamp: $(srcdir)/gencode.java
117	@rm -f code.tmp
118	@$(TOUCH) code.tmp
119	$(JAVAC) -d $(srcdir) $<
120	(cd $(srcdir); $(JAVA) -classpath . gencode)
121	@mv -f code.tmp $@
122
123code.cpp code.h: code.stamp
124	@if test -f $@; then :; else \
125	  rm -f code.stamp; \
126	  $(MAKE) $(AM_MAKEFLAGS) code.stamp; \
127	fi
128
129# end special maintainer mode section
130endif
131
132
133# This rule will build an efence malloc debugging enabled version of jikes.
134# This should be used for testing purposes only! It is really slow!
135efence:
136	@rm -f jikes$(EXEEXT)
137	$(CXXLINK) -o jikes$(EXEEXT) $(jikes_OBJECTS) -lstdc++ -lefence
138