From 8953561798e1eec6731935c578fd212289a72f01 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 5 Dec 2017 09:13:35 -0200 Subject: Basic module manages global Makefile --- share/templater/basic/files/Makefile | 47 ++++++++++++++++++++++++++++++++ share/templater/basic/setup | 4 +++ share/templater/templater/files/Makefile | 47 -------------------------------- 3 files changed, 51 insertions(+), 47 deletions(-) create mode 100644 share/templater/basic/files/Makefile delete mode 100644 share/templater/templater/files/Makefile (limited to 'share') diff --git a/share/templater/basic/files/Makefile b/share/templater/basic/files/Makefile new file mode 100644 index 0000000..6dbbd98 --- /dev/null +++ b/share/templater/basic/files/Makefile @@ -0,0 +1,47 @@ +# +# Global Makefile - https://templater.fluxo.info +# +# This Makefile contains basic, common targets and also includes +# any Makefile.* available in the current folder. +# + +# Port to serve content +HTTP_PORT="8000" +HTTP_SERVER="SimpleHTTPServer" + +# Set CONTAINER based in what we have available in the system +# This variable can be user in other, included Makefiles to handle virtualization tasks +ifeq ($(shell which kvmx > /dev/null && test -s kvmxfile && echo yes), yes) + CONTAINER = kvmx +else ifeq ($(shell which vagrant > /dev/null && test -s Vagrantfile && echo yes), yes) + CONTAINER = vagrant +else ifeq ($(shell which docker > /dev/null && test -s Dockerfile && echo yes), yes) + CONTAINER = docker +else + CONTAINER = '' +endif + +# See http://unix.stackexchange.com/questions/32182/simple-command-line-http-server#32200 +# http://php.net/manual/en/features.commandline.webserver.php +serve: + @if [ "$(HTTP_SERVER)" = "SimpleHTTPServer" ]; then python -m SimpleHTTPServer $(HTTP_PORT); fi + @if [ "$(HTTP_SERVER)" = "ssi_server" ]; then PYTHONDONTWRITEBYTECODE=0 ssi_server.py $(HTTP_PORT); fi + @if [ "$(HTTP_SERVER)" = "http.server" ]; then python3 -m http.server $(HTTP_PORT); fi + @if [ "$(HTTP_SERVER)" = "php" ]; then php -S localhost:$(HTTP_PORT); fi + +# Configure a git post-receive hook +post_receive: + git config receive.denyCurrentBranch ignore + test -s bin/post-receive && cd .git/hooks && ln -sf ../../bin/post-receive + +# Process any other Makefile whose filename matches Makefile.* +# See https://www.gnu.org/software/make/manual/html_node/Include.html +# +# Some of those files might even contain local customizations/overrides +# that can be .gitignore'd, like a Makefile.local for example. +-include Makefile.* + +# Customization examples can be as simple as setting variables: +#CONTAINER = vagrant +#CONTAINER = docker +#DESTDIR ?= vendor diff --git a/share/templater/basic/setup b/share/templater/basic/setup index b90f5b2..e0a85a8 100755 --- a/share/templater/basic/setup +++ b/share/templater/basic/setup @@ -24,6 +24,10 @@ function templater_basic { #echo "* Nothing here? :P" >> TODO.md touch ChangeLog + + if [ ! -e 'Makefile' ]; then + cp $SHARE/basic/files/Makefile . + fi else templater_echo "Basic files already set" fi diff --git a/share/templater/templater/files/Makefile b/share/templater/templater/files/Makefile deleted file mode 100644 index 6dbbd98..0000000 --- a/share/templater/templater/files/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# -# Global Makefile - https://templater.fluxo.info -# -# This Makefile contains basic, common targets and also includes -# any Makefile.* available in the current folder. -# - -# Port to serve content -HTTP_PORT="8000" -HTTP_SERVER="SimpleHTTPServer" - -# Set CONTAINER based in what we have available in the system -# This variable can be user in other, included Makefiles to handle virtualization tasks -ifeq ($(shell which kvmx > /dev/null && test -s kvmxfile && echo yes), yes) - CONTAINER = kvmx -else ifeq ($(shell which vagrant > /dev/null && test -s Vagrantfile && echo yes), yes) - CONTAINER = vagrant -else ifeq ($(shell which docker > /dev/null && test -s Dockerfile && echo yes), yes) - CONTAINER = docker -else - CONTAINER = '' -endif - -# See http://unix.stackexchange.com/questions/32182/simple-command-line-http-server#32200 -# http://php.net/manual/en/features.commandline.webserver.php -serve: - @if [ "$(HTTP_SERVER)" = "SimpleHTTPServer" ]; then python -m SimpleHTTPServer $(HTTP_PORT); fi - @if [ "$(HTTP_SERVER)" = "ssi_server" ]; then PYTHONDONTWRITEBYTECODE=0 ssi_server.py $(HTTP_PORT); fi - @if [ "$(HTTP_SERVER)" = "http.server" ]; then python3 -m http.server $(HTTP_PORT); fi - @if [ "$(HTTP_SERVER)" = "php" ]; then php -S localhost:$(HTTP_PORT); fi - -# Configure a git post-receive hook -post_receive: - git config receive.denyCurrentBranch ignore - test -s bin/post-receive && cd .git/hooks && ln -sf ../../bin/post-receive - -# Process any other Makefile whose filename matches Makefile.* -# See https://www.gnu.org/software/make/manual/html_node/Include.html -# -# Some of those files might even contain local customizations/overrides -# that can be .gitignore'd, like a Makefile.local for example. --include Makefile.* - -# Customization examples can be as simple as setting variables: -#CONTAINER = vagrant -#CONTAINER = docker -#DESTDIR ?= vendor -- cgit v1.2.3