‘스프링 부트와 AWS로 혼자 구현하는 웹 서비스’의 8장(EC2에 프로젝트를 배포하보자)를 공부하던 중 ShellScript를 사용하여 프로젝트를 깃에서 클론을 받아와 배포까지하는 일련의 과정을 자동으로 해주는 ShellScript를 작성하게 되었는데, 이를 보면서 42Seoul에서 Piscine기간에 했었던 Makefile과 정말 비슷하다고 느꼈다.
따라서 정리를 통해 어떠한 점이 비슷한지 그리고 어떠한 차이점이 있는지 정리하게 되었다.
특정한 동작을 하기 위해 작성된 문서(Script)을 의미하는데 이것이 ‘Shell’을 통해 돌아가는 문서를 말한다.
이러한 ShellScript의 기능은
이 있지만, 이중에서 나는 Makefile과 유사하다고 느낀 ‘‘배치 잡’‘에 초점을 맞춰서 알아보았다.
배치 잡은 커맨드에 일일히 수동으로 여러줄을 입력해야 할 수 있었던 일련의 작업들을 쉡 스크립트에 작성하여 한번에 시행하도록 하는 기능을 말한다.
C에서 목적파일을 만들기 위해서 필요한 일련의 작업들을 make라는 명령어만으로 자동화 되도록 만든 문서이다. 또한 Makefile에 작성한 여러 옵션들을 통해 추가적인 작업을 할 수 있다.
Makefile의 기본구조는
로 나눠져있다.
P.S. 제가 이해한 내용이 정확하지 않을 수 있다고 생각합니다. 따라서 이글을 읽는 누구든 틀린부분에 대한 지적을 환영하며,
이 글의 포스팅 목적은 'ShellScript'와 'Makefile'의 자세한 내용보다는 제가 Makefile과 ShellScript를 작성하면서
느낀 둘간의 차이의 모호함을 좀 더 선명하게 하는데에 목적이 있었다고 말씀드리고싶습니다.