안녕들 하신지요...
이곳에서 많은 도움을 얻어 pro*c에서 사용 할 수 있는 makefile를 만들었습니다..
하지만 궁금한게 많아서...이렇게 글을 올립니다..
Makefile
# 컴파일 옵션
CC = cc
CXX = c++
PROC = proc
RM = rm
################################################################
# -L directory link -I file link
# 오라클 헤더 파일
ORACLE_INC = -I$(ORACLE_HOME)/rdbms/demo \
-I$(ORACLE_HOME)/rdbms/public \
-I$(ORACLE_HOME)/plsql/public \
-I$(ORACLE_HOME)/network/public \
-I$(ORACLE_HOME)/precomp/public
# 오라클 라이브러리
ORACLE_LIBS = -L$(ORACLE_HOME)/lib/ \
-L$(ORACLE_HOME)/rdbms/lib -lclntsh \
$(ORACLE_HOME)/lib/nautab.o \
$(ORACLE_HOME)/lib/naeet.o \
$(ORACLE_HOME)/lib/naect.o \
$(ORACLE_HOME)/lib/naedhs.o \
-lnbeq8 -lnhost8 -lnus8 -lldapclnt8 -lnsslb8 -lnoname8 \
-lntcp8 -lntcps8 -lnsslb8 -lntcp8 -lntns8 \
-ln8 -lnl8 -lnro8 -lclient8 -lvsn8 -lcommon8 -lskgxp8 \
-lgeneric8 -lmm -lnls8 -lcore8 -ltrace8 -ldl -lm -lpthread -lsql8
# 컴파일 옵션
CFLAGS = $(ORACLE_INC) -g
DBLIBS = $(ORACLE_LIBS)
# 실행파일 만들기
TARGET = sample3
#목적 파일
OBJS = sample3.o
# 접미사로서 확장자에 대한 컴파일 방법
.SUFFIXES: .o .c .pc
#####################################################################
#Rules
.pc.c:
@$(PROC) $*
.pc.o:
@$(PROC) $*
@$(CC) $*.c $(UFLAGS) $(CFLAGS) -c
.c.o:
@$(CC) $*.c $(UFLAGS) $(CFLAGS) -c
#####################################################################
all : sample3
#####################################################################
sample3 : $(OBJS)
@$(CC) $(LFLAGS) -o $@ $? $(DBLIBS)
#####################################################################
clean :
$(RM) -f $(TARGET) *.o *.c core
이상 저가 사용하는 Makefile 입니다...
테스트는 와우 6.2 , 오라클 8.1.7입니다..
데모도 이런 식으로 생각 해서 한다면 될것 같군요...
물론 demp_precomp.mk를 참조 해서 만들어야지요...
이상 제가 하는 방법이구요..
궁금한것은
@$(CC) $*.c $(UFLAGS) $(CFLAGS) -c
$(UFLAGS) : 이게 뭔지 그리고 -c
@$(CC) $(LFLAGS) -o $@ $? $(DBLIBS)
$(LFLAGS) : 이것도...?
그럼
답변바라구요...
좋은 하루되세요...
한가지더 이것이 스팍머신에 오라클에서도 되는 지도 궁금하군요...
|