Makefile에서 VPATH가 않 먹힙니다.
<Makefile>
CC = gcc
OBJS = idl_parser.o idl_scanner.lex.o
DEBUG = -g
LIBS = -lfl
TARGET = Song_idl
VPATH = ../../idl
$(TARGET): $(OBJS)
gcc -o $@ $(OBJS) $(LIBS)
idl_scanner.o: idl_scanner.c
gcc -c $(DEBUG) idl_scanner.c
idl_scanner.lex.c: idl_scanner.l
flex -oidl_scanner.lex.c idl_scanner.l
idl_parser.o: idl_parser.tab.c
gcc $(DEBUG) -o idl_parser.o -c idl_parser.tab.c
idl_parser.tab.c: idl_parser.y
bison -d idl_parser.y
install:
cp ./$(TARGET) /usr/local/bin/Song_idl
cp ./$(TARGET) /usr/local/bin/song_idl
clean:
rm -f idl *.o idl_scanner.lex.c idl_parser.o \
*.c $(TARGET) idl_parser.tab.h
<ls ../../idl의 결과>
def.h idl_parser.y idl_parser.yy.tab.h idl_scanner.l
<컴파일시 결과>
bison -d idl_parser.y
bison: idl_parser.y: No such file or directory
make: *** [idl_parser.tab.c] Error 2
<질문!!!>
분명히 같은 시스템에서 만든 Makefile에서는 VPATH가 제가 원하는 방향대로
움직여 줍니다.(이때는 lex, yacc 파일이 아닌 .c, .cc소스를 컴파일 했습니다)
그리고 분명히 컴파일할 디렉토리에 관련 소스는 있습니다.
그런데 왜 관련 파일들을 찾을 수 없을까요...알수가 없네요.
전문가의 높은 식견을 기대합니다.
혹시 Solaris make 같이 VPATH를 지원하지 않는 make 아
혹시 Solaris make 같이 VPATH를 지원하지 않는 make 아닌가요?
그렇다면, gnu make를 설치해보시면..^^
---
http://coolengineer.com
댓글 달기