source: libcf/trunk/makeinclude/platform.mk@ 151

Last change on this file since 151 was 151, checked in by cheese, 10 years ago

#1 fix interface and add util module

File size: 3.7 KB
RevLine 
[73]1#------------------------------------------------------------
2# set command to check os
3#------------------------------------------------------------
4UNAME_S := $(shell uname -s)
5UNAME_M := $(shell uname -m)
6UNAME_R := $(shell uname -r)
7UNAME_V := $(shell uname -v)
8UNAME_A := $(shell uname -a)
[119]9DOXYGEN := $(shell which doxygen)
[73]10
[151]11DOXYGEN_OUTPUT_PATH = ../Documentation
[132]12DOXYGEN_PATH = ../docs
13DOXYGEN_FILE = $(DOXYGEN_PATH)/doxyfile
14
[73]15#------------------------------------------------------------
16# set options
17#------------------------------------------------------------
[151]18ifeq ($(DEBUG), yes)
[73]19 DEFS = -D_DEBUG
20 FLAG = -g
21else
22 DEFS =
23 FLAG = -O2
24endif
25
26EXT_SHARED = so
27EXT_STATIC = a
[74]28EXT_EXECUTE = ex
[73]29
30#------------------------------------------------------------
31# set platform
32#------------------------------------------------------------
33ifeq ($(UNAME_S), SunOS)
34 ifeq ($(UNAME_M), i86pc)
35 ifeq ($(VER), 32)
36 OS_DEF = solaris_x86
37 else
38 OS_DEF = solaris_x86_64
39 endif
40 else
41 ifeq ($(VER), 32)
42 OS_DEF = solaris
43 else
44 OS_DEF = solaris64
45 endif
46 endif
47endif
48
49ifeq ($(UNAME_S), AIX)
50 ifeq ($(VER), 32)
51 OS_DEF = aix
52 else
53 OS_DEF = aix64
54 endif
55endif
56
57ifeq ($(UNAME_S), HP-UX)
58 ifeq ($(UNAME_M), ia64)
59 UNAME_S := HP-UX_IA
60 ifeq ($(VER), 32)
61 OS_DEF = hp_ia
62 else
63 OS_DEF = hp_ia64
64 endif
65 else
66 ifeq ($(VER), 32)
67 OS_DEF = hp
68 else
69 OS_DEF = hp64
70 endif
71 endif
72endif
73
74ifeq ($(UNAME_S), Linux)
75 ifeq ($(UNAME_M), ppc64)
76 OS_DEF = linux_ppc64
77 else
78 ifeq ($(VER), 32)
79 OS_DEF = linux
80 else
81 OS_DEF = linux_x86_64
82 endif
83 endif
84endif
85
[134]86ifeq ($(UNAME_S), Darwin)
87 ifeq ($(VER), 32)
88 OS_DEF = mac
89 else
90 OS_DEF = mac_x86_64
91 endif
92endif
93
[97]94ifeq ($(filter $(UNAME_A),Cygwin),Cygwin)
[73]95 # forced
96 VER = 32
97 EXT_SHARED = dll
98 EXT_STATIC = lib
[74]99 EXT_EXECUTE = exe
[73]100
101 # run as linux
102 OS_DEF = linux
103endif
104
105#------------------------------------------------------------
106# set build env.
107#------------------------------------------------------------
[78]108ifeq ($(OS_DEF), $(filter $(OS_DEF),solaris solaris64 solaris_x86 solaris_x86_64))
[73]109CC = gcc
110LD = gcc
111AR = ar
112CDEFS = $(DEFS) -D_SOLARIS -D_REENTRANT
[76]113CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
[83]114LDFLAGS = -m$(VER)
[78]115SHARED_FLAGS = $(LDFLAGS) -G
[73]116ARFLAGS = rc
[83]117LIBS = -lnsl -lsocket -lpthread
[73]118endif
119
120ifeq ($(OS_DEF), $(filter $(OS_DEF),aix aix64))
121CC = cc_r
122LD = ld
[75]123AR = ar
124CDEFS = $(DEFS) -D_AIX -D_REENTRANT -D__STDC__=1
[76]125CFLAGS = $(FLAG) -q$(VER) -qcpluscmt
[83]126LDFLAGS = -b$(VER) -brtl
[76]127SHARED_FLAGS = $(LDFLAGS) -bnoentry -bM:SRE -bexpall
[75]128ARFLAGS = cru
[83]129LIBS = -lc -lpthread
[73]130endif
131
132ifeq ($(OS_DEF), $(filter $(OS_DEF),hp hp64 hp_ia hp_ia64))
133CC = cc
134LD = ld
[75]135AR = ar
[73]136CDEFS = $(DEFS) -D_HPUX -D_REENTRANT
[77]137CFLAGS = $(FLAG) +z -q -n
[83]138LDFLAGS =
[75]139SHARED_FLAGS = $(LDFLAGS) -b +s
140ARFLAGS = cru
[83]141LIBS = -lc -lpthread
[73]142
143 ifeq ($(OS_DEF), hp)
[75]144 CFLAGS += +DA1.1 +s
[73]145 EXT_SHARED = sl
146 endif
147
148 ifeq ($(OS_DEF), hp64)
[75]149 CFLAGS += +DA2.0W +w1 -Ae -z +u4
[73]150 EXT_SHARED = sl
151 endif
152
153 ifeq ($(OS_DEF), hp_ia)
[75]154 CFLAGS += +DA1.1 +s
[73]155 endif
156
157 ifeq ($(OS_DEF), hp_ia64)
[75]158 CFLAGS += +DD64 +w1 -Ae -z +u4
[73]159 endif
160endif
161
162ifeq ($(OS_DEF), $(filter $(OS_DEF),linux linux_x86_64 linux_ppc64))
163CC = gcc
164LD = gcc
165AR = ar
166CDEFS = $(DEFS) -D_LINUX -D_REENTRANT
[77]167CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
[134]168LDFLAGS = -m$(VER)
[73]169SHARED_FLAGS = $(LDFLAGS) -shared
170ARFLAGS = rc
[83]171LIBS = -lpthread
[73]172endif
[134]173
174ifeq ($(OS_DEF), $(filter $(OS_DEF),mac mac_x86_64))
175CC = gcc
176LD = gcc
177AR = ar
178CDEFS = $(DEFS) -D_MAC -D_REENTRANT
179CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
180LDFLAGS = -m$(VER)
181SHARED_FLAGS = $(LDFLAGS) -shared
182ARFLAGS = rc
183LIBS = -lpthread
184endif
Note: See TracBrowser for help on using the repository browser.