GCC.H = 0
GCC.W = all
GCC.archs =
+GCC.sysroot =
+GCC.ldsysroot =
+GCC.minver =
+GCC.ldminver=
GCC.vis = 0
GCC.pic = 0
-GCC.g = none
+ifndef GCC.g
+ GCC.g = none
+endif
GCC.O = none
GCC.D =
GCC.I =
GCC.l =
GCC.end = 0
+GCC.extra = 1
+GCC.extra.h_o = 1
+GCC.extra.c_o = 1
+GCC.extra.dylib = 1
+GCC.extra.exe = 1
+GCC.extra.hpp_o = 1
+GCC.extra.cpp_o = 1
+GCC.extra.dylib++ = 1
+GCC.extra.exe++ = 1
+
GCC.args.pipe = -pipe
GCC.args.strip = -Wl,-S
GCC.args.dylib = -dynamiclib
GCC.args.H = -H
GCC.args.W = -W$(1)
GCC.args.archs = -arch $(1)
+GCC.args.sysroot = --sysroot=$(1)
+GCC.args.ldsysroot = -syslibroot $(1)
+GCC.args.minver = -mmacosx-version-min=$(1)
+GCC.args.ldminver = -macosx_version_min $(1)
GCC.args.vis = -fvisibility=hidden
GCC.args.pic = -fPIC
GCC.args.g.none = -g0
GCC.args.l = -l$(1)
GCC.args.end = -Wl,--end-group
+GCC.args.extra =
+GCC.args.extra.h_o =
+GCC.args.extra.c_o =
+GCC.args.extra.dylib =
+GCC.args.extra.exe =
+GCC.args.extra.hpp_o =
+GCC.args.extra.cpp_o =
+GCC.args.extra.dylib++ =
+GCC.args.extra.exe++ =
+
###############################################################################
define import.GCC
$(1).GCC.H = $$(GCC.H)
$(1).GCC.W = $$(GCC.W)
$(1).GCC.archs = $$(GCC.archs)
+ $(1).GCC.sysroot = $$(GCC.sysroot)
+ $(1).GCC.ldsysroot = $$(GCC.ldsysroot)
+ $(1).GCC.minver = $$(GCC.minver)
+ $(1).GCC.ldminver = $$(GCC.ldminver)
$(1).GCC.vis = $$(GCC.vis)
$(1).GCC.pic = $$(GCC.pic)
$(1).GCC.g = $$(GCC.g)
$(1).GCC.l = $$(GCC.l)
$(1).GCC.end = $$(GCC.end)
+ $(1).GCC.extra = $$(GCC.extra)
+ $(1).GCC.extra.h_o = $$(GCC.extra.h_o)
+ $(1).GCC.extra.c_o = $$(GCC.extra.c_o)
+ $(1).GCC.extra.dylib = $$(GCC.extra.dylib)
+ $(1).GCC.extra.exe = $$(GCC.extra.exe)
+ $(1).GCC.extra.hpp_o = $$(GCC.extra.hpp_o)
+ $(1).GCC.extra.cpp_o = $$(GCC.extra.cpp_o)
+ $(1).GCC.extra.dylib++ = $$(GCC.extra.dylib++)
+ $(1).GCC.extra.exe++ = $$(GCC.extra.exe++)
+
$(1).GCC.args.pipe = $$(GCC.args.pipe)
$(1).GCC.args.strip = $$(GCC.args.strip)
$(1).GCC.args.dylib = $$(GCC.args.dylib)
$(1).GCC.args.H = $$(GCC.args.H)
$(1).GCC.args.W = $$(GCC.args.W)
$(1).GCC.args.archs = $$(GCC.args.archs)
+ $(1).GCC.args.sysroot = $$(GCC.args.sysroot)
+ $(1).GCC.args.ldsysroot = $$(GCC.args.ldsysroot)
+ $(1).GCC.args.minver = $$(GCC.args.minver)
+ $(1).GCC.args.ldminver = $$(GCC.args.ldminver)
$(1).GCC.args.vis = $$(GCC.args.vis)
$(1).GCC.args.pic = $$(GCC.args.pic)
$(1).GCC.args.g.none = $$(GCC.args.g.none)
$(1).GCC.args.g.min = $$(GCC.args.g.min)
$(1).GCC.args.g.std = $$(GCC.args.g.std)
- $(1).GCC.args.g.max = $$(GCC.args.g.max )
+ $(1).GCC.args.g.max = $$(GCC.args.g.max)
$(1).GCC.args.O.none = $$(GCC.args.O.none)
$(1).GCC.args.O.size = $$(GCC.args.O.size)
$(1).GCC.args.O.speed = $$(GCC.args.O.speed)
$(1).GCC.args.l = $$(GCC.args.l)
$(1).GCC.args.end = $$(GCC.args.end)
+ $(1).GCC.args.extra = $$(GCC.args.extra)
+ $(1).GCC.args.extra.h_o = $$(GCC.args.extra.h_o)
+ $(1).GCC.args.extra.c_o = $$(GCC.args.extra.c_o)
+ $(1).GCC.args.extra.dylib = $$(GCC.args.extra.dylib)
+ $(1).GCC.args.extra.exe = $$(GCC.args.extra.exe)
+ $(1).GCC.args.extra.hpp_o = $$(GCC.args.extra.hpp_o)
+ $(1).GCC.args.extra.cpp_o = $$(GCC.args.extra.cpp_o)
+ $(1).GCC.args.extra.dylib++ = $$(GCC.args.extra.dylib++)
+ $(1).GCC.args.extra.exe++ = $$(GCC.args.extra.exe++)
+
###########################################################################
$(1).GCC.c = -c $$(4)
$(1).GCC.o = -o $$(3)
# FUNCTION: C precompiled headers
- $(1).GCC.H_O.args = !gcc ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
+ $(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
$(1).GCC.H_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.H_O.args),$$(1),$$(2))
# FUNCTION: C compile source
- $(1).GCC.C_O.args = !gcc ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
+ $(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
$(1).GCC.C_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.C_O.args),$$(1),$$(2))
# FUNCTION: C++ precompile headers
- $(1).GCC.HPP_O.args = !gxx ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
+ $(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
$(1).GCC.HPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.HPP_O.args),$$(1),$$(2))
# FUNCTION: C++ compile source
- $(1).GCC.CPP_O.args = !gxx ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
+ $(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
$(1).GCC.CPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.CPP_O.args),$$(1),$$(2))
###########################################################################
$(1).GCC.i = $$(4)
# FUNCTION: C link dynamic-lib
- $(1).GCC.DYLIB.args = !gcc ?pipe ?strip ?dylib ?ML *W *archs ?vis ?pic .g .O *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
+ $(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
$(1).GCC.DYLIB = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB.args),$$(1),$$(2))
# FUNCTION: C link executable
- $(1).GCC.EXE.args = !gcc ?pipe ?strip ?ML *W *archs ?vis ?pic .g .O *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
+ $(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
$(1).GCC.EXE = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE.args),$$(1),$$(2))
# FUNCTION: C++ link dynamic-lib
- $(1).GCC.DYLIB++.args = !gxx ?pipe ?strip ?dylib ?ML *W *archs ?vis ?pic .g .O *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
+ $(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
$(1).GCC.DYLIB++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB++.args),$$(1),$$(2))
# FUNCTION: C++ link executable
- $(1).GCC.EXE++.args = !gxx ?pipe ?strip ?ML *W *archs ?vis ?pic .g .O *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
+ $(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
$(1).GCC.EXE++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE++.args),$$(1),$$(2))
endef