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

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

#1 fix build env. for hpux

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 -c
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 = ar
111CDEFS = $(DEFS) -D_AIX -D_REENTRANT -D__STDC__=1
112CFLAGS = $(FLAG) -q$(VER) -qcpluscmt -c
113LDFLAGS = -b$(VER) -lc -brtl -bexpall
114SHARED_FLAGS = $(LDFLAGS) -bnoentry -bM:SRE
115ARFLAGS = cru
116endif
117
118ifeq ($(OS_DEF), $(filter $(OS_DEF),hp hp64 hp_ia hp_ia64))
119CC = cc
120LD = ld
121AR = ar
122CDEFS = $(DEFS) -D_HPUX -D_REENTRANT
123CFLAGS = $(FLAG) +z -q -n -c
124LDFLAGS = -lc
125SHARED_FLAGS = $(LDFLAGS) -b +s
126ARFLAGS = cru
127
128 ifeq ($(OS_DEF), hp)
129 CFLAGS += +DA1.1 +s
130 EXT_SHARED = sl
131 endif
132
133 ifeq ($(OS_DEF), hp64)
134 CFLAGS += +DA2.0W +w1 -Ae -z +u4
135 EXT_SHARED = sl
136 endif
137
138 ifeq ($(OS_DEF), hp_ia)
139 CFLAGS += +DA1.1 +s
140 endif
141
142 ifeq ($(OS_DEF), hp_ia64)
143 CFLAGS += +DD64 +w1 -Ae -z +u4
144 endif
145endif
146
147ifeq ($(OS_DEF), $(filter $(OS_DEF),linux linux_x86_64 linux_ppc64))
148CC = gcc
149LD = gcc
150AR = ar
151CDEFS = $(DEFS) -D_LINUX -D_REENTRANT
152CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC -c
153LDFLAGS = -m$(VER) -Wl,-Bsymbolic
154SHARED_FLAGS = $(LDFLAGS) -shared
155ARFLAGS = rc
156endif
Note: See TracBrowser for help on using the repository browser.