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

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

SOCPATH = ../cpp
INCPATH = ../inc
OBJPATH = ../obj
LIBPATH = ../lib
BINPATH = ../bin
MAKPATH = ../mak

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

PRJ				= GG_SHM0011
SOURCE_FILE		= ${PRJ}.cpp
OBJECT_FILE		= ${PRJ}.o
TARGET_FILE		= lib${PRJ}.so

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

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

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

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

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

#CPP = c99
#SHAREDOPTION = -shared
#SLIBS = 
#CPPLDLIBS =  -set SYSTYPE OSS -set HIGHPIN ON -set data_model ilp32 -dll -lcre -lcrtl -lossk -lossf -lsec -li18n -licnv -losse -linet -lossh -lossc -lcppc -lput -export_all
# 64bit 対応
#TARGETARCH  += -Wlp64
#CPPLDLIBS =  -set SYSTYPE OSS -set HIGHPIN ON -set data_model lp64 -dll -lcre -lcrtl -lossk -lossf -lsec -li18n -licnv -losse -linet -lossh -lossc -lcppc -lput -export_all

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

#LinuxまたはSolaris使用時
DEBUGOPTION = -D_DEBUG -g -O0
CPPFLAGS += $(INCLUDES) -D_REENTRANT -DNeedFunctionPrototypes -D_LOG -D_LOG_ERR
CPPFLAGS += ${DEBUGOPTION} ${TARGETARCH}
LDFLAGS  =  ${SHAREDOPTION}
LDFLAGS  += ${DEBUGOPTION} ${TARGETARCH}
INCLUDES  = -I/usr/include -I${INCPATH}
#INCLUDES += -I/usr/java/jdk1.7.0_71/include -I/usr/java/jdk1.7.0_71/include/linux
#SPF Linux環境
INCLUDES += -I/usr/java/jdk-11.0.11/include -I/usr/java/jdk-11.0.11/include/linux

#NonStopOS使用時
#DEBUGOPTION = -g
#CPPFLAGS += $(INCLUDES) -D_LOG -D_LOG_ERR
#CPPFLAGS += ${DEBUGOPTION} ${TARGETARCH} -Wallow_cplusplus_comments -Wextensions -D_XOPEN_SOURCE_EXTENDED=1 -D_PUT_MODEL_ -D_NONSTOP -Wnowarn -Wcall_shared -Wsystype=oss -Wtarget=tns/e
#LDFLAGS  =  ${SHAREDOPTION}
#LDFLAGS  += ${DEBUGOPTION} ${TARGETARCH} -Wcplusplus
#INCLUDES  = -I/usr/include -I${INCPATH}
#INCLUDES += -I/usr/tandem/nssjava/jdk170_h70/include -I/usr/tandem/nssjava/jdk170_h70/include/oss -I/G/system/system

########################################
#
#	共通サブルーチン等(.o)
#
########################################

OTHER_OBJS   = ${OBJPATH}/sharedmemory_cls.o
OTHER_OBJS  += ${OBJPATH}/compatible_function.o
OTHER_OBJS  += ${OBJPATH}/GG_MsgOut.o

########################################
#
#	ライブラリリンク
#
########################################

all	: clean ${LIBPATH}/${TARGET_FILE}

#LinuxまたはSolaris使用時
${LIBPATH}/${TARGET_FILE}	: ${OBJPATH}/${OBJECT_FILE} ${OTHER_OBJS}
	${CPP} ${LDFLAGS} -o $@ $^ ${SLIBS} ${CPPLDLIBS}

#NonStopOS使用時
#${LIBPATH}/${TARGET_FILE}	: ${OBJPATH}/${OBJECT_FILE} ${OTHER_OBJS}
#	/usr/bin/eld ${LDFLAGS} -o $@ $^ ${SLIBS} ${CPPLDLIBS}

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

${OBJPATH}/%.o : ${SOCPATH}/%.cpp ${CMN_HSRCS} ${MAKPATH}/${PRJ}.mk
	${CPP} ${CPPFLAGS} -c $< -o $@

clean	:

