GNUmakefile
author Matthew Wild <mwild1@gmail.com>
Wed, 27 Mar 2024 15:35:15 +0000
branch0.12
changeset 13469 54a936345aaa
parent 12366 0fd58f54d653
child 12469 4a087713cffe
permissions -rw-r--r--
prosodyctl check: Warn about invalid domain names in the config file This ensures that domain names of virtual hosts and components are valid in XMPP, and that they are encoded correctly.
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)
6577
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 6044
diff changeset
     6
MODULES = $(DESTDIR)$(LIBDIR)/prosody/modules
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 6044
diff changeset
     7
SOURCE = $(DESTDIR)$(LIBDIR)/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
6577
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 6044
diff changeset
    11
INSTALLEDSOURCE = $(LIBDIR)/prosody
480
5d00d623904e Update Makefile to set correct paths on install with Debian package
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
    12
INSTALLEDCONFIG = $(SYSCONFDIR)
6577
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 6044
diff changeset
    13
INSTALLEDMODULES = $(LIBDIR)/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
7686
7356bf4425f4 Makefile: Preserve timestamps of installed files (fixes #547)
Kim Alvefur <zash@zash.se>
parents: 7685
diff changeset
    16
INSTALL=install -p
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    17
INSTALL_DATA=$(INSTALL) -m644
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    18
INSTALL_EXEC=$(INSTALL) -m755
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    19
MKDIR=install -d
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    20
MKDIR_PRIVATE=$(MKDIR) -m750
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    21
9290
420e0bf55bf5 GNUmakefile: Allow overriding path to luacheck
Kim Alvefur <zash@zash.se>
parents: 8826
diff changeset
    22
LUACHECK=luacheck
9291
1330b5290a10 GNUmakefile: Allow overriding path to busted
Kim Alvefur <zash@zash.se>
parents: 9290
diff changeset
    23
BUSTED=busted
9783
0b04099b49de GNUmakefile: Add target for running scansion
Kim Alvefur <zash@zash.se>
parents: 9432
diff changeset
    24
SCANSION=scansion
9290
420e0bf55bf5 GNUmakefile: Allow overriding path to luacheck
Kim Alvefur <zash@zash.se>
parents: 8826
diff changeset
    25
8615
1f2fb8070c7c GNUMakefile: Add 'coverage' target (requires luacov and luacov-console)
Matthew Wild <mwild1@gmail.com>
parents: 8595
diff changeset
    26
.PHONY: all test coverage clean install
4396
03b59a511671 Makefile, util-src/Makefile: Add .PHONY, reorganise util-src/Makefile
Matthew Wild <mwild1@gmail.com>
parents: 3266
diff changeset
    27
1310
b5a7a9fc9161 Makefile: Experimental support for recording the version of an installed Prosody
Matthew Wild <mwild1@gmail.com>
parents: 1300
diff changeset
    28
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
    29
	$(MAKE) -C util-src install
5933
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5924
diff changeset
    30
ifeq ($(EXCERTS),yes)
6888
07078f762061 Makefile: Use hypen to tell Make when to ignore errors
Kim Alvefur <zash@zash.se>
parents: 6887
diff changeset
    31
	-$(MAKE) -C certs localhost.crt example.com.crt
5933
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5924
diff changeset
    32
endif
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    33
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    34
install-etc: prosody.cfg.lua.install
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    35
	$(MKDIR) $(CONFIG)
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    36
	$(MKDIR) $(CONFIG)/certs
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    37
	$(INSTALL_DATA) certs/* $(CONFIG)/certs
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    38
	test -f $(CONFIG)/prosody.cfg.lua || $(INSTALL_DATA) prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
12358
3ce3633527af util.struct: Import Roberto 'struct' library v0.3
Matthew Wild <mwild1@gmail.com>
parents: 12135
diff changeset
    39
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    40
install-bin: prosody.install prosodyctl.install
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    41
	$(MKDIR) $(BIN)
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    42
	$(INSTALL_EXEC) ./prosody.install $(BIN)/prosody
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    43
	$(INSTALL_EXEC) ./prosodyctl.install $(BIN)/prosodyctl
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    44
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    45
install-core:
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    46
	$(MKDIR) $(SOURCE)
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    47
	$(MKDIR) $(SOURCE)/core
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    48
	$(INSTALL_DATA) core/*.lua $(SOURCE)/core
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    49
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    50
install-net:
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    51
	$(MKDIR) $(SOURCE)
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    52
	$(MKDIR) $(SOURCE)/net
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    53
	$(INSTALL_DATA) net/*.lua $(SOURCE)/net
8557
12a68e0d0ecf Makefile: Also package /net/resolvers
Michel Le Bihan <michel@lebihan.pl>
parents: 8349
diff changeset
    54
	$(MKDIR) $(SOURCE)/net/http $(SOURCE)/net/resolvers $(SOURCE)/net/websocket
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    55
	$(INSTALL_DATA) net/http/*.lua $(SOURCE)/net/http
8557
12a68e0d0ecf Makefile: Also package /net/resolvers
Michel Le Bihan <michel@lebihan.pl>
parents: 8349
diff changeset
    56
	$(INSTALL_DATA) net/resolvers/*.lua $(SOURCE)/net/resolvers
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    57
	$(INSTALL_DATA) net/websocket/*.lua $(SOURCE)/net/websocket
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    58
12366
0fd58f54d653 Merge config-updates+check-turn from timber
Matthew Wild <mwild1@gmail.com>
parents: 12317 12358
diff changeset
    59
install-util: util/encodings.so util/encodings.so util/pposix.so util/signal.so util/struct.so
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    60
	$(MKDIR) $(SOURCE)
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    61
	$(MKDIR) $(SOURCE)/util
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    62
	$(INSTALL_DATA) util/*.lua $(SOURCE)/util
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    63
	$(MAKE) install -C util-src
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    64
	$(INSTALL_DATA) util/*.so $(SOURCE)/util
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    65
	$(MKDIR) $(SOURCE)/util/sasl
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    66
	$(INSTALL_DATA) util/sasl/*.lua $(SOURCE)/util/sasl
10885
0abd38e4ff3c GNUmakefile: Install util.human.*
Kim Alvefur <zash@zash.se>
parents: 10883
diff changeset
    67
	$(MKDIR) $(SOURCE)/util/human
0abd38e4ff3c GNUmakefile: Install util.human.*
Kim Alvefur <zash@zash.se>
parents: 10883
diff changeset
    68
	$(INSTALL_DATA) util/human/*.lua $(SOURCE)/util/human
10886
1999bb052d49 GNUmakefile: Install the new util/prosodyctl/* too (thanks pascal.pascher)
Kim Alvefur <zash@zash.se>
parents: 10885
diff changeset
    69
	$(MKDIR) $(SOURCE)/util/prosodyctl
1999bb052d49 GNUmakefile: Install the new util/prosodyctl/* too (thanks pascal.pascher)
Kim Alvefur <zash@zash.se>
parents: 10885
diff changeset
    70
	$(INSTALL_DATA) util/prosodyctl/*.lua $(SOURCE)/util/prosodyctl
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    71
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    72
install-plugins:
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    73
	$(MKDIR) $(MODULES)
10883
5c7bb2440f53 mod_s2s: Move out of empty directory
Kim Alvefur <zash@zash.se>
parents: 10264
diff changeset
    74
	$(MKDIR) $(MODULES)/mod_pubsub $(MODULES)/adhoc $(MODULES)/muc $(MODULES)/mod_mam
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    75
	$(INSTALL_DATA) plugins/*.lua $(MODULES)
7692
97c013e8f002 Makefile: Fix installing modules into their correct subdirectories (thanks mimi89999)
Kim Alvefur <zash@zash.se>
parents: 7686
diff changeset
    76
	$(INSTALL_DATA) plugins/mod_pubsub/*.lua $(MODULES)/mod_pubsub
97c013e8f002 Makefile: Fix installing modules into their correct subdirectories (thanks mimi89999)
Kim Alvefur <zash@zash.se>
parents: 7686
diff changeset
    77
	$(INSTALL_DATA) plugins/adhoc/*.lua $(MODULES)/adhoc
97c013e8f002 Makefile: Fix installing modules into their correct subdirectories (thanks mimi89999)
Kim Alvefur <zash@zash.se>
parents: 7686
diff changeset
    78
	$(INSTALL_DATA) plugins/muc/*.lua $(MODULES)/muc
7882
5d0175d3ecf4 Makefile: Install mod_mam (fixes #825)
Kim Alvefur <zash@zash.se>
parents: 7793
diff changeset
    79
	$(INSTALL_DATA) plugins/mod_mam/*.lua $(MODULES)/mod_mam
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    80
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    81
install-man:
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    82
	$(MKDIR) $(MAN)/man1
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    83
	$(INSTALL_DATA) man/prosodyctl.man $(MAN)/man1/prosodyctl.1
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    84
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    85
install-meta:
7685
e07116c0df77 Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
Kim Alvefur <zash@zash.se>
parents: 7684
diff changeset
    86
	-test -f prosody.version && $(INSTALL_DATA) prosody.version $(SOURCE)/prosody.version
12317
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    87
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    88
install-data:
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    89
	$(MKDIR_PRIVATE) $(DATA)
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    90
469e4453ed01 make: Split up install targets to allow different subset
Kim Alvefur <zash@zash.se>
parents: 12135
diff changeset
    91
install: install-util install-net install-core install-plugins install-bin install-etc install-man install-meta install-data
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    92
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    93
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
    94
	rm -f prosody.install
1090
e47310ca513b Makefile: Process and install prosodyctl
Matthew Wild <mwild1@gmail.com>
parents: 993
diff changeset
    95
	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
    96
	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
    97
	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
    98
	$(MAKE) clean -C util-src
464
f1827353fd58 More Makefile improvements
Matthew Wild <mwild1@gmail.com>
parents: 463
diff changeset
    99
7074
d9e620adfb64 Makefile: Add 'test' target that runs tests
Kim Alvefur <zash@zash.se>
parents: 6910
diff changeset
   100
test:
9291
1330b5290a10 GNUmakefile: Allow overriding path to busted
Kim Alvefur <zash@zash.se>
parents: 9290
diff changeset
   101
	$(BUSTED) --lua=$(RUNWITH)
7074
d9e620adfb64 Makefile: Add 'test' target that runs tests
Kim Alvefur <zash@zash.se>
parents: 6910
diff changeset
   102
11125
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   103
test-%:
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   104
	$(BUSTED) --lua=$(RUNWITH) -r $*
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   105
9783
0b04099b49de GNUmakefile: Add target for running scansion
Kim Alvefur <zash@zash.se>
parents: 9432
diff changeset
   106
integration-test: all
10264
d6b9cacfef76 Prepare required data folder for integration tests
Maxime “pep” Buquet <pep@bouah.net>
parents: 9811
diff changeset
   107
	$(MKDIR) data
9783
0b04099b49de GNUmakefile: Add target for running scansion
Kim Alvefur <zash@zash.se>
parents: 9432
diff changeset
   108
	$(RUNWITH) prosodyctl --config ./spec/scansion/prosody.cfg.lua start
9811
dcc85d72d5b3 GNUmakefile: Stop Prosody in case of failure in integration-test
Kim Alvefur <zash@zash.se>
parents: 9783
diff changeset
   109
	$(SCANSION) -d ./spec/scansion; R=$$? \
dcc85d72d5b3 GNUmakefile: Stop Prosody in case of failure in integration-test
Kim Alvefur <zash@zash.se>
parents: 9783
diff changeset
   110
	$(RUNWITH) prosodyctl --config ./spec/scansion/prosody.cfg.lua stop \
dcc85d72d5b3 GNUmakefile: Stop Prosody in case of failure in integration-test
Kim Alvefur <zash@zash.se>
parents: 9783
diff changeset
   111
	exit $$R
9783
0b04099b49de GNUmakefile: Add target for running scansion
Kim Alvefur <zash@zash.se>
parents: 9432
diff changeset
   112
11125
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   113
integration-test-%: all
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   114
	$(MKDIR) data
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   115
	$(RUNWITH) prosodyctl --config ./spec/scansion/prosody.cfg.lua start
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   116
	$(SCANSION) ./spec/scansion/$*.scs; R=$$? \
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   117
	$(RUNWITH) prosodyctl --config ./spec/scansion/prosody.cfg.lua stop \
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   118
	exit $$R
2d38242a08dd make: Add way to run individual tests
Kim Alvefur <zash@zash.se>
parents: 10886
diff changeset
   119
8615
1f2fb8070c7c GNUMakefile: Add 'coverage' target (requires luacov and luacov-console)
Matthew Wild <mwild1@gmail.com>
parents: 8595
diff changeset
   120
coverage:
1f2fb8070c7c GNUMakefile: Add 'coverage' target (requires luacov and luacov-console)
Matthew Wild <mwild1@gmail.com>
parents: 8595
diff changeset
   121
	-rm -- luacov.*
9432
5f51710d7c1e make coverage: Allow overriding path to busted
Kim Alvefur <zash@zash.se>
parents: 9426
diff changeset
   122
	$(BUSTED) --lua=$(RUNWITH) -c
8615
1f2fb8070c7c GNUMakefile: Add 'coverage' target (requires luacov and luacov-console)
Matthew Wild <mwild1@gmail.com>
parents: 8595
diff changeset
   123
	luacov
1f2fb8070c7c GNUMakefile: Add 'coverage' target (requires luacov and luacov-console)
Matthew Wild <mwild1@gmail.com>
parents: 8595
diff changeset
   124
	luacov-console
1f2fb8070c7c GNUMakefile: Add 'coverage' target (requires luacov and luacov-console)
Matthew Wild <mwild1@gmail.com>
parents: 8595
diff changeset
   125
	luacov-console -s
8785
daa518a22c34 GNUMakefile: Add note about how to list coverage of individual files
Matthew Wild <mwild1@gmail.com>
parents: 8615
diff changeset
   126
	@echo "To inspect individual files run: luacov-console -l FILENAME"
8615
1f2fb8070c7c GNUMakefile: Add 'coverage' target (requires luacov and luacov-console)
Matthew Wild <mwild1@gmail.com>
parents: 8595
diff changeset
   127
8801
505722879b55 GNUmakefile: Add 'lint' target
Matthew Wild <mwild1@gmail.com>
parents: 8785
diff changeset
   128
lint:
9292
b5fc11475b5d GNUmakefile: Tell Mercurial to behave consistenly
Kim Alvefur <zash@zash.se>
parents: 9291
diff changeset
   129
	$(LUACHECK) -q $$(HGPLAIN= hg files -I '**.lua') prosody prosodyctl
9419
15cd0d9cde7c make lint: Fix 'ignored files' count
Matthew Wild <mwild1@gmail.com>
parents: 9292
diff changeset
   130
	@echo $$(sed -n '/^\tlocal exclude_files/,/^}/p;' .luacheckrc | sed '1d;$d' | wc -l) files ignored
9426
d4e8aedc0f82 make lint: Add shellcheck of configure script
Matthew Wild <mwild1@gmail.com>
parents: 9419
diff changeset
   131
	shellcheck configure
8801
505722879b55 GNUmakefile: Add 'lint' target
Matthew Wild <mwild1@gmail.com>
parents: 8785
diff changeset
   132
11467
21523e3d395e make: Magic trick for teal-src/*.tl -> ./*.lua
Kim Alvefur <zash@zash.se>
parents: 11437
diff changeset
   133
vpath %.tl teal-src/
21523e3d395e make: Magic trick for teal-src/*.tl -> ./*.lua
Kim Alvefur <zash@zash.se>
parents: 11437
diff changeset
   134
%.lua: %.tl
11437
bef67691a713 make: Add target for building Teal sources
Kim Alvefur <zash@zash.se>
parents: 11125
diff changeset
   135
	tl -I teal-src/ --gen-compat off --gen-target 5.1 gen $^ -o $@
bef67691a713 make: Add target for building Teal sources
Kim Alvefur <zash@zash.se>
parents: 11125
diff changeset
   136
	-lua-format -i $@
bef67691a713 make: Add target for building Teal sources
Kim Alvefur <zash@zash.se>
parents: 11125
diff changeset
   137
12135
b4c0efff8dd3 util.jsonpointer: Resolve JSON Pointers per RFC 6901
Kim Alvefur <zash@zash.se>
parents: 12134
diff changeset
   138
teal: util/jsonschema.lua util/datamapper.lua util/jsonpointer.lua
12134
c4ca226ff386 make: Add target for rebuilding from Teal sources
Kim Alvefur <zash@zash.se>
parents: 11467
diff changeset
   139
4402
05f8826972ba Makefile: Merge identical rules and some other improvements.
Kim Alvefur <zash@zash.se>
parents: 4396
diff changeset
   140
util/%.so:
464
f1827353fd58 More Makefile improvements
Matthew Wild <mwild1@gmail.com>
parents: 463
diff changeset
   141
	$(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
   142
4402
05f8826972ba Makefile: Merge identical rules and some other improvements.
Kim Alvefur <zash@zash.se>
parents: 4396
diff changeset
   143
%.install: %
6044
1ce05d38d1bb Makefile: Change sed regex to be compatible with FreeBSD's odd sed, and change / to | to allow paths to be used in RUNWITH (thanks Ben)
Matthew Wild <mwild1@gmail.com>
parents: 5933
diff changeset
   144
	sed "1s| lua$$| $(RUNWITH)|; \
5145
53f741a5a73a configure, Makefile: Allow runtime to be overridden.
Kim Alvefur <zash@zash.se>
parents: 4686
diff changeset
   145
		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
   146
		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
   147
		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
   148
		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
   149
4402
05f8826972ba Makefile: Merge identical rules and some other improvements.
Kim Alvefur <zash@zash.se>
parents: 4396
diff changeset
   150
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
   151
	sed 's|certs/|$(INSTALLEDCONFIG)/certs/|' $^ > $@
1090
e47310ca513b Makefile: Process and install prosodyctl
Matthew Wild <mwild1@gmail.com>
parents: 993
diff changeset
   152
6886
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   153
%.version: %.release
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   154
	cp $^ $@
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   155
6887
e32275ed5632 Makefile: Support generating prosody.version from hg archive metadata file
Kim Alvefur <zash@zash.se>
parents: 6886
diff changeset
   156
%.version: .hg_archival.txt
e32275ed5632 Makefile: Support generating prosody.version from hg archive metadata file
Kim Alvefur <zash@zash.se>
parents: 6886
diff changeset
   157
	sed -n 's/^node: \(............\).*/\1/p' $^ > $@
e32275ed5632 Makefile: Support generating prosody.version from hg archive metadata file
Kim Alvefur <zash@zash.se>
parents: 6886
diff changeset
   158
6886
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   159
%.version: .hg/dirstate
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   160
	hexdump -n6 -e'6/1 "%02x"' $^ > $@
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   161
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   162
%.version:
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   163
	echo unknown > $@
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   164
954a8a8c46d6 Makefile: Simplify generation of prosody.version using magic Make magic
Kim Alvefur <zash@zash.se>
parents: 6843
diff changeset
   165