2 GCC.gxx = $(dir $(GCC.gcc))$(subst gcc,g++,$(notdir $(GCC.gcc)))
4 GCC.strip = $$(if $$(filter none,$$(GCC.g)),1)
43 GCC.args.strip = -Wl,-S
44 GCC.args.dylib = -dynamiclib
45 GCC.args.ML = -fmessage-length=0
48 GCC.args.archs = -arch $(1)
49 GCC.args.sysroot = --sysroot=$(1)
50 GCC.args.ldsysroot = -syslibroot $(1)
51 GCC.args.minver = -mmacosx-version-min=$(1)
52 GCC.args.ldminver = -macosx_version_min $(1)
53 GCC.args.vis = -fvisibility=hidden
56 GCC.args.g.min = -gdwarf-2 -g1
57 GCC.args.g.std = -gdwarf-2
58 GCC.args.g.max = -gdwarf-2 -g3
61 GCC.args.O.speed = -O3
64 GCC.args.muldefs = -Wl,--allow-multiple-definition
65 GCC.args.start = -Wl,--start-group
67 GCC.args.f = -framework $(1)
70 GCC.args.end = -Wl,--end-group
75 GCC.args.extra.dylib =
77 GCC.args.extra.hpp_o =
78 GCC.args.extra.cpp_o =
79 GCC.args.extra.dylib++ =
80 GCC.args.extra.exe++ =
82 ###############################################################################
85 $(1).GCC.gcc = $$(GCC.gcc)
86 $(1).GCC.gxx = $$(dir $$($(1).GCC.gcc))$$(subst gcc,g++,$$(notdir $$($(1).GCC.gcc)))
88 $(1).GCC.pipe = $$(GCC.pipe)
89 $(1).GCC.strip = $$(if $$(filter none,$$($(1).GCC.g)),1)
90 $(1).GCC.dylib = $$(GCC.dylib)
91 $(1).GCC.ML = $$(GCC.ML)
92 $(1).GCC.H = $$(GCC.H)
93 $(1).GCC.W = $$(GCC.W)
94 $(1).GCC.archs = $$(GCC.archs)
95 $(1).GCC.sysroot = $$(GCC.sysroot)
96 $(1).GCC.ldsysroot = $$(GCC.ldsysroot)
97 $(1).GCC.minver = $$(GCC.minver)
98 $(1).GCC.ldminver = $$(GCC.ldminver)
99 $(1).GCC.vis = $$(GCC.vis)
100 $(1).GCC.pic = $$(GCC.pic)
101 $(1).GCC.g = $$(GCC.g)
102 $(1).GCC.O = $$(GCC.O)
103 $(1).GCC.D = $$(GCC.D)
104 $(1).GCC.I = $$(GCC.I)
105 $(1).GCC.muldefs = $$(GCC.muldefs)
106 $(1).GCC.start = $$(GCC.start)
107 $(1).GCC.a = $$(GCC.a)
108 $(1).GCC.F = $$(GCC.F)
109 $(1).GCC.f = $$(GCC.f)
110 $(1).GCC.L = $$(GCC.L)
111 $(1).GCC.l = $$(GCC.l)
112 $(1).GCC.end = $$(GCC.end)
114 $(1).GCC.extra = $$(GCC.extra)
115 $(1).GCC.extra.h_o = $$(GCC.extra.h_o)
116 $(1).GCC.extra.c_o = $$(GCC.extra.c_o)
117 $(1).GCC.extra.dylib = $$(GCC.extra.dylib)
118 $(1).GCC.extra.exe = $$(GCC.extra.exe)
119 $(1).GCC.extra.hpp_o = $$(GCC.extra.hpp_o)
120 $(1).GCC.extra.cpp_o = $$(GCC.extra.cpp_o)
121 $(1).GCC.extra.dylib++ = $$(GCC.extra.dylib++)
122 $(1).GCC.extra.exe++ = $$(GCC.extra.exe++)
124 $(1).GCC.args.pipe = $$(GCC.args.pipe)
125 $(1).GCC.args.strip = $$(GCC.args.strip)
126 $(1).GCC.args.dylib = $$(GCC.args.dylib)
127 $(1).GCC.args.ML = $$(GCC.args.ML)
128 $(1).GCC.args.H = $$(GCC.args.H)
129 $(1).GCC.args.W = $$(GCC.args.W)
130 $(1).GCC.args.archs = $$(GCC.args.archs)
131 $(1).GCC.args.sysroot = $$(GCC.args.sysroot)
132 $(1).GCC.args.ldsysroot = $$(GCC.args.ldsysroot)
133 $(1).GCC.args.minver = $$(GCC.args.minver)
134 $(1).GCC.args.ldminver = $$(GCC.args.ldminver)
135 $(1).GCC.args.vis = $$(GCC.args.vis)
136 $(1).GCC.args.pic = $$(GCC.args.pic)
137 $(1).GCC.args.g.none = $$(GCC.args.g.none)
138 $(1).GCC.args.g.min = $$(GCC.args.g.min)
139 $(1).GCC.args.g.std = $$(GCC.args.g.std)
140 $(1).GCC.args.g.max = $$(GCC.args.g.max)
141 $(1).GCC.args.O.none = $$(GCC.args.O.none)
142 $(1).GCC.args.O.size = $$(GCC.args.O.size)
143 $(1).GCC.args.O.speed = $$(GCC.args.O.speed)
144 $(1).GCC.args.D = $$(GCC.args.D)
145 $(1).GCC.args.I = $$(GCC.args.I)
146 $(1).GCC.args.muldefs = $$(GCC.args.muldefs)
147 $(1).GCC.args.start = $$(GCC.args.start)
148 $(1).GCC.args.F = $$(GCC.args.F)
149 $(1).GCC.args.f = $$(GCC.args.f)
150 $(1).GCC.args.L = $$(GCC.args.L)
151 $(1).GCC.args.l = $$(GCC.args.l)
152 $(1).GCC.args.end = $$(GCC.args.end)
154 $(1).GCC.args.extra = $$(GCC.args.extra)
155 $(1).GCC.args.extra.h_o = $$(GCC.args.extra.h_o)
156 $(1).GCC.args.extra.c_o = $$(GCC.args.extra.c_o)
157 $(1).GCC.args.extra.dylib = $$(GCC.args.extra.dylib)
158 $(1).GCC.args.extra.exe = $$(GCC.args.extra.exe)
159 $(1).GCC.args.extra.hpp_o = $$(GCC.args.extra.hpp_o)
160 $(1).GCC.args.extra.cpp_o = $$(GCC.args.extra.cpp_o)
161 $(1).GCC.args.extra.dylib++ = $$(GCC.args.extra.dylib++)
162 $(1).GCC.args.extra.exe++ = $$(GCC.args.extra.exe++)
164 ###########################################################################
166 $(1).GCC.c = -c $$(4)
167 $(1).GCC.o = -o $$(3)
169 # FUNCTION: C precompiled headers
170 $(1).GCC.H_O.args = !gcc ?pipe ?ML ?H *W *archs *sysroot *minver ?vis ?pic .g .O ?extra ?extra.h_o *D *I !c !o
171 $(1).GCC.H_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.H_O.args),$$(1),$$(2))
173 # FUNCTION: C compile source
174 $(1).GCC.C_O.args = !gcc ?pipe ?ML ?H *W *archs *sysroot *minver ?vis ?pic .g .O ?extra ?extra.c_o *D *I !c !o
175 $(1).GCC.C_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.C_O.args),$$(1),$$(2))
177 # FUNCTION: C++ precompile headers
178 $(1).GCC.HPP_O.args = !gxx ?pipe ?ML ?H *W *archs *sysroot *minver ?vis ?pic .g .O ?extra ?extra.hpp_o *D *I !c !o
179 $(1).GCC.HPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.HPP_O.args),$$(1),$$(2))
181 # FUNCTION: C++ compile source
182 $(1).GCC.CPP_O.args = !gxx ?pipe ?ML ?H *W *archs *sysroot *minver ?vis ?pic .g .O ?extra ?extra.cpp_o *D *I !c !o
183 $(1).GCC.CPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.CPP_O.args),$$(1),$$(2))
185 ###########################################################################
189 # FUNCTION: C link dynamic-lib
190 $(1).GCC.DYLIB.args = !gcc ?pipe ?strip ?dylib ?extra.dylib ?ML *W *archs *sysroot *minver ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
191 $(1).GCC.DYLIB = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB.args),$$(1),$$(2))
193 # FUNCTION: C link executable
194 $(1).GCC.EXE.args = !gcc ?pipe ?strip ?extra.exe ?ML *W *archs *sysroot *minver ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
195 $(1).GCC.EXE = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE.args),$$(1),$$(2))
197 # FUNCTION: C++ link dynamic-lib
198 $(1).GCC.DYLIB++.args = !gxx ?pipe ?strip ?dylib ?extra.dylib++ ?ML *W *arch *sysroot *minvers ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
199 $(1).GCC.DYLIB++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB++.args),$$(1),$$(2))
201 # FUNCTION: C++ link executable
202 $(1).GCC.EXE++.args = !gxx ?pipe ?strip ?extra.exe++ ?ML *W *archs *sysroot *minver ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
203 $(1).GCC.EXE++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE++.args),$$(1),$$(2))