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

Last change on this file since 74 was 74, checked in by cheese, 11 years ago

#1 fix makefile bug

File size: 3.1 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)
9
10#------------------------------------------------------------
11# set options
12#------------------------------------------------------------
13ifeq ($(DEBUG), true)
14 DEFS = -D_DEBUG
15 FLAG = -g
16else
17 DEFS =
18 FLAG = -O2
19endif
20
21EXT_SHARED = so
22EXT_STATIC = a
23EXT_EXECUTE = ex
24
25#------------------------------------------------------------
26# set platform
27#------------------------------------------------------------
28ifeq ($(UNAME_S), SunOS)
29 ifeq ($(UNAME_M), i86pc)
30 UNAME_S := $(UNAME_S)_x86
31 ifeq ($(VER), 32)
32 OS_DEF = solaris_x86
33 else
34 OS_DEF = solaris_x86_64
35 endif
36 else
37 ifeq ($(VER), 32)
38 OS_DEF = solaris
39 else
40 OS_DEF = solaris64
41 endif
42 endif
43endif
44
45ifeq ($(UNAME_S), AIX)
46 ifeq ($(VER), 32)
47 OS_DEF = aix
48 else
49 OS_DEF = aix64
50 endif
51endif
52
53ifeq ($(UNAME_S), HP-UX)
54 ifeq ($(UNAME_M), ia64)
55 UNAME_S := HP-UX_IA
56 ifeq ($(VER), 32)
57 OS_DEF = hp_ia
58 else
59 OS_DEF = hp_ia64
60 endif
61 else
62 ifeq ($(VER), 32)
63 OS_DEF = hp
64 else
65 OS_DEF = hp64
66 endif
67 endif
68endif
69
70ifeq ($(UNAME_S), Linux)
71 ifeq ($(UNAME_M), ppc64)
72 OS_DEF = linux_ppc64
73 else
74 ifeq ($(VER), 32)
75 OS_DEF = linux
76 else
77 OS_DEF = linux_x86_64
78 endif
79 endif
80endif
81
82ifeq ($(filter $(UNAME_A),CYGWIN),CYGWIN)
83 # forced
84 VER = 32
85 EXT_SHARED = dll
86 EXT_STATIC = lib
87 EXT_EXECUTE = exe
88
89 # run as linux
90 OS_DEF = linux
91endif
92
93#------------------------------------------------------------
94# set build env.
95#------------------------------------------------------------
96ifeq ($(OS_DEF), $(filter $(OS_DEF),solaris solaris_64 solaris_x86 solaris_x86_64))
97CC = gcc
98LD = gcc
99AR = ar
100CDEFS = $(DEFS) -D_SOLARIS -D_REENTRANT
101CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
102LDFLAGS = -m$(VER) -G -lnsl
103SHARED_FLAGS = $(LDFLAGS) -shared
104ARFLAGS = rc
105endif
106
107ifeq ($(OS_DEF), $(filter $(OS_DEF),aix aix64))
108CC = cc_r
109LD = ld
110AR =
111CDEFS = $(DEFS) -D_AIX -D_REENTRANT
112CFLAGS = $(FLAG) -q$(VER) -qcpluscmt
113LDFLAGS = -b$(VER) -lc -brtl -bexpall
114SHARED_FLAGS = $(LDFLAGS) -bnoentry -bM:SRE
115ARFLAGS =
116endif
117
118ifeq ($(OS_DEF), $(filter $(OS_DEF),hp hp64 hp_ia hp_ia64))
119CC = cc
120LD = ld
121AR =
122CDEFS = $(DEFS) -D_HPUX -D_REENTRANT
123CFLAGS = $(FLAG) +z -q -n +w1 -Ae -z
124LDFLAGS = -b +vallcompatwarnings
125SHARED_FLAGS = $(LDFLAGS) +s -B symblic
126ARFLAGS =
127
128 ifeq ($(OS_DEF), hp)
129 CFLAGS += +DAportable
130 EXT_SHARED = sl
131 endif
132
133 ifeq ($(OS_DEF), hp64)
134 CFLAGS += +DA2.0W
135 EXT_SHARED = sl
136 endif
137
138 ifeq ($(OS_DEF), hp_ia)
139 endif
140
141 ifeq ($(OS_DEF), hp_ia64)
142 CFLAGS += +DD64
143 endif
144endif
145
146ifeq ($(OS_DEF), $(filter $(OS_DEF),linux linux_x86_64 linux_ppc64))
147CC = gcc
148LD = gcc
149AR = ar
150CDEFS = $(DEFS) -D_LINUX -D_REENTRANT
151CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
152LDFLAGS = -m$(VER) -Wl,-Bsymbolic
153SHARED_FLAGS = $(LDFLAGS) -shared
154ARFLAGS = rc
155endif
Note: See TracBrowser for help on using the repository browser.