1. 개요
- SUFFIX rule은 특정 확장자 이름의 소스 파일들과 또 다른 특정 확장자 이름의 결과 파일들 전체를 %기호로 대치 하는 것이다.
2. 특정 파일들을 컴파일 하기
예
===========================================================================
TARGET=spaghetti.bin
ELF_TARGET=spaghetti.elf
BINTOOL=fromelf
CC=tcc
$(TARGET): $(ELF_TARGET)
$(BINTOOL) -bin -o $@ $^
$(ELF_TARGET): spaghetti.o manipulation.o
$(CC) -o $@ $^
%o: %c --------------> ①
$(CC) -c $@ $< --------------> ②
===========================================================================
*.c 파일들을 $(CC) == tcc 를 통해서 *.o 파일로 만들라는 명령
① %o : *.o 파일들, %c: *.c 파일들
② 주의점은 SUFFIX rule에서는 재료는 " $^ " 대신에 " $< "을 쓴다는 것이다.
3. 한 디렉토리의 모든 파일을 컴파일 하기
- Makefile은 한 디렉토리의 컴파일 되어야 하는 파일이 전부 *.c 파일이라면 아래와 같은 방법으로 소스 파일들을 특정 변수에 전부 넣은 후, 오브젝트 파일들을 소스파일에서 .c 만을 .o로 변경하여 특정변수에 넣어 작업 할 수 있도록 해준다.
예
SRC = $(wildcard *.c)
OBJECT = $(SRC:.c=.o)
댓글 없음:
댓글 쓰기