Makefile
author Matthew Wild <mwild1@gmail.com>
Sat, 27 Apr 2013 13:11:03 +0100
changeset 5524 e9090966c803
parent 5472 7c631ef43b11
child 5924 f44c1dabd4e9
permissions -rw-r--r--
util.prosodyctl: Initialize storagemanager on the host before initializing usermanager. This fixes brokenness when the auth provider opens the store on load (as they all do since eeea0eb2602a) (thanks nulani)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     1
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     2
include config.unix
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     3
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     4
BIN = $(DESTDIR)$(PREFIX)/bin
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     5
CONFIG = $(DESTDIR)$(SYSCONFDIR)
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     6
MODULES = $(DESTDIR)$(PREFIX)/lib/prosody/modules
464
f1827353fd58 More Makefile improvements
Matthew Wild <mwild1@gmail.com>
parents: 463
diff changeset
     7
SOURCE = $(DESTDIR)$(PREFIX)/lib/prosody
503
00702b66beb1 Makefile fix for creating datadir in correct place on install
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
     8
DATA = $(DESTDIR)$(DATADIR)
1464
047ed6e52a41 Added man page for prosodyctl
Dwayne Bent <dbb.0@liqd.org>
parents: 1454
diff changeset
     9
MAN = $(DESTDIR)$(PREFIX)/share/man
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 501
diff changeset
    10
480
5d00d623904e Update Makefile to set correct paths on install with Debian package
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
    11
INSTALLEDSOURCE = $(PREFIX)/lib/prosody
5d00d623904e Update Makefile to set correct paths on install with Debian package
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
    12
INSTALLEDCONFIG = $(SYSCONFDIR)
5d00d623904e Update Makefile to set correct paths on install with Debian package
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
    13
INSTALLEDMODULES = $(PREFIX)/lib/prosody/modules
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 501
diff changeset
    14
INSTALLEDDATA = $(DATADIR)
480
5d00d623904e Update Makefile to set correct paths on install with Debian package
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
    15
4396
03b59a511671 Makefile, util-src/Makefile: Add .PHONY, reorganise util-src/Makefile
Matthew Wild <mwild1@gmail.com>
parents: 3266
diff changeset
    16
.PHONY: all clean install
03b59a511671 Makefile, util-src/Makefile: Add .PHONY, reorganise util-src/Makefile
Matthew Wild <mwild1@gmail.com>
parents: 3266
diff changeset
    17
1310
b5a7a9fc9161 Makefile: Experimental support for recording the version of an installed Prosody
Matthew Wild <mwild1@gmail.com>
parents: 1300
diff changeset
    18
all: prosody.install prosodyctl.install prosody.cfg.lua.install prosody.version
586
b828d7d47973 Add posix support library, and adjust makefiles for it
Matthew Wild <mwild1@gmail.com>
parents: 514
diff changeset
    19
	$(MAKE) -C util-src install
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    20
1090
e47310ca513b Makefile: Process and install prosodyctl
Matthew Wild <mwild1@gmail.com>
parents: 993
diff changeset
    21
install: prosody.install prosodyctl.install prosody.cfg.lua.install util/encodings.so util/encodings.so util/pposix.so util/signal.so
1300
954973fd2939 Makefile: Set data directory permissions to 750 on install [thanks Dwayne Bent]
Matthew Wild <mwild1@gmail.com>
parents: 1299
diff changeset
    22
	install -d $(BIN) $(CONFIG) $(MODULES) $(SOURCE)
954973fd2939 Makefile: Set data directory permissions to 750 on install [thanks Dwayne Bent]
Matthew Wild <mwild1@gmail.com>
parents: 1299
diff changeset
    23
	install -m750 -d $(DATA)
1464
047ed6e52a41 Added man page for prosodyctl
Dwayne Bent <dbb.0@liqd.org>
parents: 1454
diff changeset
    24
	install -d $(MAN)/man1
481
29f974ef00a7 More Makefile improvements (install the certificates, and update the config on install to find them)
Matthew Wild <mwild1@gmail.com>
parents: 480
diff changeset
    25
	install -d $(CONFIG)/certs
2650
23995c80286c Makefile: Remove fallbacks/
Matthew Wild <mwild1@gmail.com>
parents: 2224
diff changeset
    26
	install -d $(SOURCE)/core $(SOURCE)/net $(SOURCE)/util
