0. 공식문서

가장 정확한 정보는 항상 공식 문서에 있습니다.

1. 규칙(Rule)

규칙 문법

#Syntax
targets : prerequisites
	recipe
	…

targets : 스페이스로 구분된 파일 이름들 와일드카드 문자 사용될 수 있따.(보통 규칙당 한개의 타겟을 사용한다)

prerequisites : 스페이스로 구분된 파일 이름들

recipe : 레시피 줄은 'TAB' 문자로 시작한다.

패턴 규칙

패턴 규칙 문법

#Syntax
%.o : %.c
	recipe…

#Example
$(OBJ_DIR)%.o : $(SRC_DIR)%.c
	@mkdir -p $(OBJ_DIR)
	$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@

패턴 규칙의 의존성에서 ‘%’는 목표 파일의 ‘%’와 일치하는 동일한 어간을 나타냅니다.

2. 자동 변수

자동 변수는 레시피에서 사용할 수 있도록 make에 기본적으로 내장되어 있는 편리한 변수입니다.

주요 자동 변수

$@ : 규칙의 목표 파일의 파일 이름입니다.

$< : 첫 번째 의존성의 이름입니다.