.PHONY: clean
clean:
	rm -rf bin/*

.PHONY: build
build:
	GOOS=darwin GOARCH=amd64 go build -v -o bin/spotify-partneremails-ingest_darwin-amd64 cmd/lambda/lambda.go
	GOOS=linux GOARCH=amd64 go build -v -o bin/spotify-partneremails-ingest_linux-amd64 cmd/lambda/lambda.go

.PHONY: docker/build/linux
docker/build/linux:
	docker build --build-arg GOOS=linux -t spotify-partneremails-ingest:linux -f Dockerfile .
	CONTAINER_ID=$$(docker create spotify-partneremails-ingest:linux | tr -d '\n');\
	docker cp $$CONTAINER_ID:/usr/src/bin/main_linux-amd64 bin/main &&\
	docker rm -v $$CONTAINER_ID

.PHONY: docker/build/darwin
docker/build/darwin:
	docker build --build-arg GOOS=darwin -t spotify-partneremails-ingest:darwin -f Dockerfile .
	CONTAINER_ID=$$(docker create spotify-partneremails-ingest:darwin | tr -d '\n');\
	docker cp $$CONTAINER_ID:/usr/src/bin/main_darwin-amd64 bin/spotify-partneremails-ingest_darwin-amd64 &&\
	docker rm -v $$CONTAINER_ID

.PHONY: deploy/dev
deploy/dev:
	terraform init -reconfigure -backend-config=infra/dev.tfvars infra/ &&\
 	terraform apply -compact-warnings \
 		-auto-approve \
 		-var-file=infra/dev.tfvars \
 		 infra/

.PHONY: deploy/prod
deploy/prod:
	terraform init -reconfigure -backend-config=infra/prod.tfvars infra/ &&\
 	terraform apply -compact-warnings \
 		-auto-approve \
 		-var-file=infra/prod.tfvars \
 		infra/
