-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmakefile
86 lines (73 loc) · 2.24 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#Sets the root directory for this package
ROOTPLAT=/home/piyasak/testEMA/Elektron-SDK1.1.0.linux/Ema/
ARCHTYPE=$(shell uname -m)
OS_VER=$(shell lsb_release -r | sed 's/\.[0-9]//')
CC=/usr/bin/g++
DIST=$(shell lsb_release -i)
CFLAGS += -m64 -D_REENTRANT -DLinux -O3 -DCOMPILE_64BITS -std=c++11
# check for RedHat Linux first
ifeq ($(findstring RedHat,$(DIST)),RedHat)
ifeq ($(findstring 6, $(OS_VER)), 6)
LIB_DIR=$(ROOTPLAT)/Libs/RHEL6_64_GCC444
OUTPUT_DIR=./RHEL6_64_GCC444
endif
else
ifeq ($(findstring OracleServer, $(DIST)), OracleServer)
ifeq ($(findstring 6, $(OS_VER)), 6)
LIB_DIR=$(ROOTPLAT)/Libs/RHEL6_64_GCC444
OUTPUT_DIR=./OL6_64_GCC444
else
LIB_DIR=$(ROOTPLAT)/Libs/OL7_64_GCC482
OUTPUT_DIR=./OL7_64_GCC482
endif
else
ifeq ($(findstring CentOS,$(DIST)),CentOS)
ifeq ($(findstring 7, $(OS_VER)), 7)
LIB_DIR=$(ROOTPLAT)/Libs/OL7_64_GCC482
OUTPUT_DIR=./CENTOS7_64_GCC482
endif
endif
endif
endif
ifndef LIB_DIR
$(error unsupported environment)
endif
CFLAGS += -D_REENTRANT
CLIBS = $(LIB_DIR)
LIB_PATH = -L$(LIB_DIR)
HEADER_INC = -I$(ROOTPLAT)/Src/Include -I$(ROOTPLAT)/Src
EMA_LIBS = $(LIB_DIR)/Optimized/libema.a
EXE_DIR=$(OUTPUT_DIR)/Optimized
LN_HOMEPATH=../..
OS_NAME= $(shell uname -s)
export COMPILER=gnu
export CC=/usr/bin/g++
CFLAGS += -DLinux
SYSTEM_LIBS = -lnsl -lpthread -lrt -ldl
LNCMD = ln -is
$(OUTPUT_DIR)/obj/%.o : %.cpp
rm -f $@
mkdir -p $(dir $@)
$(CC) -c $(CFLAGS) $(HEADER_INC) -o $@ $<
$(OUTPUT_DIR)/%.o : %.cpp
rm -f $@
mkdir -p $(dir $@)
$(CC) -c $(CFLAGS) $(HEADER_INC) -o $@ $<
main: emahybridapp
EMAHybridApp_SRC = \
ClientManager.cpp \
EMAClient.cpp \
EMAHybridApp.cpp
EMAHybridApp_HEAD = \
ClientManager.h \
EMAClient.h \
EMAHybridApp.h
EMAHybridApp_objs = $(addprefix $(OUTPUT_DIR)/obj/,$(EMAHybridApp_SRC:%.cpp=%.o))
emahybridapp: $(EMAHybridApp_objs)
mkdir -p $(EXE_DIR)
$(CC) -g -o $(EXE_DIR)/$@ $(EMAHybridApp_objs) $(CFLAGS) $(HEADER_INC) $(LIB_PATH) $(EMA_LIBS) $(SYSTEM_LIBS)
cp -f EmaConfig.xml $(EXE_DIR)
cp -f itemlist.txt $(EXE_DIR)
cp -f $(ROOTPLAT)/Etc/RDMFieldDictionary $(EXE_DIR)
cp -f $(ROOTPLAT)/Etc/enumtype.def $(EXE_DIR)
rm -rf $(OUTPUT_DIR)/obj/