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

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

#1 fix makefile for cygwin

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