diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bef37ef --- /dev/null +++ b/Makefile @@ -0,0 +1,54 @@ +PATH := vendor/bin:node_modules/.bin:$(PATH) +GIT_VERSION := $(shell git --no-pager describe --always --tags) + +js_sources := $(wildcard src/*.js) +js_bundles := $(js_sources:src/%.js=assets/js/%.bundle.js) +zip_release := $(GIT_VERSION:%=dist/w_cms_%.zip) + +all: php_dependencies $(js_bundles) + +dist: distclean $(zip_release) + +dist/w_cms_%.zip: all + @echo "Building Zip release..." + mkdir -p $(dir $@) + git archive --format=zip HEAD -o $@ + zip -d $@ \ + "src*" \ + .gitignore \ + composer.lock \ + Makefile \ + "package*" \ + webpack.config.js + zip -r $@ \ + assets/js \ + vendor \ + -x "*test*" \ + -x "*docs*" + +assets/js/%.bundle.js: src/%.js js_dependencies + @echo "Building JS Bundles..." + mkdir -p $(dir $@) + webpack --env prod + +php_dependencies: + @echo "Installing PHP dependencies..." + composer install --no-dev --prefer-dist + +php_clean: + @echo "Cleaning PHP..." + rm -rf vendor + +js_dependencies: + @echo "Installing JS dependencies..." + npm install + +js_clean: + @echo "Cleaning JS..." + rm -rf node_modules + rm -rf $(js_bundles) + +clean: php_clean js_clean + +distclean: + rm -rf dist |