forked from l-kent/wemelt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
51 lines (36 loc) · 1.1 KB
/
Makefile
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
40
41
42
43
44
45
46
47
48
49
50
51
.PHONY: all test clean parser check-dependencies macos_sip_fix
MILL = ./mill
WEMELT_JAVA = wemelt/src/wemelt/Parser.java \
wemelt/src/wemelt/Scanner.java
WEMELT_JAR = out/wemelt/jar/dest/out.jar
WEMELT_LAUNCHER = ./out/wemelt/launcher/dest/run
WEMELT_SH = ./wemelt.sh
all: parser $(WEMELT_JAR) $(WEMELT_SH) macos_sip_fix
parser: $(WEMELT_JAVA)
clean:
$(MILL) clean
rm -f $(WEMELT_JAVA)
rm -f $(WEMELT_SH)
check-dependencies:
$(MILL) mill.scalalib.Dependency/updates
$(WEMELT_LAUNCHER):
@echo $@
$(MILL) wemelt.launcher
$(WEMELT_JAR):
@echo $@
$(MILL) wemelt.jar
$(WEMELT_SH): $(WEMELT_LAUNCHER)
@echo "[echo] $@"; echo "#!/usr/bin/env bash" > $@; echo "export LD_LIBRARY_PATH=$(PWD)/wemelt/lib" >> $@; echo "source $(WEMELT_LAUNCHER)" >> $@
@echo "[chmod] $@"; chmod +x $@
%.java: %.grammar
java -jar beaver.jar -t $^
%.java: %.flex
jflex -nobak $^
o: $(WEMELT_OBJ)
@echo $(WEMELT_OBJ)
macos_sip_fix: wemelt/lib/libz3java.dylib wemelt/lib/libz3.dylib
@if [ $$(uname -s) = "Darwin" ]; then \
make -s libz3java.dylib libz3.dylib; \
fi
lib%.dylib: wemelt/lib/lib%.dylib
ln -s $<