#-----------------------------------------------------------------
# All Rights Reserved, Copyright (c) FUJITSU LIMITED 2015
#-----------------------------------------------------------------

########################################
#
#	開発ディレクトリ
#
########################################

SOC_PATH = ../cpp
INC_PATH = ../inc
OBJ_PATH = ../obj
LIB_PATH = ../lib
BIN_PATH = ../bin
MAK_PATH = ../mak

########################################
#
#	Linux固有情報(Solaris使用時にはコメントにすること)
#
########################################

#CPP = g++
CPP = $(CXX)
SHAREDOPTION = -shared
SLIBS = -lc
# 64bit 対応
TARGETARCH  += -m64 -fPIC


########################################
#
#	Solaris固有情報(Linux使用時にはコメントにすること)
#
########################################

#CPP = $(CCC)
#SHAREDOPTION = -G
#SLIBS = -lCrun -lCstd -lc
## 64bit 対応
#TARGETARCH  += -m64 -xarch=sparcvis -xcode=pic32
##TARGETARCH  += -xarch=v9a -xcode=pic32

########################################
#
#	オブジェクト生成ルール
#
########################################

${OBJ_PATH}/%.o : ${SOC_PATH}/%.cpp
	$(CPP) $(CPPOPTION) $(DEBUGOPTION) $(DEFINE) -c $< -o $@

########################################
#
#	変数定義
#
########################################

TARGET_FILE = GG_SHM1000

OBJ_FILE = ${OBJ_PATH}/GG_SHM1000.o \
	${OBJ_PATH}/GG_SHM1003.o \
	${OBJ_PATH}/compatible_function.o \
	${OBJ_PATH}/sharedmemory_cls.o \
	${OBJ_PATH}/GG_MsgOut.o

########################################
#
#	コンパイルオプション
#
########################################

DEFINE = -D_REENTRANT -DNeedFunctionPrototypes
CPPOPTION = -I${INC_PATH} ${TARGETARCH}
CPPOPTION += -I/usr/local/src/libxml2-2.9.10/include
CPPOPTION += -I/usr/local/src/libxml2-2.9.10/include/libxml2
LINKOPTION = -L${LIB_PATH} -lGG_SHM1100 ${SLIBS} ${TARGETARCH}
DEBUGOPTION = -D_DEBUG -g

########################################
#
#	ターゲットエントリ
#
########################################

main: ${BIN_PATH}/$(TARGET_FILE)

${BIN_PATH}/$(TARGET_FILE) : $(OBJ_FILE)
	$(CPP) -o $@ $^ $(LINKOPTION)

${OBJ_PATH}/GG_SHM1000.o: ${MAK_PATH}/GG_SHM1000.mk \
			${INC_PATH}/GG_DEF.h \
			${INC_PATH}/GG_MsgOut.h \
			${INC_PATH}/compatible_function.h \
			${INC_PATH}/sharedmemory_cls.h \
			${INC_PATH}/GG_SHMCOM.h

${OBJ_PATH}/GG_SHM1003.o: ${SOC_PATH}/GG_SHM1003.cpp \
			${MAK_PATH}/GG_SHM1000.mk \
			${INC_PATH}/GG_SHMCOM.h

${OBJ_PATH}/compatible_function.o: ${SOC_PATH}/compatible_function.cpp \
			${MAK_PATH}/GG_SHM1000.mk \
			${INC_PATH}/compatible_function.h

${OBJ_PATH}/sharedmemory_cls.o: ${SOC_PATH}/sharedmemory_cls.cpp \
			${MAK_PATH}/GG_SHM1000.mk \
			${INC_PATH}/sharedmemory_cls.h \
			${INC_PATH}/GG_DEF.h

${OBJ_PATH}/GG_MsgOut.o: ${SOC_PATH}/GG_MsgOut.cpp \
			${MAK_PATH}/GG_SHM1000.mk \
			${INC_PATH}/compatible_function.h