From 681e04b0605d2e526f6adc2f99c2ff8fc9e842a7 Mon Sep 17 00:00:00 2001 From: Olivier Mehani Date: Sat, 18 Aug 2018 15:39:37 +1000 Subject: [PATCH] Makefile fixes for non GNU systems * Move `Makefile` to `GNUmakefile`, which GNU `make` picks first * Add `Makefile` so other `make`s forward to `gmake` * Set the `SHELL` variable and let `make` handle the shell Signed-off-by: Olivier Mehani --- GNUmakefile | 53 +++++++++++++++++++++++++++++++++++++++++++++ Makefile | 54 ++-------------------------------------------- scripts/dev.sh | 0 scripts/install.sh | 0 scripts/release.sh | 0 scripts/require.sh | 0 scripts/update.sh | 0 7 files changed, 55 insertions(+), 52 deletions(-) create mode 100755 GNUmakefile mode change 100755 => 100644 Makefile mode change 100644 => 100755 scripts/dev.sh mode change 100644 => 100755 scripts/install.sh mode change 100644 => 100755 scripts/release.sh mode change 100644 => 100755 scripts/require.sh mode change 100644 => 100755 scripts/update.sh diff --git a/GNUmakefile b/GNUmakefile new file mode 100755 index 000000000..a04468cb1 --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,53 @@ +SHELL=bash +TMP_FOLDER=/tmp +RELEASE_FOLDER=wllbg-release + +ENV ?= prod + +help: ## Display this help menu + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + +clean: ## Clear the application cache + rm -rf var/cache/* + +install: ## Install wallabag with the latest version + @./scripts/install.sh $(ENV) + +update: ## Update the wallabag installation to the latest version + @./scripts/update.sh $(ENV) + +dev: ## Install the latest dev version + @./scripts/dev.sh + +run: ## Run the wallabag built-in server + @php bin/console server:run --env=dev + +build: ## Run webpack + @npm run build:$(ENV) + +prepare: clean ## Prepare database for testsuite +ifdef DB + cp app/config/tests/parameters_test.$(DB).yml app/config/parameters_test.yml +endif + -php bin/console doctrine:database:drop --force --env=test + php bin/console doctrine:database:create --env=test + php bin/console doctrine:migrations:migrate --no-interaction --env=test + +fixtures: ## Load fixtures into database + php bin/console doctrine:fixtures:load --no-interaction --env=test + +test: prepare fixtures ## Launch wallabag testsuite + bin/simple-phpunit -v + +release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`). +ifndef VERSION + $(error VERSION is not set) +endif + @./scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV) + +deploy: ## Deploy wallabag + @bundle exec cap staging deploy + +.PHONY: help clean prepare install fixtures update build test release deploy run dev + +.DEFAULT_GOAL := install diff --git a/Makefile b/Makefile old mode 100755 new mode 100644 index 0f4cbbe80..fefdd017c --- a/Makefile +++ b/Makefile @@ -1,52 +1,2 @@ -TMP_FOLDER=/tmp -RELEASE_FOLDER=wllbg-release - -ENV ?= prod - -help: ## Display this help menu - @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' - -clean: ## Clear the application cache - rm -rf var/cache/* - -install: ## Install wallabag with the latest version - @sh scripts/install.sh $(ENV) - -update: ## Update the wallabag installation to the latest version - @sh scripts/update.sh $(ENV) - -dev: ## Install the latest dev version - @sh scripts/dev.sh - -run: ## Run the wallabag built-in server - @php bin/console server:run --env=dev - -build: ## Run webpack - @npm run build:$(ENV) - -prepare: clean ## Prepare database for testsuite -ifdef DB - cp app/config/tests/parameters_test.$(DB).yml app/config/parameters_test.yml -endif - -php bin/console doctrine:database:drop --force --env=test - php bin/console doctrine:database:create --env=test - php bin/console doctrine:migrations:migrate --no-interaction --env=test - -fixtures: ## Load fixtures into database - php bin/console doctrine:fixtures:load --no-interaction --env=test - -test: prepare fixtures ## Launch wallabag testsuite - bin/simple-phpunit -v - -release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`). -ifndef VERSION - $(error VERSION is not set) -endif - @sh scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV) - -deploy: ## Deploy wallabag - @bundle exec cap staging deploy - -.PHONY: help clean prepare install fixtures update build test release deploy run dev - -.DEFAULT_GOAL := install +.DEFAULT: + gmake $@ diff --git a/scripts/dev.sh b/scripts/dev.sh old mode 100644 new mode 100755 diff --git a/scripts/install.sh b/scripts/install.sh old mode 100644 new mode 100755 diff --git a/scripts/release.sh b/scripts/release.sh old mode 100644 new mode 100755 diff --git a/scripts/require.sh b/scripts/require.sh old mode 100644 new mode 100755 diff --git a/scripts/update.sh b/scripts/update.sh old mode 100644 new mode 100755