summaryrefslogtreecommitdiff
path: root/Makefile
blob: dacc59e6661d7ccdca631b16cf4ecb7fc5b7b47e (plain) (blame)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
.POSIX:
DATE         = 1970-01-01
VERSION      = 0.1.0
NAME         = datomic
NAME_UC      = $(NAME)
LANGUAGES    = en
## Installation prefix.  Defaults to "/usr".
PREFIX       = /usr
BINDIR       = $(PREFIX)/bin
SYSCONFDIR   = $(PREFIX)/etc/datomic
LIBDIR       = $(PREFIX)/lib
INCLUDEDIR   = $(PREFIX)/include
SRCDIR       = $(PREFIX)/src/$(NAME)
SHAREDIR     = $(PREFIX)/share
LOCALEDIR    = $(SHAREDIR)/locale
MANDIR       = $(SHAREDIR)/man
JAVADIR      = $(SHAREDIR)/java
EXEC         = ./
## Where to store the installation.  Empty by default.
DESTDIR      =
LDLIBS       =



.SUFFIXES:
.SUFFIXES: .in

.in:
	sed \
		-e 's:@SYSCONFDIR@:$(SYSCONFDIR):g' \
		< $< > $@
	if [ -x $< ]; then chmod +x $@; fi



all:
include deps.mk


sources = \
	$(sources.sh)                  \


derived-assets = \
	bin/transactor                 \

side-assets = \



## Default target.  Builds all artifacts required for testing
## and installation.
all: $(derived-assets)



check-unit:


check-integration:


## Run all tests.  Each test suite is isolated, so that a parallel
## build can run tests at the same time.  The required artifacts
## are created if missing.
check: check-unit check-integration



## Remove *all* derived artifacts produced during the build.
## A dedicated test asserts that this is always true.
clean:
	rm -rf $(derived-assets) $(side-assets)


## Installs into $(DESTDIR)$(PREFIX).  Its dependency target
## ensures that all installable artifacts are crafted beforehand.
install: all
	mkdir -p \
		'$(DESTDIR)$(BINDIR)'     \
		'$(DESTDIR)$(SYSCONFDIR)' \
		'$(DESTDIR)$(JAVADIR)'    \

	cp bin/transactor    '$(DESTDIR)$(BINDIR)'
	cp etc/init.sql etc/logback.xml etc/transactor.properties.tmpl \
		'$(DESTDIR)$(SYSCONFDIR)'
	cp lib/*.jar         '$(DESTDIR)$(JAVADIR)'


## Uninstalls from $(DESTDIR)$(PREFIX).  This is a perfect mirror
## of the "install" target, and removes *all* that was installed.
## A dedicated test asserts that this is always true.
uninstall:
	rm -rf \
		'$(DESTDIR)$(BINDIR)'/transactor                     \
		'$(DESTDIR)$(SYSCONFDIR)'/init.sql                   \
		'$(DESTDIR)$(SYSCONFDIR)'/logback.xml                \
		'$(DESTDIR)$(SYSCONFDIR)'/transactor.properties.tmpl \

	printf '%s\n' lib/*.jar | \
		sed 's|^lib/||' | \
		sed 's|^|$(DESTDIR)/$(JAVADIR)/|' | \
		xargs rm -f



ALWAYS: