OSDN Git Service

BuildSystem: conversion from jam-based to make-based system.
[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.args.pipe      = -pipe
27 GCC.args.strip     = -Wl,-S
28 GCC.args.dylib     = -dynamiclib
29 GCC.args.ML        = -fmessage-length=0
30 GCC.args.H         = -H
31 GCC.args.W         = -W$(1)
32 GCC.args.archs     = -arch $(1)
33 GCC.args.vis       = -fvisibility=hidden
34 GCC.args.pic       = -fPIC
35 GCC.args.g.none    = -g0
36 GCC.args.g.min     = -gdwarf-2 -g1
37 GCC.args.g.std     = -gdwarf-2
38 GCC.args.g.max     = -gdwarf-2 -g3
39 GCC.args.O.none    = -O0
40 GCC.args.O.size    = -Os
41 GCC.args.O.speed   = -O3
42 GCC.args.D         = -D$(1)
43 GCC.args.I         = -I$(1)
44 GCC.args.muldefs   = -Wl,--allow-multiple-definition
45 GCC.args.start     = -Wl,--start-group
46 GCC.args.F         = -F$(1)
47 GCC.args.f         = -framework $(1)
48 GCC.args.L         = -L$(1)
49 GCC.args.l         = -l$(1)
50 GCC.args.end       = -Wl,--end-group
51
52 ###############################################################################
53
54 define import.GCC
55     $(1).GCC.gcc = $$(GCC.gcc)
56     $(1).GCC.gxx = $$(dir $$($(1).GCC.gcc))$$(subst gcc,g++,$$(notdir $$($(1).GCC.gcc)))
57
58     $(1).GCC.pipe    = $$(GCC.pipe)
59     $(1).GCC.strip   = $$(if $$(filter none,$$($(1).GCC.g)),1)
60     $(1).GCC.dylib   = $$(GCC.dylib)
61     $(1).GCC.ML      = $$(GCC.ML) 
62     $(1).GCC.H       = $$(GCC.H) 
63     $(1).GCC.W       = $$(GCC.W)
64     $(1).GCC.archs   = $$(GCC.archs)
65     $(1).GCC.vis     = $$(GCC.vis)
66     $(1).GCC.pic     = $$(GCC.pic)
67     $(1).GCC.g       = $$(GCC.g)
68     $(1).GCC.O       = $$(GCC.O)
69     $(1).GCC.D       = $$(GCC.D)
70     $(1).GCC.I       = $$(GCC.I)
71     $(1).GCC.muldefs = $$(GCC.muldefs)
72     $(1).GCC.start   = $$(GCC.start)
73     $(1).GCC.a       = $$(GCC.a)
74     $(1).GCC.F       = $$(GCC.F)
75     $(1).GCC.f       = $$(GCC.f)
76     $(1).GCC.L       = $$(GCC.L)
77     $(1).GCC.l       = $$(GCC.l)
78     $(1).GCC.end     = $$(GCC.end)
79
80     $(1).GCC.args.pipe      = $$(GCC.args.pipe)
81     $(1).GCC.args.strip     = $$(GCC.args.strip)
82     $(1).GCC.args.dylib     = $$(GCC.args.dylib)
83     $(1).GCC.args.ML        = $$(GCC.args.ML)
84     $(1).GCC.args.H         = $$(GCC.args.H)
85     $(1).GCC.args.W         = $$(GCC.args.W)
86     $(1).GCC.args.archs     = $$(GCC.args.archs)
87     $(1).GCC.args.vis       = $$(GCC.args.vis)
88     $(1).GCC.args.pic       = $$(GCC.args.pic)
89     $(1).GCC.args.g.none    = $$(GCC.args.g.none)
90     $(1).GCC.args.g.min     = $$(GCC.args.g.min)
91     $(1).GCC.args.g.std     = $$(GCC.args.g.std)
92     $(1).GCC.args.g.max     = $$(GCC.args.g.max  )
93     $(1).GCC.args.O.none    = $$(GCC.args.O.none)
94     $(1).GCC.args.O.size    = $$(GCC.args.O.size)
95     $(1).GCC.args.O.speed   = $$(GCC.args.O.speed)
96     $(1).GCC.args.D         = $$(GCC.args.D)
97     $(1).GCC.args.I         = $$(GCC.args.I)
98     $(1).GCC.args.muldefs   = $$(GCC.args.muldefs)
99     $(1).GCC.args.start     = $$(GCC.args.start)
100     $(1).GCC.args.F         = $$(GCC.args.F)
101     $(1).GCC.args.f         = $$(GCC.args.f)
102     $(1).GCC.args.L         = $$(GCC.args.L)
103     $(1).GCC.args.l         = $$(GCC.args.l)
104     $(1).GCC.args.end       = $$(GCC.args.end)
105
106     ###########################################################################
107
108     $(1).GCC.c = -c $$(4)
109     $(1).GCC.o = -o $$(3)
110
111     # FUNCTION: C precompiled headers
112     $(1).GCC.H_O.args = !gcc ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
113     $(1).GCC.H_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.H_O.args),$$(1),$$(2))
114
115     # FUNCTION: C compile source
116     $(1).GCC.C_O.args = !gcc ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
117     $(1).GCC.C_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.C_O.args),$$(1),$$(2))
118
119     # FUNCTION: C++ precompile headers
120     $(1).GCC.HPP_O.args = !gxx ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
121     $(1).GCC.HPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.HPP_O.args),$$(1),$$(2))
122
123     # FUNCTION: C++ compile source
124     $(1).GCC.CPP_O.args = !gxx ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
125     $(1).GCC.CPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.CPP_O.args),$$(1),$$(2))
126
127     ###########################################################################
128
129     $(1).GCC.i = $$(4)
130
131     # FUNCTION: C link dynamic-lib
132     $(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
133     $(1).GCC.DYLIB = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB.args),$$(1),$$(2))
134
135     # FUNCTION: C link executable
136     $(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
137     $(1).GCC.EXE = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE.args),$$(1),$$(2))
138
139     # FUNCTION: C++ link dynamic-lib
140     $(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
141     $(1).GCC.DYLIB++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB++.args),$$(1),$$(2))
142
143     # FUNCTION: C++ link executable
144     $(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
145     $(1).GCC.EXE++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE++.args),$$(1),$$(2))
146 endef