GEN = $(addsuffix _gen.go, cover interior pkgid ship status) TEST = $(wildcard *_test.go) SRC = $(filter-out ${GEN} ${TEST}, $(wildcard *.go)) all: build lulu test: testpkg testcli build: .build .build: ${SRC} ${GEN} go build touch $@ ${GEN}: .gen .gen: ${SRC} go generate touch $@ lulu: ${SRC} ${GEN} $(wildcard cmd/lulu/*.go) go build ./cmd/$@ testpkg: .testpkg .testpkg: ${SRC} ${GEN} ${TEST} go test ./... touch $@ testcli: .testcli .testcli: lulu $(wildcard $(addprefix cmd/lulu/, test tests/* testdata/* testchecks/*)) $(eval PATH=$(shell pwd):${PATH}) cd cmd/lulu && ./test touch $@ spec.yml: curl -L -o $@ 'https://api.lulu.com/api-docs/openapi-specs/openapi_public.yml' clean: rm -rf ${GEN} lulu .build .gen .testpkg .testcli cmd/lulu/testerr cmd/lulu/testout .PHONY: all build test testpkg testcli