Installation improvements (auto-creation of data directories)
[prosody.git] / Makefile
1
2 include config.unix
3
4 BIN = $(DESTDIR)$(PREFIX)/bin
5 CONFIG = $(DESTDIR)$(SYSCONFDIR)
6 MODULES = $(DESTDIR)$(PREFIX)/lib/prosody/modules
7 SOURCE = $(DESTDIR)$(PREFIX)/lib/prosody
8
9 DATADIR?=data
10
11 INSTALLEDSOURCE = $(PREFIX)/lib/prosody
12 INSTALLEDCONFIG = $(SYSCONFDIR)
13 INSTALLEDMODULES = $(PREFIX)/lib/prosody/modules
14 INSTALLEDDATA = $(DATADIR)
15
16 all: prosody.install prosody.cfg.lua.install
17         $(MAKE) all -C util-src
18
19 install: prosody.install prosody.cfg.lua.install util/encodings.so util/encodings.so
20         install -d $(BIN) $(CONFIG) $(MODULES) $(SOURCE) $(DATADIR)
21         install -d $(CONFIG)/certs
22         install -d $(SOURCE)/core $(SOURCE)/net $(SOURCE)/util
23         install ./prosody.install $(BIN)/prosody
24         install -m644 core/* $(SOURCE)/core
25         install -m644 net/* $(SOURCE)/net
26         install -m644 util/* $(SOURCE)/util
27         install -m644 plugins/* $(MODULES)
28         install -m644 certs/* $(CONFIG)/certs
29         install -m644 plugins/* $(MODULES)
30         test -e $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
31         $(MAKE) install -C util-src
32
33 clean:
34         rm -f prosody.install
35         rm -f prosody.cfg.lua.install
36         $(MAKE) clean -C util-src
37
38 util/encodings.so:
39         $(MAKE) install -C util-src
40
41 util/hashes.so:
42         $(MAKE) install -C util-src
43
44 prosody.install: prosody
45         cp prosody prosody.install
46         sed -i "s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|;" prosody.install
47         sed -i "s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|;" prosody.install
48         sed -i "s|^CFG_DATADIR=.*;$$|CFG_DATADIR='$(INSTALLEDDATA)';|;" prosody.install
49         # The trailing slash is intentional in this one
50         sed -i "s|^CFG_PLUGINDIR=.*;$$|CFG_PLUGINDIR='$(INSTALLEDMODULES)/';|;" prosody.install
51
52 prosody.cfg.lua.install:
53         sed 's|certs/|$(INSTALLEDCONFIG)/certs/|' prosody.cfg.lua.dist > prosody.cfg.lua.install
54