summaryrefslogtreecommitdiff
path: root/examples/java
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2018-12-05 09:01:10 +0100
committerAkim Demaille <akim.demaille@gmail.com>2018-12-06 05:19:09 +0100
commit9a5c12f1603fb383019fd58eb2239047f1aa3577 (patch)
tree3ed3fb02d8c343bbc56431388521c6ec3dc039b1 /examples/java
parent156140dfc341be082b56ff35214ba55338e2969c (diff)
downloadbison-9a5c12f1603fb383019fd58eb2239047f1aa3577.tar.gz
java, d: add a Makefile for the example
* examples/java/Makefile, examples/d/Makefile: New.
Diffstat (limited to 'examples/java')
-rw-r--r--examples/java/Makefile26
-rw-r--r--examples/java/local.mk2
2 files changed, 27 insertions, 1 deletions
diff --git a/examples/java/Makefile b/examples/java/Makefile
new file mode 100644
index 00000000..de9a54a6
--- /dev/null
+++ b/examples/java/Makefile
@@ -0,0 +1,26 @@
+# This Makefile is designed to be simple and readable. It does not
+# aim at portability. It requires GNU Make.
+
+BISON = bison
+JAVAC = javac
+JAVA = java
+XSLTPROC = xsltproc
+
+all: Calc.class
+
+%.java %.xml %.gv: %.y
+ $(BISON) $(BISONFLAGS) --xml --graph=$*.gv -o $*.java $<
+
+%.class: %.java
+ $(JAVAC) $(JAVACFLAGS) $<
+
+run: Calc.class
+ echo "Type arithmetic expressions. Quit with ctrl-d."
+ $(JAVA) $(JAVAFLAGS) Calc
+
+html: Calc.html
+%.html: %.xml
+ $(XSLTPROC) $(XSLTPROCFLAGS) -o $@ $$($(BISON) --print-datadir)/xslt/xml2xhtml.xsl $<
+
+clean:
+ rm -f *.class Calc.java Calc.html Calc.xml Calc.gv
diff --git a/examples/java/local.mk b/examples/java/local.mk
index c76e1623..f464f1f7 100644
--- a/examples/java/local.mk
+++ b/examples/java/local.mk
@@ -31,5 +31,5 @@ endif
%D%/Calc.class: %D%/Calc.java
$(AM_V_GEN) $(SHELL) $(top_builddir)/javacomp.sh $<
-dist_java_DATA = %D%/Calc.y
+dist_java_DATA = %D%/Calc.y %D%/Makefile
CLEANFILES += %D%/Calc.class %D%/Calc.java