From 2e156299711a95825eec5b0a11608a27725e9731 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 4 Mar 2015 18:57:10 -0500 Subject: add cup and jlex build rules --- rules/cup/Makefile | 38 ++++++++++++++++++++++++++++++++++++++ rules/jlex/Makefile | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 rules/cup/Makefile create mode 100644 rules/jlex/Makefile diff --git a/rules/cup/Makefile b/rules/cup/Makefile new file mode 100644 index 0000000..7d60a02 --- /dev/null +++ b/rules/cup/Makefile @@ -0,0 +1,38 @@ +DESTDIR ?= +JAR_DIR ?= /usr/share/java + +FAIL = exit 1 +FIND = find +INSTALL = install +JAR = jar +JAVAC = javac +MKDIRS = mkdir -p +RM = rm -f +TOUCH = touch + +dep_dir = $1 $(shell $(FIND) $1 2>/dev/null) + +all: PHONY java_cup.jar + +java_cup.jar: classes + $(JAR) cfe $@ java_cup.Main -C $< . + $(TOUCH) $< + +classes: . $(wildcard *.java) $(call dep_dir,runtime simple_calc) + $(RM) -r $@ + $(MKDIRS) $@ + $(JAVAC) -d $@ $(filter %.java,$^) || { $(RM) -r $@; $(FAIL); } + $(TOUCH) $@ + $(TOUCH) . + +install: PHONY $(DESTDIR)$(JAR_DIR)/java_cup.jar + +$(DESTDIR)$(JAR_DIR)/%.jar: %.jar + $(INSTALL) -Dm644 $< $@ + +clean: PHONY + $(RM) -r -- build *.jar + +.PHONY: PHONY +.DELETE_ON_ERROR: +.SECONDARY: diff --git a/rules/jlex/Makefile b/rules/jlex/Makefile new file mode 100644 index 0000000..79667dd --- /dev/null +++ b/rules/jlex/Makefile @@ -0,0 +1,33 @@ +DESTDIR ?= +JAR_DIR ?= /usr/share/java + +FAIL = exit 1 +INSTALL = install +JAR = jar +JAVAC = javac +MKDIRS = mkdir -p +RM = rm -f +TOUCH = touch + +all: PHONY jlex.jar + +jlex.jar: classes + $(JAR) cfe $@ JLex.Main -C $< . + +classes: Main.java + $(RM) -r $@ + $(MKDIRS) $@ + $(JAVAC) -d $@ $< || { $(RM) -r $@; $(FAIL); } + $(TOUCH) $@ + +install: PHONY $(DESTDIR)$(JAR_DIR)/jlex.jar + +$(DESTDIR)$(JAR_DIR)/%.jar: %.jar + $(INSTALL) -Dm644 $< $@ + +clean: PHONY + $(RM) -r -- build *.jar + +.PHONY: PHONY +.DELETE_ON_ERROR: +.SECONDARY: -- cgit v1.2.3