PACKAGES=`find ./pkg -mindepth 1 -maxdepth 1 -type d`
BINARIES=`find ./cmd -mindepth 1 -maxdepth 1 -type d`

clean:
	rm -f clock

clock: clean
	go build -ldflags "-w -s" ./cmd/clock

deploy: clean
	GOOS=linux go build -ldflags "-w -s" ./cmd/clock
	sls deploy -v

lint:
	goimports -l $(PACKAGES) $(BINARIES)
	gofmt -l $(PACKAGES) $(BINARIES)
	errcheck $(PACKAGES) $(BINARIES)
	golint $(PACKAGES) $(BINARIES)
	go vet $(PACKAGES) $(BINARIES)

test: lint
	for p in $(PACKAGES) $(BINARIES); do go test -race -covermode=atomic $${p}; done

deps:
	@echo "Updating dependencies..."
	dep ensure -update
	@echo "Dependency versions:"
	@dep status
	@echo "Remember: git add vendor/"
