아무도 한국어로 제대로 된 설명을 안 해 줘서 직접 적는
참고 문서: GNU make: Wildcard Function
$(wildcard pattern ...)
wildcard( 예) *.c 등 ) 는 rules 에서는 자동으로 바뀌지만,
변수 값 세팅 때나 함수 내에서는 자동으로 바뀌지 않는다.
그러한 곳에서 wildcard를 사용하려면 wildcard 함수를 사용해야 한다.
이 문자열은 명시된 파일 이름 패턴들(pattern) 중 하나라도 일치되는 존재하는 파일들의 이름들이 공백으로 분리된 목록으로 치환된다.
예시)
현재 디렉토리에 file1.c
, file2.c
, file3.c
가 있다면
C_FILES = $(wildcard *.c)
는
C_FILES = file1.c file2.c file3.c
로 바뀌게 된다.
참고 문서: GNU make: Substitution Refs
$(var:a=b)
변수 var 의 값을 가져온 다음
글자 끝의 모든 a들을 b로 치환한다.
예를 들어:
foo := a.o b.o c.o
bar := $(foo:.o=.c)
이는 bar
를 a.c b.c c.c
로 설정한다.
%.o : %.c
추후 추가 작성 예정