-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile.in
48 lines (40 loc) · 1.18 KB
/
Makefile.in
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
obj = bin/viash
VERSION = $(shell awk -F'\"' '/version :=/ { print $$2 }' build.sbt)
$(obj): $(shell find src/ -name "*.scala")
sbt headerCreate \
'set assembly / test := {}' \
'set assembly / assemblyOutputPath := new File("target/viash.jar")' \
assembly
mkdir -p bin
cat src/stub.sh target/viash.jar > $(obj)
chmod +x $(obj)
@echo "==================================> $(obj)"
tools: $(obj) $(shell find src/viash)
bin/viash ns build -s src/viash -t bin --flatten -c ".version := '$(VERSION)'"
@echo "==================================> tools"
.PHONY: with-docker
with-docker:
mkdir -p bin
docker build -t viash .
docker create -it --name viash-cp viash bash
docker cp viash-cp:"/app/viash/target/viash.jar" /tmp/viash.jar
docker rm -f viash-cp
cat src/stub.sh /tmp/viash.jar > $(obj)
chmod +x $(obj)
.PHONY: docker
docker:
docker build -t dataintuitive/viash:$(VERSION) .
.PHONY: test
test:
sbt 'testOnly -- -l io.viash.NativeTest'
.PHONY: clean
clean:
sbt clean
if [[ -d bin/ ]]; then rm -r bin/; fi
.PHONY: install
install: $(obj)
mkdir -p $(DESTDIR)$(PREFIX)/bin
cp $< $(DESTDIR)$(PREFIX)/bin/viash
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/viash