-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathccvars
More file actions
151 lines (125 loc) · 2.74 KB
/
ccvars
File metadata and controls
151 lines (125 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
CPP=g++
CC=gcc
gmake_which=$(shell which gmake 2>/dev/null)
ifeq (/gmake,$(findstring /gmake,$(gmake_which)))
MAKE=gmake
endif
ifndef MAKE
make_info=$(shell make --version)
ifeq (GNU,$(findstring GNU,$(make_info)))
MAKE=make
else
$(error No gmake and make is not gmake)
endif
endif
uname_info=$(shell uname -a)
ifeq (Darwin,$(findstring Darwin,$(uname_info)))
MAC=MAC
endif
ifeq (Cygwin,$(findstring Cygwin,$(uname_info)))
CYGWIN=CYGWIN
endif
gcc_version_info=$(shell gcc --version)
gcc_4_test=) 4
gcc_3_test=) 3
ifeq ($(gcc_4_test), $(findstring $(gcc_4_test),$(gcc_version_info)))
GCC4=GCC4
endif
ifeq ($(gcc_3_test), $(findstring $(gcc_3_test),$(gcc_version_info)))
GCC3=GCC3
endif
ifndef GCC3
ifndef GCC4
$(error GCC major version is neither 3 nor 4, gcc --version says:$(gcc_version_info).)
endif
endif
ifdef GCC3
ifdef GCC4
$(error GCC major version cannot be 3 and 4 at one time)
endif
endif
LINKFLAGS=-lm
DEBUGFLAG=-g
OMITSYMBOLINFOFLAG=-s
OPTIMISEFLAG=-O3
NOOPTIMISEFLAG=-O0
STATICFLAG=-static
PARANOIC_FLAG=-Wextra
MINGW_FLAG=-mno-cygwin
PPRO_FLAG=-mpentiumpro
ifdef GCC4
INCLUDEKEY=-iquote
INCLUDECLOSETERM=
else #GCC3
INCLUDEKEY=-I
INCLUDECLOSETERM= -I-
endif
ifdef MAC
ifdef GCC4
OMITSYMBOLINFOFLAG=
# -s is obsoleted for mac, gcc4
endif
endif
ifdef CYGWIN
ifdef GCC4
LINKFLAGS=$(LINKGLAGS) -enable-auto-import
endif
endif
ifndef PROFFLAG
PROFFLAG=-pg
endif
CCFLAGS:=-c -pipe -Wall $(includeflags)
CPPFLAGS:=-c -pipe -ffor-scope -Wall $(includeflags)
ifdef PARANOIC
CCFLAGS:=$(CCFLAGS) $(PARANOIC_FLAG)
CPPFLAGS:=$(CPPFLAGS) $(PARANOIC_FLAG)
endif
ifdef MINGW
CCFLAGS:=$(CCFLAGS) $(MINGW_FLAG)
CPPFLAGS:=$(CPPFLAGS) $(MINGW_FLAG)
LINKFLAGS:=$(LINKFLAGS) $(MINGW_FLAG)
endif
ifdef PENTIUMPRO
CCFLAGS:= $(CCFLAGS) $(PPRO_FLAG)
CPPFLAGS:= $(CPPFLAGS) $(PPRO_FLAG)
endif
ifdef OPTIMISE
CCFLAGS:= $(CCFLAGS) $(OPTIMISEFLAG)
CPPFLAGS:= $(CPPFLAGS) $(OPTIMISEFLAG)
endif
ifdef OPT
CCFLAGS:= $(CCFLAGS) $(OPTIMISEFLAG)
CPPFLAGS:= $(CPPFLAGS) $(OPTIMISEFLAG)
endif
ifdef NOOPTIMISE
CCFLAGS:= $(CCFLAGS) $(NOOPTIMISEFLAG)
CPPFLAGS:= $(CPPFLAGS) $(NOOPTIMISEFLAG)
endif
ifdef NOOPT
CCFLAGS:= $(CCFLAGS) $(NOOPTIMISEFLAG)
CPPFLAGS:= $(CPPFLAGS) $(NOOPTIMISEFLAG)
endif
ifdef PROFILE
DEBUG=PROFILE #just to switch it on
CCFLAGS:=$(CCFLAGS) $(PROFFLAG) $(DEBUGFLAG)
CPPFLAGS:=$(CPPFLAGS) $(PROFFLAG) $(DEBUGFLAG)
ifdef GCC4
LINKFLAGS:=$(LINKFLAGS) $(PROFFLAG) $(DEBUGFLAG)
else #GCC3
LINKFLAGS:=$(LINKFLAGS:-l%=-l%_p) $(PROFFLAG) $(DEBUGFLAG)
endif
endif
ifdef STATIC
LINKFLAGS:=$(LINKFLAGS) $(STATICFLAG)
endif
ifdef DEBUG
CCFLAGS:=$(CCFLAGS) $(DEBUGFLAG) $(NOOPTIMISEFLAG)
CPPFLAGS:=$(CPPFLAGS) $(DEBUGFLAG) $(NOOPTIMISEFLAG)
else
LINKFLAGS:=$(LINKFLAGS) $(OMITSYMBOLINFOFLAG)
endif
ifdef CYGWIN
EXEEXT=.exe
else
EXEEXT=
endif