OSDN Git Service

This patch adds mingw32 cross-compilation support to HandBrake trunk to
[handbrake-jp/handbrake-jp-git.git] / make / include / gcc.defs
1 GCC.gcc = gcc
2 GCC.gxx = $(dir $(GCC.gcc))$(subst gcc,g++,$(notdir $(GCC.gcc)))
3
4 GCC.strip   = $$(if $$(filter none,$$(GCC.g)),1)
5 GCC.dylib   = 1
6 GCC.pipe    = 1
7 GCC.ML      = 1
8 GCC.H       = 0
9 GCC.W       = all
10 GCC.archs   =
11 GCC.vis     = 0
12 GCC.pic     = 0
13 GCC.g       = none
14 GCC.O       = none
15 GCC.D       =
16 GCC.I       =
17 GCC.muldefs = 0
18 GCC.start   = 0
19 GCC.a       =
20 GCC.F       =
21 GCC.f       =
22 GCC.L       =
23 GCC.l       =
24 GCC.end     = 0
25
26 GCC.extra         = 1
27 GCC.extra.h_o     = 1
28 GCC.extra.c_o     = 1
29 GCC.extra.dylib   = 1
30 GCC.extra.exe     = 1
31 GCC.extra.hpp_o   = 1
32 GCC.extra.cpp_o   = 1
33 GCC.extra.dylib++ = 1
34 GCC.extra.exe++   = 1
35
36 GCC.args.pipe      = -pipe
37 GCC.args.strip     = -Wl,-S
38 GCC.args.dylib     = -dynamiclib
39 GCC.args.ML        = -fmessage-length=0
40 GCC.args.H         = -H
41 GCC.args.W         = -W$(1)
42 GCC.args.archs     = -arch $(1)
43 GCC.args.vis       = -fvisibility=hidden
44 GCC.args.pic       = -fPIC
45 GCC.args.g.none    = -g0
46 GCC.args.g.min     = -gdwarf-2 -g1
47 GCC.args.g.std     = -gdwarf-2
48 GCC.args.g.max     = -gdwarf-2 -g3
49 GCC.args.O.none    = -O0
50 GCC.args.O.size    = -Os
51 GCC.args.O.speed   = -O3
52 GCC.args.D         = -D$(1)
53 GCC.args.I         = -I$(1)
54 GCC.args.muldefs   = -Wl,--allow-multiple-definition
55 GCC.args.start     = -Wl,--start-group
56 GCC.args.F         = -F$(1)
57 GCC.args.f         = -framework $(1)
58 GCC.args.L         = -L$(1)
59 GCC.args.l         = -l$(1)
60 GCC.args.end       = -Wl,--end-group
61
62 GCC.args.extra         =
63 GCC.args.extra.h_o     =
64 GCC.args.extra.c_o     =
65 GCC.args.extra.dylib   =
66 GCC.args.extra.exe     =
67 GCC.args.extra.hpp_o   =
68 GCC.args.extra.cpp_o   =
69 GCC.args.extra.dylib++ =
70 GCC.args.extra.exe++   =
71
72 ###############################################################################
73
74 define import.GCC
75     $(1).GCC.gcc = $$(GCC.gcc)
76     $(1).GCC.gxx = $$(dir $$($(1).GCC.gcc))$$(subst gcc,g++,$$(notdir $$($(1).GCC.gcc)))
77
78     $(1).GCC.pipe    = $$(GCC.pipe)
79     $(1).GCC.strip   = $$(if $$(filter none,$$($(1).GCC.g)),1)
80     $(1).GCC.dylib   = $$(GCC.dylib)
81     $(1).GCC.ML      = $$(GCC.ML) 
82     $(1).GCC.H       = $$(GCC.H) 
83     $(1).GCC.W       = $$(GCC.W)
84     $(1).GCC.archs   = $$(GCC.archs)
85     $(1).GCC.vis     = $$(GCC.vis)
86     $(1).GCC.pic     = $$(GCC.pic)
87     $(1).GCC.g       = $$(GCC.g)
88     $(1).GCC.O       = $$(GCC.O)
89     $(1).GCC.D       = $$(GCC.D)
90     $(1).GCC.I       = $$(GCC.I)
91     $(1).GCC.muldefs = $$(GCC.muldefs)
92     $(1).GCC.start   = $$(GCC.start)
93     $(1).GCC.a       = $$(GCC.a)
94     $(1).GCC.F       = $$(GCC.F)
95     $(1).GCC.f       = $$(GCC.f)
96     $(1).GCC.L       = $$(GCC.L)
97     $(1).GCC.l       = $$(GCC.l)
98     $(1).GCC.end     = $$(GCC.end)
99
100     $(1).GCC.extra         = $$(GCC.extra)
101     $(1).GCC.extra.h_o     = $$(GCC.extra.h_o)
102     $(1).GCC.extra.c_o     = $$(GCC.extra.c_o)
103     $(1).GCC.extra.dylib   = $$(GCC.extra.dylib)
104     $(1).GCC.extra.exe     = $$(GCC.extra.exe)
105     $(1).GCC.extra.hpp_o   = $$(GCC.extra.hpp_o)
106     $(1).GCC.extra.cpp_o   = $$(GCC.extra.cpp_o)
107     $(1).GCC.extra.dylib++ = $$(GCC.extra.dylib++)
108     $(1).GCC.extra.exe++   = $$(GCC.extra.exe++)
109
110     $(1).GCC.args.pipe      = $$(GCC.args.pipe)
111     $(1).GCC.args.strip     = $$(GCC.args.strip)
112     $(1).GCC.args.dylib     = $$(GCC.args.dylib)
113     $(1).GCC.args.ML        = $$(GCC.args.ML)
114     $(1).GCC.args.H         = $$(GCC.args.H)
115     $(1).GCC.args.W         = $$(GCC.args.W)
116     $(1).GCC.args.archs     = $$(GCC.args.archs)
117     $(1).GCC.args.vis       = $$(GCC.args.vis)
118     $(1).GCC.args.pic       = $$(GCC.args.pic)
119     $(1).GCC.args.g.none    = $$(GCC.args.g.none)
120     $(1).GCC.args.g.min     = $$(GCC.args.g.min)
121     $(1).GCC.args.g.std     = $$(GCC.args.g.std)
122     $(1).GCC.args.g.max     = $$(GCC.args.g.max)
123     $(1).GCC.args.O.none    = $$(GCC.args.O.none)
124     $(1).GCC.args.O.size    = $$(GCC.args.O.size)
125     $(1).GCC.args.O.speed   = $$(GCC.args.O.speed)
126     $(1).GCC.args.D         = $$(GCC.args.D)
127     $(1).GCC.args.I         = $$(GCC.args.I)
128     $(1).GCC.args.muldefs   = $$(GCC.args.muldefs)
129     $(1).GCC.args.start     = $$(GCC.args.start)
130     $(1).GCC.args.F         = $$(GCC.args.F)
131     $(1).GCC.args.f         = $$(GCC.args.f)
132     $(1).GCC.args.L         = $$(GCC.args.L)
133     $(1).GCC.args.l         = $$(GCC.args.l)
134     $(1).GCC.args.end       = $$(GCC.args.end)
135
136     $(1).GCC.args.extra         = $$(GCC.args.extra)
137     $(1).GCC.args.extra.h_o     = $$(GCC.args.extra.h_o)
138     $(1).GCC.args.extra.c_o     = $$(GCC.args.extra.c_o)
139     $(1).GCC.args.extra.dylib   = $$(GCC.args.extra.dylib)
140     $(1).GCC.args.extra.exe     = $$(GCC.args.extra.exe)
141     $(1).GCC.args.extra.hpp_o   = $$(GCC.args.extra.hpp_o)
142     $(1).GCC.args.extra.cpp_o   = $$(GCC.args.extra.cpp_o)
143     $(1).GCC.args.extra.dylib++ = $$(GCC.args.extra.dylib++)
144     $(1).GCC.args.extra.exe++   = $$(GCC.args.extra.exe++)
145
146     ###########################################################################
147
148     $(1).GCC.c = -c $$(4)
149     $(1).GCC.o = -o $$(3)
150
151     # FUNCTION: C precompiled headers
152     $(1).GCC.H_O.args = !gcc ?pipe ?ML ?H *W *archs ?vis ?pic .g .O ?extra ?extra.h_o *D *I !c !o
153     $(1).GCC.H_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.H_O.args),$$(1),$$(2))
154
155     # FUNCTION: C compile source
156     $(1).GCC.C_O.args = !gcc ?pipe ?ML ?H *W *archs ?vis ?pic .g .O ?extra ?extra.c_o *D *I !c !o
157     $(1).GCC.C_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.C_O.args),$$(1),$$(2))
158
159     # FUNCTION: C++ precompile headers
160     $(1).GCC.HPP_O.args = !gxx ?pipe ?ML ?H *W *archs ?vis ?pic .g .O ?extra ?extra.hpp_o *D *I !c !o
161     $(1).GCC.HPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.HPP_O.args),$$(1),$$(2))
162
163     # FUNCTION: C++ compile source
164     $(1).GCC.CPP_O.args = !gxx ?pipe ?ML ?H *W *archs ?vis ?pic .g .O ?extra ?extra.cpp_o *D *I !c !o
165     $(1).GCC.CPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.CPP_O.args),$$(1),$$(2))
166
167     ###########################################################################
168
169     $(1).GCC.i = $$(4)
170
171     # FUNCTION: C link dynamic-lib
172     $(1).GCC.DYLIB.args = !gcc ?pipe ?strip ?dylib ?extra.dylib ?ML *W *archs ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
173     $(1).GCC.DYLIB = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB.args),$$(1),$$(2))
174
175     # FUNCTION: C link executable
176     $(1).GCC.EXE.args = !gcc ?pipe ?strip ?extra.exe ?ML *W *archs ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
177     $(1).GCC.EXE = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE.args),$$(1),$$(2))
178
179     # FUNCTION: C++ link dynamic-lib
180     $(1).GCC.DYLIB++.args = !gxx ?pipe ?strip ?dylib ?extra.dylib++ ?ML *W *archs ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
181     $(1).GCC.DYLIB++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB++.args),$$(1),$$(2))
182
183     # FUNCTION: C++ link executable
184     $(1).GCC.EXE++.args = !gxx ?pipe ?strip ?extra.exe++ ?ML *W *archs ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
185     $(1).GCC.EXE++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE++.args),$$(1),$$(2))
186 endef