“내 컴퓨터에서는 잘 동작해!”라는 변명을 하는 개발자가 나오지 않게 해준다. 이를 수행하는
방법은 빌드 단계마다 스크립트를 사용하는 것이다.
Go
개발자들은 해결책으로
make
를 채용
해서 사용한다.
make
에 친숙하지 않을 수도 있겠지만,
make
는
1976
년 이래로 유닉스 시스템
에서 프로그램을 빌드하는 데 사용되었다.
여기 간단한 프로젝트에 추가할
Makefile
예제가 있다.
.DEFAULT_GOAL := build
fmt:
go fmt ./...
.PHONY:fmt
lint: fmt
golint ./...
.PHONY:lint
vet: fmt
go vet ./...
.PHONY:vet
build: vet
go build hello.go
.PHONY:build
이전에
Makefile
을 본 적 없다 해도, 해당 내용이 무슨 일을 하는지 파악하기는 그리 어렵지
않다. 각 가능한 작업을 타깃
target
이라 부른다.
.
DEFAULT
_
GOAL
은 어떤 타깃도 지정해 주지 않
았을 때, 기본적으로 수행하는 타깃을 정의한다. 이 경우에는,
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.