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

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

#1 fix condition for doxygen making

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