makefile에서 for 을 만들때 세미콜론(;)관련 질문 입니다.

is1472의 이미지

objects :
@for dir in $(DIRS) ; do \
$(MAKE) -C $$dir || exit $? ; \
done

이런식으로 object를 만들려고 할 때

일반적으로 스크립트에서 for문은
for x in 1 2 3
do
asdasd
done
이런식이자나요? 근데 왜 보면 중간중간에 ; 이 붙어서 있나요?

물론 makefile 명령어를 실행할때 ; 으로 이어준다는것은 알고 있습니다. 허나
저 for문은 하나의 명령어 일텐데 왜 저렇게 쓰나요...?
초급자라 질문드립니다... 하하ㅏ;;

jachin의 이미지

스크립트 코딩 스타일 중 하나입니다.

소스코드 작성하는 데에 문법을 지키면서도 자유도가 있다보니 사람들끼리 코드작성 스타일이 다양해지고, 보기 싶고 작성하기 쉬운 스타일을 따라하다보니,특정 방식의 표기법이 생겼습니다.
이를테면 bash coding style (혹은 coding convention)이라고 검색해보시면 몇가지 표기법이 나옵니다.
코딩스타일을 정하게 된 이유 중 하나는 여러사람이 같이 일하는 프로젝트에서 서로의 코드를 보기 쉽게 정리하려고 하다가 정해지는 경우도 있습니다.

is1472의 이미지

단순 코드 스타일이면 지워도 에러가 나지 않아야 하지 않나요?
그런데 지우면 메이크 할 시 에러가 납니다.

jachin의 이미지

프로그래밍 언어 문법에 맞춰 표기하는 방법을 정해둔 것이니 코드를 지우면 당연히 동작을 안하는 것입니다.

is1472의 이미지

감사합니다.!