Diff

Makefile @ 7682:e07116c0df77

Makefile: Refactor all uses of the install command with variables, allowing them to be overridden
author Kim Alvefur <zash@zash.se>
date Sat, 01 Oct 2016 01:46:43 +0200
parent 7681:2f2f93661d8b
child 7683:7356bf4425f4
line wrap: on
line diff
--- a/Makefile	Sat Oct 01 01:39:46 2016 +0200
+++ b/Makefile	Sat Oct 01 01:46:43 2016 +0200
@@ -13,6 +13,12 @@
 INSTALLEDMODULES = $(LIBDIR)/prosody/modules
 INSTALLEDDATA = $(DATADIR)
 
+INSTALL=install
+INSTALL_DATA=$(INSTALL) -m644
+INSTALL_EXEC=$(INSTALL) -m755
+MKDIR=install -d
+MKDIR_PRIVATE=$(MKDIR) -m750
+
 .PHONY: all clean install
 
 all: prosody.install prosodyctl.install prosody.cfg.lua.install prosody.version
@@ -22,32 +28,32 @@
 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 -m755 ./prosody.install $(BIN)/prosody
-	install -m755 ./prosodyctl.install $(BIN)/prosodyctl
-	install -m644 core/*.lua $(SOURCE)/core
-	install -m644 net/*.lua $(SOURCE)/net
-	install -d $(SOURCE)/net/http $(SOURCE)/net/websocket
-	install -m644 net/http/*.lua $(SOURCE)/net/http
-	install -m644 net/websocket/*.lua $(SOURCE)/net/websocket
-	install -m644 util/*.lua $(SOURCE)/util
-	install -m644 util/*.so $(SOURCE)/util
-	install -d $(SOURCE)/util/sasl
-	install -m644 util/sasl/*.lua $(SOURCE)/util/sasl
-	install -d $(MODULES)/mod_s2s $(MODULES)/mod_pubsub $(MODULES)/adhoc $(MODULES)/muc
-	install -m644 plugins/*.lua $(MODULES)
-	install -m644 plugins/mod_s2s/*.lua $(MODULES)
-	install -m644 plugins/mod_pubsub/*.lua $(MODULES)
-	install -m644 plugins/adhoc/*.lua $(MODULES)
-	install -m644 plugins/muc/*.lua $(MODULES)
-	install -m644 certs/* $(CONFIG)/certs
-	install -m644 man/prosodyctl.man $(MAN)/man1/prosodyctl.1
-	test -f $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
-	-test -f prosody.version && install -m644 prosody.version $(SOURCE)/prosody.version
+	$(MKDIR) $(BIN) $(CONFIG) $(MODULES) $(SOURCE)
+	$(MKDIR_PRIVATE) $(DATA)
+	$(MKDIR) $(MAN)/man1
+	$(MKDIR) $(CONFIG)/certs
+	$(MKDIR) $(SOURCE)/core $(SOURCE)/net $(SOURCE)/util
+	$(INSTALL_EXEC) ./prosody.install $(BIN)/prosody
+	$(INSTALL_EXEC) ./prosodyctl.install $(BIN)/prosodyctl
+	$(INSTALL_DATA) core/*.lua $(SOURCE)/core
+	$(INSTALL_DATA) net/*.lua $(SOURCE)/net
+	$(MKDIR) $(SOURCE)/net/http $(SOURCE)/net/websocket
+	$(INSTALL_DATA) net/http/*.lua $(SOURCE)/net/http
+	$(INSTALL_DATA) net/websocket/*.lua $(SOURCE)/net/websocket
+	$(INSTALL_DATA) util/*.lua $(SOURCE)/util
+	$(INSTALL_DATA) util/*.so $(SOURCE)/util
+	$(MKDIR) $(SOURCE)/util/sasl
+	$(INSTALL_DATA) util/sasl/*.lua $(SOURCE)/util/sasl
+	$(MKDIR) $(MODULES)/mod_s2s $(MODULES)/mod_pubsub $(MODULES)/adhoc $(MODULES)/muc
+	$(INSTALL_DATA) plugins/*.lua $(MODULES)
+	$(INSTALL_DATA) plugins/mod_s2s/*.lua $(MODULES)
+	$(INSTALL_DATA) plugins/mod_pubsub/*.lua $(MODULES)
+	$(INSTALL_DATA) plugins/adhoc/*.lua $(MODULES)
+	$(INSTALL_DATA) plugins/muc/*.lua $(MODULES)
+	$(INSTALL_DATA) certs/* $(CONFIG)/certs
+	$(INSTALL_DATA) man/prosodyctl.man $(MAN)/man1/prosodyctl.1
+	test -f $(CONFIG)/prosody.cfg.lua || $(INSTALL_DATA) prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
+	-test -f prosody.version && $(INSTALL_DATA) prosody.version $(SOURCE)/prosody.version
 	$(MAKE) install -C util-src
 
 clean: