자주 쓰는 커맨드 저장 - Makefile

Tony Lee·2023년 4월 19일
2

knowledge

목록 보기
3/16
post-thumbnail

Makefile

프로그래밍을 하다보면 해당 디렉토리 또는 프로젝트에서 자주 쓰는 커맨드가 등장한다.

예를 들어,

$ poetry python3 -m core.manage run-server 

이 커맨드는 poetry 환경에서 django 프로젝트를 실행 시킨다.
계속해서 써야 하는 입력인데, 다 치기도 귀찮고 어쩌다 오타가 나면 더 귀찮아진다.

오늘 알게 된 Makefile은 이 고민을 해결해준다.

$ make run-server 

1번 커맨드를 2번 커맨드로 깔끔하게 바꿔준다.
만드는 방법은 간단하다.

파일 만들기

  1. 원하는 디렉토리로 간다.
  2. Makefile 이라는 파일을 만든다. 확장자도 필요없다.
  3. 이 안에 원하는 커맨드를 담는다.

구조

install
migrate
makemigrations 
...

위 커맨드들은 명령문 대체제다.
Makefile을 디렉토리에 넣은 후, 명령어 앞에 make 를 붙여주면 된다.

$ make migrate

커맨드를 입력하면, 아래 명령어로 치환되어 적용된다.

$ poetry run python3 -m core.manage migrate

여기까진 매우 간단하다. (사실 뒤에도 간단하다)

.PHONY

다른 syntax는 .PHONY가 보일 것이다. 옆에 나열된 명령들이 폴더가 아님을 명시하고 make command 에게 헷갈리는 부분을 없애 주는 것이다.

예를 들어,

$ make migrations

커맨드를 입력했을 때, 같은 디렉토리에 migrations라는 폴더가 존재할 수도 있다.
.PHONY안에 넣음으로써, 이를 방지할 수 있다.
그냥 다 넣는 것도 단점은 없어 보인다.

마지막으로

$ make update

커맨드가 다른 명령과 형식이 다르다.
Makefile 안에서는 명령어를 nest(?) 할 수 있는데, make update를 실행하면

$ make install
$ make migrate

두 명령이 실행된다.

라이브러리를 이것저것 쓰다보면, 커맨드가 헷갈리는데, Makefile을 계속 업데이트 하며, 나만의 command set을 만들면 기억할 필요도 없고 좋은 것 같다.

profile
Striving to have a positive impact on the community

0개의 댓글