0
)
일부 변수 대체를 시도 할 때까지 make 파일이 작동했습니다. % .o가 인식되지 않습니다.gcc Makefile : 변수 대체 오류 (%
make : *`parser '에 필요한`% .o'대상을 만드는 규칙이 없습니다. 중지.
CC=gcc
CFLAGS=-ansi -pedantic -Wall -ggdb3
PROJECT=project.c project.h
PARSER=parser.c parser.h
OBJ=project.o parser.o
#CFILE=project.c parser.c
#1 no problem
#parser: project.o parser.o
# $(CC) $(CFLAGS) -o [email protected] $^
#2 no problem
#parser: $(OBJ)
# $(CC) $(CFLAGS) -o [email protected] $^
#3 this fails
parser: %.o
$(CC) $(CFLAGS) -o [email protected] $^
#parser: project.o parser.o
# gcc -ansi -pedantic -Wall -ggdb -o parser project.o parser.o
project.o: $(PROJECT)
$(CC) $(CFLAGS) -c $^
parser.o: $(PARSER)
$(CC) $(CFLAGS) -c $^
clean:
rm -f $(OBJ) parser
% 대신 *를 의미합니까? – Flexo