모범 사례: 메이크파일


Download My Makefile on GitHub Gist

나는 직장과 사이드 프로젝트 모두에서 대부분의 내 프로젝트에 Makefile를 사용합니다.task group 명령을 통해 실행할 수 있는 Makefile에서 매우 쉽게 make를 생성할 수 있습니다.

내 모범 사례는 다음과 같습니다.

최소 구성


Makefile에서 잡음을 일으킬 수 있는 모든 불필요한 정의를 제거합니다. 이제 내가 가장 좋아하는 템플릿Makefile을 구성하고 정의하는 데 6줄만 있습니다.

SHELL := /bin/bash

help:
    @grep -E '^[0-9a-zA-Z_-]+:.*?## .*$$|(^#--)' $(MAKEFILE_LIST) \
    | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[32m %-43s\033[0m %s\n", $$1, $$2}' \
    | sed -e 's/\[32m #-- /[33m/'


Help: this code block defines the templating for the task group and its tasks and I used it in every my makefile.



작업 그룹화



접두사#--를 사용하여 작업 그룹의 제목을 정의할 수 있습니다. 동일한 작업 그룹에서 관련 작업을 구성할 수 있습니다.

#-- Docker  


this will define a task group with title name Docker



항상 작업 설명에 작업 추가



접두사## description of this task를 사용하여 각 작업에 설명을 추가할 수 있습니다.
다음 코드는 단일 작업Docker이 포함된 작업 그룹clean을 정의합니다. 이 작업은 도커 리소스를 정리하기 위해 4개의 명령을 트리거합니다.

clean: ## clean up all docker resources
  docker-compose stop
  docker container prune -f
  docker volume prune -f
  docker network prune -f


each command should begin with a Tab, for example, there is always a Tab before the command docker-compose stop.



간단한 시작


make를 사용하여 Makefile에 정의된 모든 작업 그룹 목록을 표시할 수 있습니다.make clean를 사용하여 작업 그룹clean에서 작업docker을 실행할 수 있습니다.

터미널에서 최종 결과를 확인하십시오.


Download My Makefile on GitHub Gist

좋은 웹페이지 즐겨찾기