blob: d7e8d3a770dfcafa76c8206e7bd7bd74b4dd3cd4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
DESTDIR ?=
JAR_DIR ?= /usr/share/java
ANTLR2 = $(JAVA) antlr.Tool
CP = cp
FAIL = exit 1
FIND = find
INSTALL = install
JAR = jar
JAVA = java
JAVAC = javac
MKDIRS = mkdir -p
RM = rm -f
dep_dir = $1 $(shell $(FIND) $1 2>/dev/null)
all: PHONY build/groovy.jar
build/generated-sources: $(call dep_dir,src/main)
for grammar in $(filter %.g,$^); do $(MKDIRS) $$(dirname $$grammar) && $(ANTLR2) -o $$(dirname $$grammar) $$grammar || { $(RM) -r $@; $(FAIL); }; done
build/classes: $(call dep_dir,src/main src/resources build/generated-sources)
$(RM) -r $@
$(MKDIRS) $@
$(CP) -a src/main/META-INF $@
$(CP) -a src/resources/* $@
$(FIND) src/main build/generated-sources -name '*.java' -exec $(JAVAC) -d $@ {} +
build/groovy.jar: $(call dep_dir,build/classes)
$(JAR) -cf $@ -C build/classes .
install: PHONY $(DESTDIR)$(JAR_DIR)/groovy.jar
$(DESTDIR)$(JAR_DIR)/groovy.jar: build/groovy.jar
$(INSTALL) -Dm644 $< $@
clean: PHONY
$(RM) -r build
.PHONY: PHONY
.DELETE_ON_ERROR:
|