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

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

#1 fix makefile for solaris

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 ifeq ($(VER), 32)
31 OS_DEF = solaris_x86
32 else
33 OS_DEF = solaris_x86_64
34 endif
35 else
36 ifeq ($(VER), 32)
37 OS_DEF = solaris
38 else
39 OS_DEF = solaris64
40 endif
41 endif
42endif
43
44ifeq ($(UNAME_S), AIX)
45 ifeq ($(VER), 32)
46 OS_DEF = aix
47 else
48 OS_DEF = aix64
49 endif
50endif
51
52ifeq ($(UNAME_S), HP-UX)
53 ifeq ($(UNAME_M), ia64)
54 UNAME_S := HP-UX_IA
55 ifeq ($(VER), 32)
56 OS_DEF = hp_ia
57 else
58 OS_DEF = hp_ia64
59 endif
60 else
61 ifeq ($(VER), 32)
62 OS_DEF = hp
63 else
64 OS_DEF = hp64
65 endif
66 endif
67endif
68
69ifeq ($(UNAME_S), Linux)
70 ifeq ($(UNAME_M), ppc64)
71 OS_DEF = linux_ppc64
72 else
73 ifeq ($(VER), 32)
74 OS_DEF = linux
75 else
76 OS_DEF = linux_x86_64
77 endif
78 endif
79endif
80
81ifeq ($(filter $(UNAME_A),CYGWIN),CYGWIN)
82 # forced
83 VER = 32
84 EXT_SHARED = dll
85 EXT_STATIC = lib
86 EXT_EXECUTE = exe
87
88 # run as linux
89 OS_DEF = linux
90endif
91
92#------------------------------------------------------------
93# set build env.
94#------------------------------------------------------------
95ifeq ($(OS_DEF), $(filter $(OS_DEF),solaris solaris64 solaris_x86 solaris_x86_64))
96CC = gcc
97LD = gcc
98AR = ar
99CDEFS = $(DEFS) -D_SOLARIS -D_REENTRANT
100CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
101LDFLAGS = -m$(VER) -lnsl -lsocket
102SHARED_FLAGS = $(LDFLAGS) -G
103ARFLAGS = rc
104endif
105
106ifeq ($(OS_DEF), $(filter $(OS_DEF),aix aix64))
107CC = cc_r
108LD = ld
109AR = ar
110CDEFS = $(DEFS) -D_AIX -D_REENTRANT -D__STDC__=1
111CFLAGS = $(FLAG) -q$(VER) -qcpluscmt
112LDFLAGS = -b$(VER) -lc -brtl
113SHARED_FLAGS = $(LDFLAGS) -bnoentry -bM:SRE -bexpall
114ARFLAGS = cru
115endif
116
117ifeq ($(OS_DEF), $(filter $(OS_DEF),hp hp64 hp_ia hp_ia64))
118CC = cc
119LD = ld
120AR = ar
121CDEFS = $(DEFS) -D_HPUX -D_REENTRANT
122CFLAGS = $(FLAG) +z -q -n
123LDFLAGS = -lc
124SHARED_FLAGS = $(LDFLAGS) -b +s
125ARFLAGS = cru
126
127 ifeq ($(OS_DEF), hp)
128 CFLAGS += +DA1.1 +s
129 EXT_SHARED = sl
130 endif
131
132 ifeq ($(OS_DEF), hp64)
133 CFLAGS += +DA2.0W +w1 -Ae -z +u4
134 EXT_SHARED = sl
135 endif
136
137 ifeq ($(OS_DEF), hp_ia)
138 CFLAGS += +DA1.1 +s
139 endif
140
141 ifeq ($(OS_DEF), hp_ia64)
142 CFLAGS += +DD64 +w1 -Ae -z +u4
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.