글쓴이: 익명 사용자 / 작성시간: 화, 2002/11/19 - 1:54오후
Makefile의 내용이
PROG = test1
OBJS = test1.o
all$(PROG)
$(PROG) $(OBJS)
$(CC) -o $@ $(OBJS)
로 되어있다고 할 때요,
DEF = TEST
부분을 추가시켜서 -D 옵션을 주고 싶습니다.
즉, 열거하면
gcc -o test1 test1.c -DTEST
로 하고 싶은데요, 저 위의 방법으로는 영 신통치가 않네요..
어떤 방법이 있는지 알고 싶습니다.
Re: Makefile 질문입니다.
저는 이런식으로 사용합니다..
CFLAGS에 추가로 필요한것을 적용하면 되겠죠
LD_HOME = $(HOME)
SYSTEM_INCL =
COMMON_INCL = -I$(LD_HOME)/include
LOCAL_INCL = -I$(LD_HOME)/src/include
INCLUDE = $(LOCAL_INCL) $(COMMON_INCL) $(SYSTEM_INCL)
SYSTEM_LIB_PATH =
COMMON_LIB_PATH = -L$(LD_HOME)/lib
LOCAL_LIBPATH =
LIB_PATH = $(SYSTEM_LIB_PATH) $(COMMON_LIB_PATH) $(LOCAL_LIB_PATH)
CFLAGS = -g -c $(INCLUDE) -DTEST
SYSTEM_LIBS =
RDB_LIBS =
COMMON_LIBS = -levent
LOCAL_LIBS =
LIBS = $(LOCAL_LIBS) $(COMMON_LIBS) $(RDB_LIBS) $(SYSTEM_LIBS)
.SUFFIXES .c .o
.c.o
$(CC) $(CFLAGS) $*.c
OBJS = test.o test_func.o
all test
test $(OBJS)
$(CC) -o $@ $(OBJS) $(LIB_PATH) $(LIBS)
strip $@
mv $@ $(LD_HOME)/bin/.
clean
rm -f *.o core chaos
더 좋은 방법은... (Re^2: Makefile 질문입니다.)
-D를 CPPFLAGSS에 지정하는 겁니다. CFLAGS는
컴파일시에 오버라이드될 수 있거든요.
CFLAGS=-g -O2
CPPFLAGS=-DSOMEDEF
댓글 달기