forked from config4star/config4cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile.inc
More file actions
122 lines (104 loc) · 1.73 KB
/
Makefile.inc
File metadata and controls
122 lines (104 loc) · 1.73 KB
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#----
# TO DO: check the output of "uname -o" on HPUX and AIX
#----
OS= $(shell uname)
ifeq ($(OS),Gnu/Linux)
OS=Linux
endif
ifeq ($(OS),GNU/Linux)
OS=Linux
endif
LIB_DIR=$(PROJECT_ROOT)/lib
BIN_DIR=$(PROJECT_ROOT)/bin
INC_DIR=$(PROJECT_ROOT)/include
ifeq ($(BUILD_TYPE),debug)
LIB_CONFIG4CPP=libconfig4cppd.a
LINK_WITH_CONFIG4CPP=-L$(LIB_DIR) -lconfig4cppd
else
LIB_CONFIG4CPP=libconfig4cpp.a
LINK_WITH_CONFIG4CPP=-L$(LIB_DIR) -lconfig4cpp
endif
#--------
# EXE_EXT is ".exe" on Windows, and "" on UNIX-like operating systems.
#--------
ifeq ($(OS),Cygwin)
EXE_EXT=.exe
else
EXE_EXT=
endif
#--------
# Update CXX_FLAGS based on BUILD_TYPE (debug or release)
#--------
ifeq ($(BUILD_TYPE),release)
override CXX_FLAGS+= -I$(PROJECT_ROOT)/include -fPIC -O -DNDEBUG
else
BUILD_TYPE=debug
override CXX_FLAGS+= -I$(PROJECT_ROOT)/include -fPIC -g
endif
LINK_FLAGS=
#-----
# Determine:
# - The commands used to build a library
# - The C++ compiler
#-----
ifeq ($(OS),Linux)
#-----
# Linux
#-----
AR = ar
AR_FLAGS = -r
RANLIB = /bin/true
RANLIB_FLAGS =
CXX = g++
else ifeq ($(OS),Darwin)
#-----
# Darwin
#-----
AR = ar
AR_FLAGS = -r
RANLIB = ranlib
RANLIB_FLAGS =
CXX = g++
else ifeq ($(OS),Cygwin)
#-----
# Cygwin: same as Linux
#-----
AR = ar
AR_FLAGS = -r
RANLIB = /bin/true
RANLIB_FLAGS =
CXX = g++
else ifeq ($(OS),SunOS)
#-----
# Solaris
#-----
AR = ar
AR_FLAGS = cr
RANLIB = /bin/true
RANLIB_FLAGS =
CXX = g++
else ifeq ($(OS),HPUX)
#-----
# HPUX
#-----
AR = ar
AR_FLAGS = cr
RANLIB = /bin/true
RANLIB_FLAGS =
CXX = g++
else ifeq ($(OS),Aix)
#-----
# AIX
#-----
AR = ar
AR_FLAGS = -r
RANLIB = ranlib
RANLIB_FLAGS =
CXX = g++
endif
#--------
# Generic build rules
#--------
.SUFFIXES: .cpp
.cpp.o:
$(CXX) -c $(CXX_FLAGS) $<