TODOs left: reimplement clean and help, sync static,well-known and assets between services
52 lines
2.0 KiB
Makefile
52 lines
2.0 KiB
Makefile
export CPU_CORES = $(shell cat /proc/cpuinfo | grep '^processor' | wc -l)
|
|
export STACK_CORES = $(shell echo $(($(CPU_CORES)/2)))
|
|
|
|
ifeq ($(PROD),true)
|
|
export --DEVELOPMENT=--flag uniworx:-dev
|
|
else
|
|
export --DEVELOPMENT=--flag uniworx:dev
|
|
endif
|
|
|
|
.PHONY: dependencies
|
|
dependencies:
|
|
chown -R `id -un`:`id -gn` "$(PROJECT_DIR)"; \
|
|
stack install hpack; stack install yesod-bin; \
|
|
stack build -j2 --only-dependencies
|
|
|
|
.PHONY: compile
|
|
compile: dependencies
|
|
stack build $(STACK_CORES) --fast --profile --library-profiling --executable-profiling --flag uniworx:-library-only $(--DEVELOPMENT) --local-bin-path $$(pwd)/bin --copy-bins
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
stack build $(STACK_CORES) --test --fast --flag uniworx:library-only $(--DEVELOPMENT) uniworx:test:hlint
|
|
|
|
.PHONY: test
|
|
test:
|
|
stack build $(STACK_CORES) --test --coverage --fast --flag uniworx:library-only $(--DEVELOPMENT)
|
|
|
|
# For Reverse Proxy Problem see: https://groups.google.com/g/yesodweb/c/2EO53kSOuy0/m/Lw6tq2VYat4J
|
|
.PHONY: start
|
|
start: dependencies
|
|
export YESOD_IP_FROM_HEADER=true; \
|
|
export DEV_PORT_HTTP=3000; \
|
|
export DEV_PORT_HTTPS=3443; \
|
|
export HOST=127.0.0.1 ; \
|
|
export PORT=$${PORT:-$${DEV_PORT_HTTP}} ; \
|
|
export DETAILED_LOGGING=$${DETAILED_LOGGING:-true} ; \
|
|
export LOG_ALL=$${LOG_ALL:-false} ; \
|
|
export LOGLEVEL=$${LOGLEVEL:-info} ; \
|
|
export DUMMY_LOGIN=$${DUMMY_LOGIN:-true} ; \
|
|
export SERVER_SESSION_ACID_FALLBACK=$${SERVER_SESSION_ACID_FALLBACK:-true} ; \
|
|
export SERVER_SESSION_COOKIES_SECURE=$${SERVER_SESSION_COOKIES_SECURE:-false} ; \
|
|
export COOKIES_SECURE=$${COOKIES_SECURE:-false} ; \
|
|
export ALLOW_DEPRECATED=$${ALLOW_DEPRECATED:-true} ; \
|
|
export ENCRYPT_ERRORS=$${ENCRYPT_ERRORS:-false} ; \
|
|
export RIBBON=$${RIBBON:-$${HOST:-localhost}} ; \
|
|
export APPROOT=$${APPROOT:-http://localhost:$${DEV_PORT_HTTP}} ; \
|
|
export AVSPASS=$${AVSPASS:-nopasswordset} ; \
|
|
stack $(STACK_CORES) exec --local-bin-path $$(pwd)/bin --copy-bins -- yesod devel -p "$${DEV_PORT_HTTP}" -q "$${DEV_PORT_HTTPS}"
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf .stack-work .stack uniworx.cabal .ghc
|