Makefile

1
include config.unix
2
 
3
BIN = $(DESTDIR)$(PREFIX)/bin
4
CONFIG = $(DESTDIR)$(SYSCONFDIR)
5
MODULES = $(DESTDIR)$(PREFIX)/lib/prosody/modules
6
SOURCE = $(DESTDIR)$(PREFIX)/lib/prosody
7
DATA = $(DESTDIR)$(DATADIR)
8
MAN = $(DESTDIR)$(PREFIX)/share/man
9
 
10
INSTALLEDSOURCE = $(PREFIX)/lib/prosody
11
INSTALLEDCONFIG = $(SYSCONFDIR)
12
INSTALLEDMODULES = $(PREFIX)/lib/prosody/modules
13
INSTALLEDDATA = $(DATADIR)
14
 
15
all: prosody.install prosodyctl.install prosody.cfg.lua.install prosody.version
16
	$(MAKE) -C util-src install
17
 
18
install: prosody.install prosodyctl.install prosody.cfg.lua.install util/encodings.so util/encodings.so util/pposix.so util/signal.so
19
	install -d $(BIN) $(CONFIG) $(MODULES) $(SOURCE)
20
	install -m750 -d $(DATA)
21
	install -d $(MAN)/man1
22
	install -d $(CONFIG)/certs
23
	install -d $(SOURCE)/core $(SOURCE)/net $(SOURCE)/util
24
	install -m755 ./prosody.install $(BIN)/prosody
25
	install -m755 ./prosodyctl.install $(BIN)/prosodyctl
26
	install -m644 core/* $(SOURCE)/core
27
	install -m644 net/* $(SOURCE)/net
28
	install -m644 util/*.lua $(SOURCE)/util
29
	install -m644 util/*.so $(SOURCE)/util
30
	install -d $(SOURCE)/util/sasl
31
	install -m644 util/sasl/* $(SOURCE)/util/sasl
32
	install -m644 plugins/*.lua $(MODULES)
33
	install -d $(MODULES)/muc
34
	install -m644 plugins/muc/* $(MODULES)/muc
35
	install -m644 certs/* $(CONFIG)/certs
36
	install -d $(MODULES)/adhoc
37
	install -m644 plugins/adhoc/*.lua $(MODULES)/adhoc
38
	install -m644 man/prosodyctl.man $(MAN)/man1/prosodyctl.1
39
	test -e $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
40
	test -e prosody.version && install prosody.version $(SOURCE)/prosody.version || true
41
	$(MAKE) install -C util-src
42
 
43
clean:
44
	rm -f prosody.install
45
	rm -f prosodyctl.install
46
	rm -f prosody.cfg.lua.install
47
	rm -f prosody.version
48
	$(MAKE) clean -C util-src
49
 
50
util/encodings.so:
51
	$(MAKE) install -C util-src
52
 
53
util/hashes.so:
54
	$(MAKE) install -C util-src
55
 
56
util/pposix.so:
57
	$(MAKE) install -C util-src
58
 
59
util/signal.so:
60
	$(MAKE) install -C util-src
61
 
62
prosody.install: prosody
63
	sed "s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \
64
		s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|; \
65
		s|^CFG_DATADIR=.*;$$|CFG_DATADIR='$(INSTALLEDDATA)';|; \
66
		s|^CFG_PLUGINDIR=.*;$$|CFG_PLUGINDIR='$(INSTALLEDMODULES)/';|;" < prosody > prosody.install
67
 
68
prosodyctl.install: prosodyctl
69
	sed "s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \
70
		s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|; \
71
		s|^CFG_DATADIR=.*;$$|CFG_DATADIR='$(INSTALLEDDATA)';|; \
72
		s|^CFG_PLUGINDIR=.*;$$|CFG_PLUGINDIR='$(INSTALLEDMODULES)/';|;" < prosodyctl > prosodyctl.install
73
 
74
prosody.cfg.lua.install:
75
	sed 's|certs/|$(INSTALLEDCONFIG)/certs/|' prosody.cfg.lua.dist > prosody.cfg.lua.install
76
 
77
prosody.release:
78
	test -e .hg/dirstate && hexdump -n6 -e'6/1 "%02x"' .hg/dirstate \
79
	    > prosody.version || true
80
 
81
prosody.version: prosody.release
82
	cp prosody.release prosody.version || true