From d3dc67e2bfae6f96f0d25e46814d837a572220a1 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 4 Mar 2015 19:35:13 -0500 Subject: fiddle with the things to make jflex work --- Makefile | 2 +- conf/dependencies.mk | 10 ++++++++-- conf/sources.mk | 6 ++++-- rules/cup/Makefile | 38 -------------------------------------- rules/cup/delete.list | 2 -- rules/java_cup/Makefile | 38 ++++++++++++++++++++++++++++++++++++++ rules/java_cup/delete.list | 2 ++ rules/jflex/Makefile | 2 +- 8 files changed, 54 insertions(+), 46 deletions(-) delete mode 100644 rules/cup/Makefile delete mode 100644 rules/cup/delete.list create mode 100644 rules/java_cup/Makefile create mode 100644 rules/java_cup/delete.list diff --git a/Makefile b/Makefile index a2d93c6..38bcb70 100644 --- a/Makefile +++ b/Makefile @@ -244,7 +244,7 @@ build/packages/%: $(MAKEFILE_LIST) $(ECHO) '#!/bin/sh' && \ $(ECHO) 'CLASSPATH=$(call deps2classpath,$^):$${CLASSPATH:+:$${CLASSPATH}}' && \ $(ECHO) 'export CLASSPATH' && \ - $(ECHO) 'exec $(JAVA) $(call name2,extra,$*)' ; \ + $(ECHO) 'exec $(JAVA) $(call name2,extra,$*) "$$@"' ; \ } | $(INSTALL) -Dm755 /dev/stdin '$@/$(bindir)/$(call name2,url,$*)' && \ { \ $(ECHO) '#!/bin/sh' && \ diff --git a/conf/dependencies.mk b/conf/dependencies.mk index 9d8afd7..ea4c934 100644 --- a/conf/dependencies.mk +++ b/conf/dependencies.mk @@ -263,6 +263,12 @@ build/packages/jdom1-bootstrap: \ # JFlex build/packages/jflex: \ /usr/share/java/junit.jar \ - build/packages/jflex-bootstrap + build/packages/jflex-bootstrap \ + build/packages/java_cup-cli build/packages/jflex-bootstrap: \ - /usr/share/java/junit.jar + /usr/share/java/junit.jar \ + build/packages/java_cup-cli \ + build/packages/jlex-cli + +build/packages/java_cup-cli: build/packages/java_cup +build/packages/jlex-cli: build/packages/jlex diff --git a/conf/sources.mk b/conf/sources.mk index 2f86c2b..577e105 100644 --- a/conf/sources.mk +++ b/conf/sources.mk @@ -121,6 +121,8 @@ jflex = tar|http://jflex.de/jflex-1.5.1.t jflex-bootstrap = $(jflex) # This is the last version of CUP developed at Princeton; I have a low opinion of the maintainers at TUM. -#cup = tar|http://www.cs.princeton.edu/~appel/modern/java/CUP/java_cup_v10k.tar.gz -cup = tar|http://www2.cs.tum.edu/projects/cup/java_cup_v10k.tar.gz +#java_cup = tar|http://www.cs.princeton.edu/~appel/modern/java/CUP/java_cup_v10k.tar.gz +java_cup = tar|http://www2.cs.tum.edu/projects/cup/java_cup_v10k.tar.gz jlex = file|http://www.cs.princeton.edu/~appel/modern/java/JLex/Archive/1.2.6/Main.java +java_cup-cli = stub|java_cup|java_cup.Main +jlex-cli = stub|jlex|JLex.Main diff --git a/rules/cup/Makefile b/rules/cup/Makefile deleted file mode 100644 index 7d60a02..0000000 --- a/rules/cup/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -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/cup/delete.list b/rules/cup/delete.list deleted file mode 100644 index a25c43d..0000000 --- a/rules/cup/delete.list +++ /dev/null @@ -1,2 +0,0 @@ -*.class -*/*.class diff --git a/rules/java_cup/Makefile b/rules/java_cup/Makefile new file mode 100644 index 0000000..7d60a02 --- /dev/null +++ b/rules/java_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/java_cup/delete.list b/rules/java_cup/delete.list new file mode 100644 index 0000000..a25c43d --- /dev/null +++ b/rules/java_cup/delete.list @@ -0,0 +1,2 @@ +*.class +*/*.class diff --git a/rules/jflex/Makefile b/rules/jflex/Makefile index 845749f..64b3b0f 100644 --- a/rules/jflex/Makefile +++ b/rules/jflex/Makefile @@ -13,7 +13,7 @@ SED = sed TOUCH = touch XMLSTARLET = xml JLEX = jlex -JAVA_CUP = java-cup +JAVA_CUP = java_cup artifactIds := jflex jflex-parent version := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:version -n parent.xml) -- cgit v1.2.2