aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: b72c77c4d21e19d112f9a6e0c3199cb92209d097 (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
# This Makefile has been placed under the public domain

include build-system/config.mk

all: assemble
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

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

bank_sql_dir=$(abs_destdir)$(prefix)/share/libeufin-bank/sql
bank_config_dir=$(abs_destdir)$(prefix)/share/libeufin-bank/config.d
nexus_sql_dir=$(abs_destdir)$(prefix)/share/libeufin-nexus/sql
nexus_config_dir=$(abs_destdir)$(prefix)/share/libeufin-nexus/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


.PHONY: install
install: install-bank install-nexus

.PHONY: install-bank
install-bank:
	install -d $(bank_config_dir)
	install contrib/libeufin-bank.conf $(bank_config_dir)/
	install -D database-versioning/libeufin-bank*.sql -t $(bank_sql_dir)
	install -D database-versioning/versioning.sql -t $(bank_sql_dir)
	install -D database-versioning/procedures.sql -t $(bank_sql_dir)
	./gradlew -q -Pprefix=$(abs_destdir)$(prefix) bank:installToPrefix
	./gradlew -q -Pprefix=$(abs_destdir)$(prefix) nexus:installToPrefix

.PHONY: install-nexus
install-nexus:
	install -d $(nexus_config_dir)
	install contrib/libeufin-nexus.conf $(nexus_config_dir)/
	install -D database-versioning/libeufin-nexus*.sql -t $(nexus_sql_dir)
	install -D database-versioning/versioning.sql -t $(nexus_sql_dir)
	install -D database-versioning/procedures.sql -t $(nexus_sql_dir)
	./gradlew -q -Pprefix=$(abs_destdir)$(prefix) nexus:installToPrefix

.PHONY: assemble
assemble:
	./gradlew assemble

.PHONY: check
check:
	./gradlew check