| 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 |