Makefile은 리눅스 환경에서 범용적으로 별도의 설치 없이 사용가능하다는 장점 때문에 쓴다는 정도로 이해하면 좋을 것 같다. 서버리스 서비스들이 코드형 인프라(IaC)(참고3) 모범 사례([SW Best practice](https://janghoo.notion.site/Best-practice-abce5d7978db47529300bea6c37419f2))로 Makefile 을 요구할지도 모르지만, 표준이 Makefile 인 것은 아니다. 정해진 것도 없다(참고2). 몇몇 개인들이 입맛에 따라 Makefile 을 권하고 있는 것이다(참고1).


parse me : 언젠가 이 글에 쓰이면 좋을 것 같은 재료들.

  1. None

from : 과거의 어떤 생각이 이 생각을 만들었는가?


supplementary : 어떤 새로운 생각이 이 문서에 작성된 생각을 뒷받침하는가?

  1. None

opposite : 어떤 새로운 생각이 이 문서에 작성된 생각과 대조되는가?

  1. bc6_1. [entry] title: 도커파일을 구성하는 명령어들은 내(호스트) 환경과 격리된 환경인 도커 환경 사이의 관계를 정의하기도 하고, 이미지 환경 자체를 정의하기도 하고, 컨테이너 환경에서 수행해야 하는 작업을 정의하기도 한다.
  2. pyproject.toml 이라는 표준 파일을 중심으로 배포하고 설치하는 것이 모범 사례다.

to : 이 문서에 작성된 생각이 어떤 생각으로 발전되고 이어지는가?

  1. bb2.1_1.1_2. title: 런타임 환경이 어떤 운영체제가 될지 모른다면 파이썬 스크립트의 맨 앞에 env 를 이용한 셔뱅(Shebang, #!)을 작성하라.
  2. bb2_1. title: CMake는 Make보다 훨씬 정교하지만 컴파일 결과물을 독립된 디렉토리에 가두고 다른 CMake파일에서 불러오는 일은 여전히 어렵다. 여러 프로젝트에서 동시에 사용하는 패키지가 시스템 경로에 설치되는 것이 자연스러운 워크플로이기 때문이다. 이 문제를 해결하기 위해 시스템 차원의 가상환경인 도커가 사용될 수 있다.

참고 : 레퍼런스