자동화 변수, automatic variables
$@
: 타겟을 나타내는 파일이름
$<
: 파일이름의 첫 번째 전제조건
$^
: 파일음의 모든 전제 조건(종속성인 것 같음), 중복된 내용이 있으면 안됨
$?
: 새로 갱신된 filename의 모든 전제조건
$+
: $^
와 비슷하지만 중복된 내용도 포함해도 됨. (중복된 값을 필요로할 때 사용됨)
$%
: the filename element of an archive member specification
$*
- he stem of the target filename. A stem is typically a filename without its suffix. Its use outside of pattern rules is discouraged.
hello.o : hello.c hello.h
gcc -c $< -o $@
// $@ : hello.o를 가리킨다
// $< : 첫 번째 의존성인 hello.c를 가리킨다
// $<(hello.c)를 컴파일해서 $@(hello.o)로 output을 만들어라