X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=Makefile;h=c5390599064405960c303b55f095f2c51fa02b41;hb=a68136f591f00c08234bda7a9c53a369863ea8f3;hp=f1c1a286c9353617b6a53ea08cd2cfe3e3d0f0da;hpb=2933b009d003f255b90ac4af835b6f0173bb2626;p=prosody.git diff --git a/Makefile b/Makefile index f1c1a286..c5390599 100644 --- a/Makefile +++ b/Makefile @@ -5,27 +5,67 @@ BIN = $(DESTDIR)$(PREFIX)/bin CONFIG = $(DESTDIR)$(SYSCONFDIR) MODULES = $(DESTDIR)$(PREFIX)/lib/prosody/modules SOURCE = $(DESTDIR)$(PREFIX)/lib/prosody +DATA = $(DESTDIR)$(DATADIR) +MAN = $(DESTDIR)$(PREFIX)/share/man -all: - $(MAKE) all -C util-src +INSTALLEDSOURCE = $(PREFIX)/lib/prosody +INSTALLEDCONFIG = $(SYSCONFDIR) +INSTALLEDMODULES = $(PREFIX)/lib/prosody/modules +INSTALLEDDATA = $(DATADIR) -install: prosody util/encodings.so util/encodings.so +.PHONY: all clean install +all: prosody.install prosodyctl.install prosody.cfg.lua.install prosody.version + $(MAKE) -C util-src install +ifeq ($(EXCERTS),yes) + $(MAKE) -C certs localhost.crt example.com.crt || true +endif + +install: prosody.install prosodyctl.install prosody.cfg.lua.install util/encodings.so util/encodings.so util/pposix.so util/signal.so install -d $(BIN) $(CONFIG) $(MODULES) $(SOURCE) + install -m750 -d $(DATA) + install -d $(MAN)/man1 + install -d $(CONFIG)/certs install -d $(SOURCE)/core $(SOURCE)/net $(SOURCE)/util - install ./prosody $(BIN) + install -m755 ./prosody.install $(BIN)/prosody + install -m755 ./prosodyctl.install $(BIN)/prosodyctl install -m644 core/* $(SOURCE)/core - install -m644 net/* $(SOURCE)/net - install -m644 util/* $(SOURCE)/util - install -m644 plugins/* $(MODULES) - install -m644 prosody.cfg.lua.dist $(CONFIG)/prosody.cfg.lua + install -m644 net/*.lua $(SOURCE)/net + install -d $(SOURCE)/net/http + install -m644 net/http/*.lua $(SOURCE)/net/http + install -m644 util/*.lua $(SOURCE)/util + install -m644 util/*.so $(SOURCE)/util + install -d $(SOURCE)/util/sasl + install -m644 util/sasl/* $(SOURCE)/util/sasl + umask 0022 && cp -r plugins/* $(MODULES) + install -m644 certs/* $(CONFIG)/certs + install -m644 man/prosodyctl.man $(MAN)/man1/prosodyctl.1 + test -e $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua + test -e prosody.version && install -m644 prosody.version $(SOURCE)/prosody.version || true $(MAKE) install -C util-src clean: + rm -f prosody.install + rm -f prosodyctl.install + rm -f prosody.cfg.lua.install + rm -f prosody.version $(MAKE) clean -C util-src -util/encodings.so: +util/%.so: $(MAKE) install -C util-src -util/hashes.so: - $(MAKE) install -C util-src +%.install: % + sed "1s/\blua\b/$(RUNWITH)/; \ + s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \ + s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|; \ + s|^CFG_DATADIR=.*;$$|CFG_DATADIR='$(INSTALLEDDATA)';|; \ + s|^CFG_PLUGINDIR=.*;$$|CFG_PLUGINDIR='$(INSTALLEDMODULES)/';|;" < $^ > $@ + +prosody.cfg.lua.install: prosody.cfg.lua.dist + sed 's|certs/|$(INSTALLEDCONFIG)/certs/|' $^ > $@ + +prosody.version: $(wildcard prosody.release .hg/dirstate) + test -e .hg/dirstate && \ + hexdump -n6 -e'6/1 "%02x"' .hg/dirstate > $@ || true + test -f prosody.release && \ + cp prosody.release $@ || true