4 BIN = $(DESTDIR)$(PREFIX)/bin
5 CONFIG = $(DESTDIR)$(SYSCONFDIR)
6 MODULES = $(DESTDIR)$(PREFIX)/lib/prosody/modules
7 SOURCE = $(DESTDIR)$(PREFIX)/lib/prosody
8 DATA = $(DESTDIR)$(DATADIR)
9 MAN = $(DESTDIR)$(PREFIX)/share/man
11 INSTALLEDSOURCE = $(PREFIX)/lib/prosody
12 INSTALLEDCONFIG = $(SYSCONFDIR)
13 INSTALLEDMODULES = $(PREFIX)/lib/prosody/modules
14 INSTALLEDDATA = $(DATADIR)
16 .PHONY: all clean install
18 all: prosody.install prosodyctl.install prosody.cfg.lua.install prosody.version
19 $(MAKE) -C util-src install
21 $(MAKE) -C certs localhost.crt example.com.crt || true
24 install: prosody.install prosodyctl.install prosody.cfg.lua.install util/encodings.so util/encodings.so util/pposix.so util/signal.so
25 install -d $(BIN) $(CONFIG) $(MODULES) $(SOURCE)
26 install -m750 -d $(DATA)
27 install -d $(MAN)/man1
28 install -d $(CONFIG)/certs
29 install -d $(SOURCE)/core $(SOURCE)/net $(SOURCE)/util
30 install -m755 ./prosody.install $(BIN)/prosody
31 install -m755 ./prosodyctl.install $(BIN)/prosodyctl
32 install -m644 core/* $(SOURCE)/core
33 install -m644 net/*.lua $(SOURCE)/net
34 install -d $(SOURCE)/net/http
35 install -m644 net/http/*.lua $(SOURCE)/net/http
36 install -m644 util/*.lua $(SOURCE)/util
37 install -m644 util/*.so $(SOURCE)/util
38 install -d $(SOURCE)/util/sasl
39 install -m644 util/sasl/* $(SOURCE)/util/sasl
40 umask 0022 && cp -r plugins/* $(MODULES)
41 install -m644 certs/* $(CONFIG)/certs
42 install -m644 man/prosodyctl.man $(MAN)/man1/prosodyctl.1
43 test -e $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
44 test -e prosody.version && install -m644 prosody.version $(SOURCE)/prosody.version || true
45 $(MAKE) install -C util-src
49 rm -f prosodyctl.install
50 rm -f prosody.cfg.lua.install
52 $(MAKE) clean -C util-src
55 $(MAKE) install -C util-src
58 sed "1s| lua$$| $(RUNWITH)|; \
59 s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \
60 s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|; \
61 s|^CFG_DATADIR=.*;$$|CFG_DATADIR='$(INSTALLEDDATA)';|; \
62 s|^CFG_PLUGINDIR=.*;$$|CFG_PLUGINDIR='$(INSTALLEDMODULES)/';|;" < $^ > $@
64 prosody.cfg.lua.install: prosody.cfg.lua.dist
65 sed 's|certs/|$(INSTALLEDCONFIG)/certs/|' $^ > $@
67 prosody.version: $(wildcard prosody.release .hg/dirstate)
68 test -e .hg/dirstate && \
69 hexdump -n6 -e'6/1 "%02x"' .hg/dirstate > $@ || true
70 test -f prosody.release && \
71 cp prosody.release $@ || true