summaryrefslogtreecommitdiff
path: root/Makefile
blob: fe69215e2ea1113fca814c9c7671691f033fdcba (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
include build-system/config.mk

escaped_pwd = $(shell pwd | sed 's/\//\\\//g')

all: assemble
install: install-bank install-cli install-db-versioning # install-nexus 
git-archive-all = ./build-system/taler-build-scripts/archive-with-submodules/git_archive_all.py
git_tag=$(shell git describe --tags)
gradle_version=$(shell ./gradlew -q libeufinVersion)
define versions_check =
  if test $(git_tag) != "v$(gradle_version)"; \
    then echo WARNING: Project version from Gradle: $(gradle_version) differs from current Git tag: $(git_tag); fi
endef

sql_dir=$(prefix)/share/taler/sql/libeufin-bank
config_dir=$(prefix)/share/taler/config.d

.PHONY: dist
dist:
	@$(call versions_check)
	@mkdir -p build/distributions
	@$(git-archive-all) --include ./configure build/distributions/libeufin-$(shell ./gradlew -q libeufinVersion)-sources.tar.gz

.PHONY: exec-arch
exec-arch:
	@$(call versions_check)
	@./gradlew -q execArch

.PHONY: clean-spa
clean-spa:
	@rm -fr debian/usr/share/libeufin/demobank-ui/index.* debian/usr/share/libeufin/demobank-ui/*.svg

.PHONY: copy-spa
get-spa:
	@./contrib/copy_spa.sh

.PHONY: deb
deb: exec-arch copy-spa
	@dpkg-buildpackage -rfakeroot -b -uc -us


# Absolute DESTDIR or empty string if DESTDIR unset/empty
abs_destdir=$(abspath $(DESTDIR))

.PHONY: install-bank
install-bank:
	install -d $(abs_destdir)$(config_dir)
	install contrib/libeufin-bank.conf $(abs_destdir)$(config_dir)/
	./gradlew -q -Pprefix=$(abs_destdir)$(prefix) bank:installToPrefix

# To reactivate after the refactoring.
# .PHONY: install-nexus
# install-nexus:
#	@./gradlew -q -Pprefix=$(prefix) nexus:installToPrefix; cd ..

.PHONY: install-cli
install-cli:
	@./gradlew -q replaceVersionCli
	@install -D cli/bin/libeufin-cli $(prefix)/bin

.PHONY: install-db-versioning
install-db-versioning:
	@install -D database-versioning/libeufin-bank*.sql -t $(sql_dir)
	@install -D database-versioning/versioning.sql -t $(sql_dir)
	@install -D database-versioning/procedures.sql -t $(sql_dir)

.PHONY: assemble
assemble:
	@./gradlew assemble

.PHONY: check
check:
	@./gradlew check

.PHONY: pofi-get
pofi-get:
	@./gradlew -q :nexus:pofi --args="download" # --args="arg1 arg2 .."

.PHONY: pofi-post
pofi-post:
	@./gradlew -q :nexus:pofi --args="upload"