Makefile 만들기
글쓴이: woosokie / 작성시간: 수, 2008/12/10 - 10:06오전
make 파일 만들기를 간단히 공부하고 만들어 볼려고하는데요.
제가 만들고자 하는 바는 VC++ 처럼 프로젝트를 구성하고 싶습니다.
근데 쉽지가 않네요 ㅡㅡ;
#########################################
SRCS = test1.cpp test2.cpp
OBJS = $(SRCS:.cpp=.o)
TARGET = libTest.a
CPPFLAGS = -Wall -D_LINUX -I../Include
$(TARGET) : $(OBJS)
ar cru $@ $(OBJS)
all : $(TARGET)
clean :
rm -f $(TARGET) $(OBJS)
#########################################
1. 헤더파일 디펜던시 존재
- 위에 대로 하면 헤더가 수정 되어도 컴파일이 안되는 문제가 있습니다.
2. 소스가 컴파일 되면 해당 소스에 대한 오브젝트 파일이 특정 디렉토리에 모아지길 원합니다.
- 위에는 소스와 오브젝트 파일이 같은 디렉토리에 존재하네요.
컴파일된 오브젝트 파일이 특정 디렉토리에 생겼으면 합니다.
Forums:
참고로 라이브러리를
참고로 라이브러리를 만드는 과정이고 소스는 각각 다른 디렉토리에 있습니다.
해결하기 정말 힘드네요 ㅡㅡ;
#########################################
SRCS = ../A/test1.cpp ../B/test2.cpp
OBJS = $(SRCS:.cpp=.o)
TARGET = libTest.a
CPPFLAGS = -Wall -D_LINUX -I../Include
$(TARGET) : $(OBJS)
ar cru $@ $(OBJS)
all : $(TARGET)
clean :
rm -f $(TARGET) $(OBJS)
#########################################
제 생각은 vpath 사용...
제 생각은 vpath를 사용하면 될 것 같습니다.
참고:
http://wiki.kldp.org/wiki.php/%B0%B3%B9%DF%C0%DA%C4%DA%B3%CA#s-3.2
makedepend 라는
makedepend 라는 명령어의 매뉴얼페이지를 참고해보세요.
또는, 작성하신 소스파일의 갯수가 그리 많지 않다면,
$(OBJS): package.h module.h config.h
와 유사한 줄을 한 줄 추가해주는 것으로도 가능하겠습니다.
--
"The love you take is equal to the love you make." The End, by Beatles
--
"The love you take is equal to the love you make." The End, by Beatles
댓글 달기