diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 26 |
1 files changed, 20 insertions, 6 deletions
@@ -22,6 +22,9 @@ override WEBPACK_FLAGS += $(if $(filter $(ENV),dist),-p) override COMPOSER_FLAGS += $(if $(filter $(ENV),dist),--no-dev --prefer-dist) PREV_ENV_FILE := $(build_dir)/prev_env PREV_ENV := $(strip $(shell cat $(PREV_ENV_FILE) 2>/dev/null)) +HOST := localhost +PORT := 8080 +PHP_FLAGS += $(and $(XDEBUG3),-d xdebug.start_with_request=yes) # Files variables. js_sources := $(wildcard $(js_src_dir)/*.js) @@ -35,11 +38,21 @@ dirs := $(phpcs_dir) $(phpunit_dir) # Default target. This executes everything targets needed to get a fully # working development environment. .PHONY: all -all: $(PREV_ENV_FILE) vendor build +all: vendor build # Build generated files. .PHONY: build -build: VERSION $(PREV_ENV_FILE) $(js_bundles) +build: VERSION $(js_bundles) + +.PHONY: dev +dev: ENV := dev +dev: MAKEFLAGS += j2 +dev: + $(MAKE) serve .watch ENV=$(ENV) + +.PHONY: serve +serve: vendor VERSION + php -S $(HOST):$(PORT) -t ./ $(PHP_FLAGS) # Run webpack in watch mode. .PHONY: watch @@ -63,7 +76,7 @@ sentryrelease: $(MAKE) .sentryrelease ENV=$(ENV) .PHONY: .sentryrelease -.sentryrelease: $(PREV_ENV_FILE) build $(js_srcmaps) +.sentryrelease: build $(js_srcmaps) sentry-cli releases new $(GIT_VERSION) sentry-cli releases set-commits $(GIT_VERSION) --auto sentry-cli releases files $(GIT_VERSION) upload-sourcemaps assets/js --url-prefix '~/assets/js' --rewrite @@ -76,7 +89,7 @@ dist: $(MAKE) .dist ENV=$(ENV) .PHONY: .dist -.dist: distclean $(zip_release) $(js_srcmaps) +.dist: distclean $(zip_release) dist/w_cms_%.zip: all @echo Building Zip release... @@ -109,7 +122,7 @@ dist/w_cms_%.zip: all webpack.config.js # Generate the js bundles (and sourcemaps). -assets/js/%.bundle.js assets/js/%.bundle.js.map: $(js_src_dir)/%.js node_modules webpack.config.js +assets/js/%.bundle.js assets/js/%.bundle.js.map: $(js_src_dir)/%.js node_modules webpack.config.js $(PREV_ENV_FILE) @echo Building JS Bundles... mkdir -p $(dir $@) webpack $< -o $@ --env $(ENV) $(WEBPACK_FLAGS) @@ -137,7 +150,7 @@ endif endif # Install PHP dependencies. -vendor: composer.json composer.lock +vendor: $(PREV_ENV_FILE) composer.json composer.lock @echo Installing PHP dependencies... composer install $(COMPOSER_FLAGS) touch $@ @@ -146,6 +159,7 @@ vendor: composer.json composer.lock node_modules: package.json package-lock.json @echo Installing JS dependencies... npm install --loglevel=error --also=dev + touch $@ # Clean files generated by `make all`. .PHONY: clean |