haskell-cron-matcher/Makefile
2020-06-21 11:23:12 +03:00

48 lines
843 B
Makefile

app_name := haskell-cron-matcher
container_work_dir := /app
cache_dir := ${container_work_dir}/.stack-work
uid := $(shell id -u)
gid := $(shell id -g)
stack := docker run \
--rm \
--tty \
--init \
--user "${uid}:${gid}" \
--volume "${PWD}:${container_work_dir}" \
--env "STACK_ROOT=${cache_dir}" \
--workdir "${container_work_dir}" \
fpco/stack-build:lts-15.16
hfmt := docker run \
--rm \
--tty \
--init \
--user "${uid}:${gid}" \
--volume "${PWD}:${container_work_dir}" \
--workdir "${container_work_dir}" \
anwinged/hfmt:master
# Targets
.PHONY: build
build:
mkdir -p .stack-work
${stack} stack build
.PHONY: test
test:
mkdir -p .stack-work
${stack} stack test
.PHONY: test-with-coverage
test-with-coverage:
mkdir -p .stack-work
${stack} stack test --coverage
.PHONY: format
format:
${hfmt} -w app/ src/ test/