java, d: add a Makefile for the example

* examples/java/Makefile, examples/d/Makefile: New.
This commit is contained in:
Akim Demaille
2018-12-05 09:01:10 +01:00
parent 156140dfc3
commit 9a5c12f160
5 changed files with 59 additions and 2 deletions

View File

@@ -34,6 +34,12 @@ Extracted from the documentation: "A Complete C++ Example".
https://www.gnu.org/software/bison/manual/html_node/A-Complete-C_002b_002b-Example.html
* Examples in D
** d/calc.y
The usual calculator.
* Examples in Java
** java/Calc.y

25
examples/d/Makefile Normal file
View File

@@ -0,0 +1,25 @@
# This Makefile is designed to be simple and readable. It does not
# aim at portability. It requires GNU Make.
BISON = bison
DC = dmd
XSLTPROC = xsltproc
all: calc
%.d %.xml %.gv: %.y
$(BISON) $(BISONFLAGS) --xml --graph=$*.gv -o $*.d $<
%: %.d
$(DC) $(DCFLAGS) $<
run: calc
echo "Type arithmetic expressions. Quit with ctrl-d."
./$<
html: calc.html
%.html: %.xml
$(XSLTPROC) $(XSLTPROCFLAGS) -o $@ $$($(BISON) --print-datadir)/xslt/xml2xhtml.xsl $<
clean:
rm -f calc calc.d calc.xml calc.gv calc.html *.o

View File

@@ -31,5 +31,5 @@ endif
%D%/calc: %D%/calc.d
$(AM_V_GEN) $(DC) $(DCFLAGS) -of$@ $<
dist_d_DATA = %D%/calc.y
dist_d_DATA = %D%/calc.y %D%/Makefile
CLEANFILES += %D%/calc %D%/Calc.d

26
examples/java/Makefile Normal file
View File

@@ -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

View File

@@ -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