[4] | 1 | #------------------------------------------------------------
|
---|
| 2 | # set command to check os
|
---|
| 3 | #------------------------------------------------------------
|
---|
| 4 | UNAME_S := $(shell uname -s)
|
---|
| 5 | UNAME_M := $(shell uname -m)
|
---|
| 6 | UNAME_R := $(shell uname -r)
|
---|
| 7 | UNAME_V := $(shell uname -v)
|
---|
| 8 | UNAME_A := $(shell uname -a)
|
---|
| 9 |
|
---|
| 10 | #------------------------------------------------------------
|
---|
| 11 | # additional info.
|
---|
| 12 | #------------------------------------------------------------
|
---|
| 13 | MACHINE_INFO = $(UNAME_S).$(UNAME_R)
|
---|
| 14 | ifeq ($(UNAME_S),AIX)
|
---|
| 15 | MACHINE_INFO = $(UNAME_S).$(UNAME_V).$(UNAME_R)
|
---|
| 16 | endif
|
---|
| 17 | ifeq ($(UNAME_S),Linux)
|
---|
| 18 | MACHINE_INFO = $(UNAME_S).$(UNAME_M)
|
---|
| 19 | endif
|
---|
| 20 |
|
---|
| 21 | DATETIME := $(shell date +%Y%m%d)
|
---|
| 22 |
|
---|
| 23 | #------------------------------------------------------------
|
---|
| 24 | # set options
|
---|
| 25 | #------------------------------------------------------------
|
---|
| 26 | ifeq ($(DEBUG),yes)
|
---|
| 27 | DEFS = -D_DEBUG
|
---|
| 28 | FLAG = -g
|
---|
| 29 | else
|
---|
| 30 | DEFS =
|
---|
| 31 | FLAG = -O2
|
---|
| 32 | endif
|
---|
| 33 |
|
---|
| 34 | EXT_SHARED = so
|
---|
| 35 | EXT_STATIC = a
|
---|
| 36 | EXT_EXECUTE = ex
|
---|
| 37 |
|
---|
| 38 | #------------------------------------------------------------
|
---|
| 39 | # set platform
|
---|
| 40 | #------------------------------------------------------------
|
---|
| 41 | ifeq ($(UNAME_S),SunOS)
|
---|
| 42 | OS_FAMILY = solaris
|
---|
| 43 | ifeq ($(UNAME_M),i86pc)
|
---|
| 44 | ifeq ($(VER),32)
|
---|
| 45 | OS_DEF = solaris_x86
|
---|
| 46 | else
|
---|
| 47 | OS_DEF = solaris_x86_64
|
---|
| 48 | endif
|
---|
| 49 | else
|
---|
| 50 | ifeq ($(VER),32)
|
---|
| 51 | OS_DEF = solaris
|
---|
| 52 | else
|
---|
| 53 | OS_DEF = solaris64
|
---|
| 54 | endif
|
---|
| 55 | endif
|
---|
| 56 | # java
|
---|
| 57 | ifeq ($(UNAME_M),i86pc)
|
---|
| 58 | JAVA_HOME = /usr/j2se
|
---|
| 59 | else
|
---|
| 60 | JAVA_HOME = /usr/java1.4.2
|
---|
| 61 | endif
|
---|
| 62 | endif
|
---|
| 63 |
|
---|
| 64 | ifeq ($(UNAME_S),AIX)
|
---|
| 65 | OS_FAMILY = aix
|
---|
| 66 | ifeq ($(VER),32)
|
---|
| 67 | OS_DEF = aix
|
---|
| 68 | JAVA_HOME = /usr/java14
|
---|
| 69 | else
|
---|
| 70 | OS_DEF = aix64
|
---|
| 71 | JAVA_HOME = /usr/java14_64
|
---|
| 72 | endif
|
---|
| 73 | # java
|
---|
| 74 | endif
|
---|
| 75 |
|
---|
| 76 | ifeq ($(UNAME_S),HP-UX)
|
---|
| 77 | OS_FAMILY = hp-ux
|
---|
| 78 | ifeq ($(UNAME_M),ia64)
|
---|
| 79 | UNAME_S := HP-UX_IA
|
---|
| 80 | ifeq ($(VER),32)
|
---|
| 81 | OS_DEF = hp_ia
|
---|
| 82 | else
|
---|
| 83 | OS_DEF = hp_ia64
|
---|
| 84 | endif
|
---|
| 85 | else
|
---|
| 86 | ifeq ($(VER),32)
|
---|
| 87 | OS_DEF = hp
|
---|
| 88 | else
|
---|
| 89 | OS_DEF = hp64
|
---|
| 90 | endif
|
---|
| 91 | endif
|
---|
| 92 | # java
|
---|
| 93 | JAVA_HOME = /opt/java1.4
|
---|
| 94 | endif
|
---|
| 95 |
|
---|
| 96 | ifeq ($(UNAME_S),Linux)
|
---|
| 97 | OS_FAMILY = linux
|
---|
| 98 | ifeq ($(UNAME_M),ppc64)
|
---|
| 99 | OS_DEF = linux_ppc64
|
---|
| 100 | else
|
---|
| 101 | ifeq ($(VER),32)
|
---|
| 102 | OS_DEF = linux
|
---|
| 103 | else
|
---|
| 104 | OS_DEF = linux_x86_64
|
---|
| 105 | endif
|
---|
| 106 | endif
|
---|
| 107 | # java
|
---|
| 108 | ifeq ($(VER),32)
|
---|
| 109 | JAVA_HOME := ${JAVA_HOME}
|
---|
| 110 | endif
|
---|
| 111 | endif
|
---|
| 112 |
|
---|
| 113 | ifeq ($(UNAME_S),Darwin)
|
---|
| 114 | OS_FAMILY = mac
|
---|
| 115 | ifeq ($(VER),32)
|
---|
| 116 | OS_DEF = mac
|
---|
| 117 | else
|
---|
| 118 | OS_DEF = mac_x86_64
|
---|
| 119 | endif
|
---|
| 120 | endif
|
---|
| 121 |
|
---|
| 122 | ifeq ($(filter $(UNAME_A),Cygwin),Cygwin)
|
---|
| 123 | # forced
|
---|
| 124 | VER = 32
|
---|
| 125 | EXT_SHARED = dll
|
---|
| 126 | EXT_STATIC = lib
|
---|
| 127 | EXT_EXECUTE = exe
|
---|
| 128 |
|
---|
| 129 | # run as linux
|
---|
| 130 | OS_DEF = linux
|
---|
| 131 | endif
|
---|
| 132 |
|
---|
| 133 | ifeq ($(JAVA_HOME),)
|
---|
| 134 | JAVA_HOME = $(USER_JAVA_HOME)
|
---|
| 135 | endif
|
---|
| 136 | ifeq ($(JAVA_HOME),)
|
---|
| 137 | $(error JAVA_HOME=\'\'.)
|
---|
| 138 | endif
|
---|
| 139 |
|
---|
| 140 | #------------------------------------------------------------
|
---|
| 141 | # set build env.
|
---|
| 142 | #------------------------------------------------------------
|
---|
| 143 | #ifeq ($(OS_DEF),$(filter $(OS_DEF),solaris solaris64 solaris_x86 solaris_x86_64))
|
---|
| 144 | ifeq ($(OS_FAMILY),solaris)
|
---|
| 145 | ifeq ($(OS_DEF),solaris_x86_64)
|
---|
| 146 | OPT_SHARED_LDFLAGS += -shared
|
---|
| 147 | else
|
---|
| 148 | OPT_SHARED_LDFLAGS += -G
|
---|
| 149 | endif
|
---|
| 150 |
|
---|
| 151 | CC = gcc
|
---|
| 152 | CXX = g++
|
---|
| 153 | LD = $(CXX)
|
---|
| 154 | AR = ar
|
---|
| 155 | CDEFS = -D_SOLARIS -D_REENTRANT $(DEFS)
|
---|
| 156 | CFLAGS = $(FLAG) -m$(VER) -Wall -fPIC -Wconversion -Wpointer-arith -Wcast-align
|
---|
| 157 | LDFLAGS = $(FLAG) -m$(VER) -Wall
|
---|
| 158 | SHARED_LDFLAGS = $(LDFLAGS) $(OPT_SHARED_LDFLAGS) -shared
|
---|
| 159 | ARFLAGS = rc
|
---|
| 160 | LIBS = -lnsl -lsocket -lpthread
|
---|
| 161 | LIBENV = LD_LIBRARY_PATH
|
---|
| 162 | COMPILER_VER = $(CXX) --version | awk 'NR==1'
|
---|
| 163 | endif
|
---|
| 164 |
|
---|
| 165 | ifeq ($(OS_FAMILY),aix)
|
---|
| 166 | # -Wl,-brtl
|
---|
| 167 | # => http://durgaprasad.wordpress.com/2006/09/28/problems-with-linking-of-shared-libraries-in-aix/
|
---|
| 168 | CC = /usr/vac/bin/xlc_r
|
---|
| 169 | CXX = /usr/vacpp/bin/xlC_r
|
---|
| 170 | LD = $(CXX)
|
---|
| 171 | AR = ar
|
---|
| 172 | CDEFS = -D_AIX -D_REENTRANT -D_POSIX_THREADS=1 -D_PTHREADS -D_THREAD_SAFE -D_POSIX_C_SOURCE=199506L $(DEFS)
|
---|
| 173 | CFLAGS = $(FLAG) -q$(VER) -qpic=large -qflag=w:w -qeh=v6 -qchars=signed -qstaticinline
|
---|
| 174 | LDFLAGS = $(FLAG) -q$(VER) -qpic=large -brtl
|
---|
| 175 | SHARED_LDFLAGS = $(LDFLAGS) -G -qmkshrobj -bnoentry -bM:SRE
|
---|
| 176 | ARFLAGS = -X64 -ruv
|
---|
| 177 | LIBS = -lc -lpthread
|
---|
| 178 | LIBENV = LIBPATH
|
---|
| 179 | COMPILER_VER = lslpp -l | grep xlC | grep rte | grep -v msg
|
---|
| 180 |
|
---|
| 181 | # g++ {{{
|
---|
| 182 | ifeq ($(compiler),g++)
|
---|
| 183 | CC = g++
|
---|
| 184 | CXX = g++
|
---|
| 185 | LD = $(CXX)
|
---|
| 186 | AR = ar
|
---|
| 187 | CDEFS = -D_AIX -D_REENTRANT -D_POSIX_THREADS=1 -D_PTHREADS -D_THREAD_SAFE -D_POSIX_C_SOURCE=199506L $(DEFS)
|
---|
| 188 | CFLAGS = $(FLAG) -maix$(VER)
|
---|
| 189 | LDFLAGS = $(FLAG) -maix$(VER) -Wl,-brtl
|
---|
| 190 | SHARED_LDFLAGS = $(LDFLAGS) -shared
|
---|
| 191 | ARFLAGS = -X64 -ruv
|
---|
| 192 | LIBS = -lc -lpthread
|
---|
| 193 | LIBENV = LIBPATH
|
---|
| 194 | COMPILER_VER = $(CXX) --version | awk 'NR==1'
|
---|
| 195 | endif
|
---|
| 196 | # }}} g++
|
---|
| 197 | endif
|
---|
| 198 |
|
---|
| 199 | ifeq ($(OS_FAMILY),hp-ux)
|
---|
| 200 |
|
---|
| 201 | ifneq ($(DEBUG),yes)
|
---|
| 202 | FLAG = +O2
|
---|
| 203 | endif
|
---|
| 204 |
|
---|
| 205 | # in pa-risc, +W690 option is disable a warning about header without line-feed.
|
---|
| 206 | ifeq ($(OS_DEF),hp)
|
---|
| 207 | EXT_SHARED = sl
|
---|
| 208 | HP_LD = /opt/aCC/bin/aCC
|
---|
| 209 | FLAG += -AA -mt +W690 +Z +DAportable
|
---|
| 210 | OPT_SHARED_LDFLAGS = +DAportable
|
---|
| 211 | endif
|
---|
| 212 |
|
---|
| 213 | ifeq ($(OS_DEF),hp64)
|
---|
| 214 | EXT_SHARED = sl
|
---|
| 215 | HP_LD = /opt/aCC/bin/aCC
|
---|
| 216 | FLAG += -AA -mt +W690 +z +DA2.0W
|
---|
| 217 | OPT_SHARED_LDFLAGS = +DA2.0W
|
---|
| 218 | endif
|
---|
| 219 |
|
---|
| 220 | # in itanium64, +W2001 option is disable a warning about header without line-feed.
|
---|
| 221 | ifeq ($(OS_DEF),hp_ia)
|
---|
| 222 | HP_LD = ld
|
---|
| 223 | FLAG += +DD32 +W2001
|
---|
| 224 | OPT_SHARED_LDFLAGS = +s +vallcompatwarnings -B symbolic
|
---|
| 225 | endif
|
---|
| 226 |
|
---|
| 227 | ifeq ($(OS_DEF),hp_ia64)
|
---|
| 228 | HP_LD = ld
|
---|
| 229 | FLAG += +DD64 +W2001
|
---|
| 230 | OPT_SHARED_LDFLAGS = +s +vallcompatwarnings -B symbolic
|
---|
| 231 | endif
|
---|
| 232 |
|
---|
| 233 | CC = cc
|
---|
| 234 | CXX = /opt/aCC/bin/aCC
|
---|
| 235 | LD = $(HP_LD)
|
---|
| 236 | AR = ar
|
---|
| 237 | CDEFS = -D_HPUX -D_HPUX_SOURCE -D_REENTRANT -D_POSIX_THREADS=1 -D_POSIX_C_SOURCE=199506L $(DEFS)
|
---|
| 238 | CFLAGS = $(FLAG) -q -n -z
|
---|
| 239 | LDFLAGS = $(FLAG) -q -n -Wl,+s
|
---|
| 240 | SHARED_LDFLAGS = $(HP_SHARED_LDFLAGS) -b
|
---|
| 241 | ARFLAGS = cru
|
---|
| 242 | LIBS = -lnsl -lc -lpthread -lstd_v2 -lCsup
|
---|
| 243 | LIBENV = SHLIB_PATH
|
---|
| 244 | COMPILER_VER = $(CXX) -V
|
---|
| 245 |
|
---|
| 246 | # g++ {{{
|
---|
| 247 | ifeq ($(compiler),g++)
|
---|
| 248 |
|
---|
| 249 | ifeq ($(OS_DEF),hp)
|
---|
| 250 | EXT_SHARED = sl
|
---|
| 251 | endif
|
---|
| 252 |
|
---|
| 253 | ifeq ($(OS_DEF),hp64)
|
---|
| 254 | EXT_SHARED = sl
|
---|
| 255 | endif
|
---|
| 256 |
|
---|
| 257 | ifeq ($(OS_DEF),hp_ia)
|
---|
| 258 | FLAG = -milp32
|
---|
| 259 | LDFLAGS =
|
---|
| 260 | endif
|
---|
| 261 |
|
---|
| 262 | ifeq ($(OS_DEF),hp_ia64)
|
---|
| 263 | FLAG = -mlp64
|
---|
| 264 | LDFLAGS =
|
---|
| 265 | endif
|
---|
| 266 |
|
---|
| 267 | CC = gcc
|
---|
| 268 | CXX = g++
|
---|
| 269 | LD = g++
|
---|
| 270 | AR = ar
|
---|
| 271 | CDEFS = -D_HPUX -D_REENTRANT -DMTHREAD -DPTHREAD -D_THREAD_SAFE -D_POSIX_C_SOURCE=199506L $(DEFS)
|
---|
| 272 | CFLAGS = $(FLAG) -Wall -fPIC -Wconversion -Wpointer-arith -Wcast-align
|
---|
| 273 | LDFLAGS = $(FLAG) -Wall
|
---|
| 274 | SHARED_LDFLAGS = $(LDFLAGS) -shared
|
---|
| 275 | ARFLAGS = cru
|
---|
| 276 | LIBS = -lnsl -lc -lpthread
|
---|
| 277 | LIBENV = SHLIB_PATH
|
---|
| 278 | COMPILER_VER = $(CXX) --version | awk 'NR==1'
|
---|
| 279 | endif
|
---|
| 280 | # }}} g++
|
---|
| 281 | endif
|
---|
| 282 |
|
---|
| 283 | ifeq ($(OS_FAMILY),linux)
|
---|
| 284 |
|
---|
| 285 | ifneq ($(shell find /usr/include -name "stropts.h"),)
|
---|
| 286 | DEFS += -D_HAVE_STROPTS_H
|
---|
| 287 | endif
|
---|
| 288 |
|
---|
| 289 | CC = gcc
|
---|
| 290 | CXX = g++
|
---|
| 291 | LD = $(CXX)
|
---|
| 292 | AR = ar
|
---|
| 293 | CDEFS = -D_LINUX -D_REENTRANT $(DEFS)
|
---|
| 294 | CFLAGS = $(FLAG) -m$(VER) -Wall -fPIC -Wconversion -Wpointer-arith -Wcast-align
|
---|
| 295 | LDFLAGS = $(FLAG) -m$(VER) -Wall
|
---|
| 296 | SHARED_LDFLAGS = $(LDFLAGS) -shared -rdynamic
|
---|
| 297 | ARFLAGS = rc
|
---|
| 298 | LIBS = -lpthread $(USER_LIBS)
|
---|
| 299 | LIBENV = LD_LIBRARY_PATH
|
---|
| 300 | COMPILER_VER = $(CXX) --version | awk 'NR==1'
|
---|
| 301 | endif
|
---|
| 302 |
|
---|
| 303 | ifeq ($(OS_FAMILY),mac)
|
---|
| 304 | CC = gcc
|
---|
| 305 | CXX = g++
|
---|
| 306 | LD = $(CXX)
|
---|
| 307 | AR = ar
|
---|
| 308 | CDEFS = -D_MAC -D_REENTRANT $(DEFS)
|
---|
| 309 | CFLAGS = $(FLAG) -m$(VER) -Wall -fPIC -Wconversion -Wpointer-arith -Wcast-align
|
---|
| 310 | LDFLAGS = $(FLAG) -m$(VER) -Wall
|
---|
| 311 | SHARED_LDFLAGS = $(LDFLAGS) -shared -rdynamic
|
---|
| 312 | ARFLAGS = rc
|
---|
| 313 | LIBS = -lpthread
|
---|
| 314 | LIBENV = LD_LIBRARY_PATH
|
---|
| 315 | COMPILER_VER = $(CXX) --version | awk 'NR==1'
|
---|
| 316 | endif
|
---|