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
Line 
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)
9DOXYGEN := $(shell which doxygen)
10
11DOXYGEN_OUTPUT_PATH = ../Documentation
12DOXYGEN_PATH = ../docs
13DOXYGEN_FILE = $(DOXYGEN_PATH)/doxyfile
14
15#------------------------------------------------------------
16# set options
17#------------------------------------------------------------
18ifeq ($(DEBUG), yes)
19 DEFS = -D_DEBUG
20 FLAG = -g
21else
22 DEFS =
23 FLAG = -O2
24endif
25
26EXT_SHARED = so
27EXT_STATIC = a
28EXT_EXECUTE = ex
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
86ifeq ($(UNAME_S), Darwin)
87 ifeq ($(VER), 32)
88 OS_DEF = mac
89 else
90 OS_DEF = mac_x86_64
91 endif
92endif
93
94ifeq ($(filter $(UNAME_A),Cygwin),Cygwin)
95 # forced
96 VER = 32
97 EXT_SHARED = dll
98 EXT_STATIC = lib
99 EXT_EXECUTE = exe
100
101 # run as linux
102 OS_DEF = linux
103endif
104
105#------------------------------------------------------------
106# set build env.
107#------------------------------------------------------------
108ifeq ($(OS_DEF), $(filter $(OS_DEF),solaris solaris64 solaris_x86 solaris_x86_64))
109CC = gcc
110LD = gcc
111AR = ar
112CDEFS = $(DEFS) -D_SOLARIS -D_REENTRANT
113CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
114LDFLAGS = -m$(VER)
115SHARED_FLAGS = $(LDFLAGS) -G
116ARFLAGS = rc
117LIBS = -lnsl -lsocket -lpthread
118endif
119
120ifeq ($(OS_DEF), $(filter $(OS_DEF),aix aix64))
121CC = cc_r
122LD = ld
123AR = ar
124CDEFS = $(DEFS) -D_AIX -D_REENTRANT -D__STDC__=1
125CFLAGS = $(FLAG) -q$(VER) -qcpluscmt
126LDFLAGS = -b$(VER) -brtl
127SHARED_FLAGS = $(LDFLAGS) -bnoentry -bM:SRE -bexpall
128ARFLAGS = cru
129LIBS = -lc -lpthread
130endif
131
132ifeq ($(OS_DEF), $(filter $(OS_DEF),hp hp64 hp_ia hp_ia64))
133CC = cc
134LD = ld
135AR = ar
136CDEFS = $(DEFS) -D_HPUX -D_REENTRANT
137CFLAGS = $(FLAG) +z -q -n
138LDFLAGS =
139SHARED_FLAGS = $(LDFLAGS) -b +s
140ARFLAGS = cru
141LIBS = -lc -lpthread
142
143 ifeq ($(OS_DEF), hp)
144 CFLAGS += +DA1.1 +s
145 EXT_SHARED = sl
146 endif
147
148 ifeq ($(OS_DEF), hp64)
149 CFLAGS += +DA2.0W +w1 -Ae -z +u4
150 EXT_SHARED = sl
151 endif
152
153 ifeq ($(OS_DEF), hp_ia)
154 CFLAGS += +DA1.1 +s
155 endif
156
157 ifeq ($(OS_DEF), hp_ia64)
158 CFLAGS += +DD64 +w1 -Ae -z +u4
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
167CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
168LDFLAGS = -m$(VER)
169SHARED_FLAGS = $(LDFLAGS) -shared
170ARFLAGS = rc
171LIBS = -lpthread
172endif
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.