source: libcf++/trunk/makeinclude/c-native-compiler.platform.mk@ 4

Last change on this file since 4 was 4, checked in by cheese, 9 years ago

#1 commit prototype

File size: 4.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), yes)
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 OS_FAMILY = solaris
30 ifeq ($(UNAME_M), i86pc)
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
43# java
44 ifeq ($(UNAME_M), i86pc)
45 JAVA_HOME = /usr/j2se
46 else
47 JAVA_HOME = /usr/java1.4.2
48 endif
49endif
50
51ifeq ($(UNAME_S), AIX)
52 OS_FAMILY = aix
53 ifeq ($(VER), 32)
54 OS_DEF = aix
55 JAVA_HOME = /usr/java14
56 else
57 OS_DEF = aix64
58 JAVA_HOME = /usr/java14_64
59 endif
60# java
61endif
62
63ifeq ($(UNAME_S), HP-UX)
64 OS_FAMILY = hp-ux
65 ifeq ($(UNAME_M), ia64)
66 UNAME_S := HP-UX_IA
67 ifeq ($(VER), 32)
68 OS_DEF = hp_ia
69 else
70 OS_DEF = hp_ia64
71 endif
72 else
73 ifeq ($(VER), 32)
74 OS_DEF = hp
75 else
76 OS_DEF = hp64
77 endif
78 endif
79# java
80 JAVA_HOME = /opt/java1.4
81endif
82
83ifeq ($(UNAME_S), Linux)
84 OS_FAMILY = linux
85 ifeq ($(UNAME_M), ppc64)
86 OS_DEF = linux_ppc64
87 else
88 ifeq ($(VER), 32)
89 OS_DEF = linux
90 else
91 OS_DEF = linux_x86_64
92 endif
93 endif
94# java
95 #----------------------------------------
96 # for [myusgun@dev.softforum.com] -_-;
97 #----------------------------------------
98 ifeq ($(VER), 32)
99 JAVA_HOME = ${HOME}/java/j2sdk1.4.2_19
100 endif
101endif
102
103ifeq ($(UNAME_S), Darwin)
104 OS_FAMILY = mac
105 ifeq ($(VER), 32)
106 OS_DEF = mac
107 else
108 OS_DEF = mac_x86_64
109 endif
110endif
111
112ifeq ($(filter $(UNAME_A),Cygwin),Cygwin)
113 # forced
114 VER = 32
115 EXT_SHARED = dll
116 EXT_STATIC = lib
117 EXT_EXECUTE = exe
118
119 # run as linux
120 OS_DEF = linux
121endif
122
123ifeq ($(JAVA_HOME),)
124 JAVA_HOME = $(USER_JAVA_HOME)
125endif
126ifeq ($(JAVA_HOME),)
127$(error JAVA_HOME=\'\'.)
128endif
129
130#------------------------------------------------------------
131# set build env.
132#------------------------------------------------------------
133#ifeq ($(OS_DEF), $(filter $(OS_DEF),solaris solaris64 solaris_x86 solaris_x86_64))
134ifeq ($(OS_FAMILY), solaris)
135CC = gcc
136LD = gcc
137AR = ar
138CDEFS = $(DEFS) -D_SOLARIS -D_REENTRANT
139CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
140LDFLAGS = -m$(VER)
141SHARED_FLAGS = $(LDFLAGS)
142ARFLAGS = rc
143LIBS = -lnsl -lsocket -lpthread
144LIBENV = LD_LIBRARY_PATH
145
146 ifeq ($(OS_DEF), solaris_x86_64)
147 SHARED_FLAGS += -shared
148 else
149 SHARED_FLAGS += -G
150 endif
151endif
152
153ifeq ($(OS_FAMILY), aix)
154CC = cc_r
155LD = ld
156AR = ar
157CDEFS = $(DEFS) -D_AIX -D_REENTRANT -D__STDC__=1
158CFLAGS = $(FLAG) -q$(VER) -qcpluscmt
159LDFLAGS = -b$(VER) -brtl
160SHARED_FLAGS = $(LDFLAGS) -bnoentry -bM:SRE -bexpall
161ARFLAGS = cru
162LIBS = -lc -lpthread
163LIBENV = LIBPATH
164endif
165
166ifeq ($(OS_FAMILY), hp-ux)
167CC = cc
168LD = ld
169AR = ar
170CDEFS = $(DEFS) -D_HPUX -D_REENTRANT
171CFLAGS = $(FLAG) +z -q -n -w1 -Ae -z +s
172LDFLAGS =
173SHARED_FLAGS = $(LDFLAGS) -b +s
174ARFLAGS = cru
175LIBS = -lc -lpthread
176LIBENV = SHLIB_PATH
177
178 ifeq ($(OS_DEF), hp)
179 CFLAGS += +DAportable
180 EXT_SHARED = sl
181 endif
182
183 ifeq ($(OS_DEF), hp64)
184 CFLAGS += +DA2.0W
185 EXT_SHARED = sl
186 endif
187
188 ifeq ($(OS_DEF), hp_ia)
189 CFLAGS += +DA1.1 +s
190 endif
191
192 ifeq ($(OS_DEF), hp_ia64)
193 CFLAGS += +DD64 +w1 -Ae -z +u4
194 endif
195endif
196
197ifeq ($(OS_FAMILY), linux)
198CC = gcc
199LD = gcc
200AR = ar
201CDEFS = $(DEFS) -D_LINUX -D_REENTRANT
202CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
203LDFLAGS = -m$(VER)
204SHARED_FLAGS = $(LDFLAGS) -shared
205ARFLAGS = rc
206LIBS = -lpthread
207LIBENV = LD_LIBRARY_PATH
208endif
209
210ifeq ($(OS_FAMILY), mac)
211CC = gcc
212LD = gcc
213AR = ar
214CDEFS = $(DEFS) -D_MAC -D_REENTRANT
215CFLAGS = $(FLAG) -m$(VER) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
216LDFLAGS = -m$(VER)
217SHARED_FLAGS = $(LDFLAGS) -shared
218ARFLAGS = rc
219LIBS =
220LIBENV =
221endif
Note: See TracBrowser for help on using the repository browser.