Merge 0.10->trunk
[prosody.git] / Makefile
1
2 include config.unix
3
4 BIN = $(DESTDIR)$(PREFIX)/bin
5 CONFIG = $(DESTDIR)$(SYSCONFDIR)
6 MODULES = $(DESTDIR)$(LIBDIR)/prosody/modules
7 SOURCE = $(DESTDIR)$(LIBDIR)/prosody
8 DATA = $(DESTDIR)$(DATADIR)
9 MAN = $(DESTDIR)$(PREFIX)/share/man
10
11 INSTALLEDSOURCE = $(LIBDIR)/prosody
12 INSTALLEDCONFIG = $(SYSCONFDIR)
13 INSTALLEDMODULES = $(LIBDIR)/prosody/modules
14 INSTALLEDDATA = $(DATADIR)
15
16 .PHONY: all clean install
17
18 all: prosody.install prosodyctl.install prosody.cfg.lua.install prosody.version
19         $(MAKE) -C util-src install
20 ifeq ($(EXCERTS),yes)
21         -$(MAKE) -C certs localhost.crt example.com.crt
22 endif
23
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/*.lua $(SOURCE)/core
33         install -m644 net/*.lua $(SOURCE)/net
34         install -d $(SOURCE)/net/http $(SOURCE)/net/websocket
35         install -m644 net/http/*.lua $(SOURCE)/net/http
36         install -m644 net/websocket/*.lua $(SOURCE)/net/websocket
37         install -m644 util/*.lua $(SOURCE)/util
38         install -m644 util/*.so $(SOURCE)/util
39         install -d $(SOURCE)/util/sasl
40         install -m644 util/sasl/* $(SOURCE)/util/sasl
41         umask 0022 && cp -r plugins/* $(MODULES)
42         install -m644 certs/* $(CONFIG)/certs
43         install -m644 man/prosodyctl.man $(MAN)/man1/prosodyctl.1
44         test -f $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
45         -test -f prosody.version && install -m644 prosody.version $(SOURCE)/prosody.version
46         $(MAKE) install -C util-src
47
48 clean:
49         rm -f prosody.install
50         rm -f prosodyctl.install
51         rm -f prosody.cfg.lua.install
52         rm -f prosody.version
53         $(MAKE) clean -C util-src
54
55 test:
56         cd tests && $(RUNWITH) test.lua 0
57         # Skipping: cd tests && RUNWITH=$(RUNWITH) ./test_util_json.sh
58
59 util/%.so:
60         $(MAKE) install -C util-src
61
62 %.install: %
63         sed "1s| lua$$| $(RUNWITH)|; \
64                 s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \
65                 s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|; \
66                 s|^CFG_DATADIR=.*;$$|CFG_DATADIR='$(INSTALLEDDATA)';|; \
67                 s|^CFG_PLUGINDIR=.*;$$|CFG_PLUGINDIR='$(INSTALLEDMODULES)/';|;" < $^ > $@
68
69 prosody.cfg.lua.install: prosody.cfg.lua.dist
70         sed 's|certs/|$(INSTALLEDCONFIG)/certs/|' $^ > $@
71
72 %.version: %.release
73         cp $^ $@
74
75 %.version: .hg_archival.txt
76         sed -n 's/^node: \(............\).*/\1/p' $^ > $@
77
78 %.version: .hg/dirstate
79         hexdump -n6 -e'6/1 "%02x"' $^ > $@
80
81 %.version:
82         echo unknown > $@
83
84