.PHONY: docker migration dev clean test build-prepare build-js build-css build-font build-go copy-templates copy-images watch-js watch-css watch-templates watch DB_USER=test DB_PASS=test DB_DSN_DEV=postgres://$(DB_USER):$(DB_PASS)@127.0.0.1:5432/dev?sslmode=disable DB_DSN_TEST=postgres://$(DB_USER):$(DB_PASS)@127.0.0.1:5432/test?sslmode=disable MIGRATION=migrate -url '$(DB_DSN_DEV)' MIGRATION_SCHEMA=./sql/migration MIGRATION_TEST_DATA=./sql/dev DOCKER_COMPOSE_FILE=./docker/docker-compose.yml DOCKER_COMPOSE=docker-compose -f $(DOCKER_COMPOSE_FILE) build-prepare: mkdir -p ./build/public/js mkdir -p ./build/public/css mkdir -p ./build/templates mkdir -p ./build/public/img/movies build-js: build-prepare node node_modules/.bin/browserify src/public/js/app.js -o build/public/js/app.js build-css: build-prepare node ./node_modules/.bin/lessc --include-path=./node_modules src/public/less/app.less build/public/css/app.css build-font: build-prepare node ./node_modules/.bin/fontify build-go: build-prepare go build -o ./build/canape src/main.go copy-templates: build-prepare cp -r ./src/templates/* ./build/templates copy-images: build-prepare cp -r ./src/public/img/* ./build/public/img build: build-js build-css build-font copy-templates copy-images build-go watch-js: build-prepare node ./node_modules/.bin/nodemon -e js -w src/public/js/app.js -x 'make build-js' & watch-css: build-prepare node ./node_modules/.bin/nodemon -e less -w src/public/less/app.less -x 'make build-css' & watch-templates: build-prepare node ./node_modules/.bin/nodemon -e tmpl -w src/templates -x 'make copy-templates' & watch-images: build-prepare node ./node_modules/.bin/nodemon -e jpg,png -w src/public/img -x 'make copy-images' & watch-go: build-prepare CONFIG_FILE="./config.yml" fresh -c fresh.conf watch: watch-js watch-css watch-templates watch-images watch-go docker: $(DOCKER_COMPOSE) up -d sleep 4 migration-schema: docker $(MIGRATION) -path $(MIGRATION_SCHEMA) up migration-dev-data: docker migration-schema $(MIGRATION) -path $(MIGRATION_TEST_DATA) up migration: migration-schema migration-dev-data dev: docker migration build-font watch clean: -rm -r ./build $(DOCKER_COMPOSE) stop $(DOCKER_COMPOSE) rm --force -v test: docker POSTGRES_DSN="$(DB_DSN_TEST)" go test -v -p=1 ./...