1299
997ac65a85f4 Makefile: Specify permissions on installed executables [thanks mhavela]
Matthew Wild <mwild1@gmail.com>
parents: 1090
diff changeset
    27
	install -m755 ./prosody.install $(BIN)/prosody
997ac65a85f4 Makefile: Specify permissions on installed executables [thanks mhavela]
Matthew Wild <mwild1@gmail.com>
parents: 1090
diff changeset
    28
	install -m755 ./prosodyctl.install $(BIN)/prosodyctl
464
f1827353fd58 More Makefile improvements
Matthew Wild <mwild1@gmail.com>
parents: 463
diff changeset
    29
	install -m644 core/* $(SOURCE)/core
4686
5fd661424b9f Makefile: Fix for net/http
Matthew Wild <mwild1@gmail.com>
parents: 4628
diff changeset
    30
	install -m644 net/*.lua $(SOURCE)/net
5fd661424b9f Makefile: Fix for net/http
Matthew Wild <mwild1@gmail.com>
parents: 4628
diff changeset
    31
	install -d $(SOURCE)/net/http
5fd661424b9f Makefile: Fix for net/http
Matthew Wild <mwild1@gmail.com>
parents: 4628
diff changeset
    32
	install -m644 net/http/*.lua $(SOURCE)/net/http
2224
f2f0f9103c26 Makefile: Fix to install new util/sasl directory
Matthew Wild <mwild1@gmail.com>
parents: 1762
diff changeset
    33
	install -m644 util/*.lua $(SOURCE)/util
f2f0f9103c26 Makefile: Fix to install new util/sasl directory
Matthew Wild <mwild1@gmail.com>
parents: 1762
diff changeset
    34
	install -m644 util/*.so $(SOURCE)/util
f2f0f9103c26 Makefile: Fix to install new util/sasl directory
Matthew Wild <mwild1@gmail.com>
parents: 1762
diff changeset
    35
	install -d $(SOURCE)/util/sasl
f2f0f9103c26 Makefile: Fix to install new util/sasl directory
Matthew Wild <mwild1@gmail.com>
parents: 1762
diff changeset
    36
	install -m644 util/sasl/* $(SOURCE)/util/sasl
4628
087f4b437bd2 Makefile: Use cp instead of install, and make sure the correct umask is set
Kim Alvefur <zash@zash.se>
parents: 4577
diff changeset
    37
	umask 0022 && cp -r plugins/* $(MODULES)
481
29f974ef00a7 More Makefile improvements (install the certificates, and update the config on install to find them)
Matthew Wild <mwild1@gmail.com>
parents: 480
diff changeset
    38
	install -m644 certs/* $(CONFIG)/certs
1464
047ed6e52a41 Added man page for prosodyctl
Dwayne Bent <dbb.0@liqd.org>
parents: 1454
diff changeset
    39
	install -m644 man/prosodyctl.man $(MAN)/man1/prosodyctl.1
501
ea61e191043e Don't overwrite config on make install if it already exists
Matthew Wild <mwild1@gmail.com>
parents: 494
diff changeset
    40
	test -e $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
5472
7c631ef43b11 Makefile: Specify explicit mode when installing prosody.version, to avoid it defaulting to something nasty (executable)
Matthew Wild <mwild1@gmail.com>
parents: 5145
diff changeset
    41
	test -e prosody.version && install -m644 prosody.version $(SOURCE)/prosody.version || true
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    42
	$(MAKE) install -C util-src
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    43
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    44
clean:
467
66f145f5c932 Update Makefile to now pass config paths to prosody. Update prosody, modulemanager and connectionlisteners to obey these paths.
Matthew Wild <mwild1@gmail.com>
parents: 465
diff changeset
    45
	rm -f prosody.install
1090
e47310ca513b Makefile: Process and install prosodyctl
Matthew Wild <mwild1@gmail.com>
parents: 993
diff changeset
    46
	rm -f prosodyctl.install
492
279f64370885 Don't write to prosody.cfg.lua from Makefile. Much apologies to poor albert :(
Matthew Wild <mwild1@gmail.com>
parents: 481
diff changeset
    47
	rm -f prosody.cfg.lua.install
1310
b5a7a9fc9161 Makefile: Experimental support for recording the version of an installed Prosody
Matthew Wild <mwild1@gmail.com>
parents: 1300
diff changeset
    48
	rm -f prosody.version
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    49
	$(MAKE) clean -C util-src
464
f1827353fd58 More Makefile improvements
Matthew Wild <mwild1@gmail.com>
parents: 463
diff changeset
    50
4402
05f8826972ba Makefile: Merge identical rules and some other improvements.
Kim Alvefur <zash@zash.se>
parents: 4396
diff changeset
    51
util/%.so:
464
f1827353fd58 More Makefile improvements
Matthew Wild <mwild1@gmail.com>
parents: 463
diff changeset
    52
	$(MAKE) install -C util-src
467
66f145f5c932 Update Makefile to now pass config paths to prosody. Update prosody, modulemanager and connectionlisteners to obey these paths.
Matthew Wild <mwild1@gmail.com>
parents: 465
diff changeset
    53
4402
05f8826972ba Makefile: Merge identical rules and some other improvements.
Kim Alvefur <zash@zash.se>
parents: 4396
diff changeset
    54
%.install: %
5145
53f741a5a73a configure, Makefile: Allow runtime to be overridden.
Kim Alvefur <zash@zash.se>
parents: 4686
diff changeset
    55
	sed "1s/\blua\b/$(RUNWITH)/; \
53f741a5a73a configure, Makefile: Allow runtime to be overridden.
Kim Alvefur <zash@zash.se>
parents: 4686
diff changeset
    56
		s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \
514
03d7da01843e Change sed usage back into one sed script for incompetent versions of sed
Matthew Wild <mwild1@gmail.com>
parents: 512
diff changeset
    57
		s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|; \
03d7da01843e Change sed usage back into one sed script for incompetent versions of sed
Matthew Wild <mwild1@gmail.com>
parents: 512
diff changeset
    58
		s|^CFG_DATADIR=.*;$$|CFG_DATADIR='$(INSTALLEDDATA)';|; \
4402
05f8826972ba Makefile: Merge identical rules and some other improvements.
Kim Alvefur <zash@zash.se>
parents: 4396
diff changeset
    59
		s|^CFG_PLUGINDIR=.*;$$|CFG_PLUGINDIR='$(INSTALLEDMODULES)/';|;" < $^ > $@
467
66f145f5c932 Update Makefile to now pass config paths to prosody. Update prosody, modulemanager and connectionlisteners to obey these paths.
Matthew Wild <mwild1@gmail.com>
parents: 465
diff changeset
    60
4402
05f8826972ba Makefile: Merge identical rules and some other improvements.
Kim Alvefur <zash@zash.se>
parents: 4396
diff changeset
    61
prosody.cfg.lua.install: prosody.cfg.lua.dist
05f8826972ba Makefile: Merge identical rules and some other improvements.
Kim Alvefur <zash@zash.se>
parents: 4396
diff changeset
    62
	sed 's|certs/|$(INSTALLEDCONFIG)/certs/|' $^ > $@
1090
e47310ca513b Makefile: Process and install prosodyctl
Matthew Wild <mwild1@gmail.com>
parents: 993
diff changeset
    63
4402
05f8826972ba Makefile: Merge identical rules and some other improvements.
Kim Alvefur <zash@zash.se>
parents: 4396
diff changeset
    64
prosody.version: $(wildcard prosody.release .hg/dirstate)
4410
2928a74357c8 Makefile: Fix making of prosody.version
Kim Alvefur <zash@zash.se>
parents: 4406
diff changeset
    65
	test -e .hg/dirstate && \
2928a74357c8 Makefile: Fix making of prosody.version
Kim Alvefur <zash@zash.se>
parents: 4406
diff changeset
    66
		hexdump -n6 -e'6/1 "%02x"' .hg/dirstate > $@ || true
2928a74357c8 Makefile: Fix making of prosody.version
Kim Alvefur <zash@zash.se>
parents: 4406
diff changeset
    67
	test -f prosody.release && \
2928a74357c8 Makefile: Fix making of prosody.version
Kim Alvefur <zash@zash.se>
parents: 4406
diff changeset
    68
		cp prosody.release $@ || true