Merge remote-tracking branch 'redux/master' into sh4-pool
[tamarin-stm.git] / platform / android / make.avm
blob5417c8b11400940006665dc9178e3e2771febb0a
1 # ***** BEGIN LICENSE BLOCK *****
2 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 # The contents of this file are subject to the Mozilla Public License Version
5 # 1.1 (the "License"); you may not use this file except in compliance with
6 # the License. You may obtain a copy of the License at
7 # http://www.mozilla.org/MPL/
9 # Software distributed under the License is distributed on an "AS IS" basis,
10 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 # for the specific language governing rights and limitations under the
12 # License.
14 # The Original Code is [Open Source Virtual Machine.].
16 # The Initial Developer of the Original Code is
17 # Adobe System Incorporated.
18 # Portions created by the Initial Developer are Copyright (C) 2010
19 # the Initial Developer. All Rights Reserved.
21 # Contributor(s):
22 #   Adobe AS3 Team
24 # Alternatively, the contents of this file may be used under the terms of
25 # either the GNU General Public License Version 2 or later (the "GPL"), or
26 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 # in which case the provisions of the GPL or the LGPL are applicable instead
28 # of those above. If you wish to allow use of your version of this file only
29 # under the terms of either the GPL or the LGPL, and not to allow others to
30 # use your version of this file under the terms of the MPL, indicate your
31 # decision by deleting the provisions above and replace them with the notice
32 # and other provisions required by the GPL or the LGPL. If you do not delete
33 # the provisions above, a recipient may use your version of this file under
34 # the terms of any one of the MPL, the GPL or the LGPL.
36 # ***** END LICENSE BLOCK *****
39 AVMPLUS_DIR := ../..
41 #****************************************************************************
42 # Source files
43 #****************************************************************************
45 AVMPLUS_SRCS := \
46         AbcEnv.cpp \
47         AbcData.cpp \
48         AbcParser.cpp \
49         ActionBlockConstants.cpp \
50         ArrayClass.cpp \
51         ArrayObject.cpp \
52         AvmCore.cpp \
53         avm.cpp \
54     avmfeatures.cpp \
55         avmplus.cpp \
56         avmplusDebugger.cpp \
57         avmplusHashtable.cpp \
58         avmplusList.cpp \
59         AvmPlusScriptableObject.cpp \
60         BigInteger.cpp \
61         BooleanClass.cpp \
62         BuiltinTraits.cpp \
63         ByteArrayGlue.cpp \
64         ClassClass.cpp \
65         ClassClosure.cpp \
66         Date.cpp \
67         DataIO.cpp \
68         DateClass.cpp \
69         DateObject.cpp \
70         DescribeTypeClass.cpp \
71         Domain.cpp \
72         DomainEnv.cpp \
73         DomainMgr.cpp \
74         E4XNode.cpp \
75         ErrorClass.cpp \
76         ErrorConstants.cpp \
77         exec.cpp \
78         exec-jit.cpp \
79         exec-verifyall.cpp \
80         Exception.cpp \
81         FrameState.cpp \
82         FunctionClass.cpp \
83         instr.cpp \
84         IntClass.cpp \
85         Interpreter.cpp \
86         MathClass.cpp \
87         MathUtils.cpp \
88         MethodClosure.cpp \
89         MethodEnv.cpp \
90         MethodInfo.cpp \
91         Multiname.cpp \
92         MultinameHashtable.cpp \
93         Namespace.cpp \
94         NamespaceClass.cpp \
95         NamespaceSet.cpp \
96         NativeFunction.cpp \
97         NumberClass.cpp \
98         ObjectClass.cpp \
99         peephole.cpp \
100         PoolObject.cpp \
101         PrintWriter.cpp \
102         QCache.cpp \
103         RegExpClass.cpp \
104         RegExpObject.cpp \
105         Sampler.cpp \
106         ScopeChain.cpp \
107         ScriptBuffer.cpp \
108         ScriptObject.cpp \
109         StackTrace.cpp \
110         StringBuffer.cpp \
111         StringClass.cpp \
112         StringObject.cpp \
113         Toplevel.cpp \
114         Traits.cpp \
115         TypeDescriber.cpp \
116         UnicodeUtils.cpp \
117     UnixDebugUtils.cpp \
118         VectorClass.cpp \
119         Verifier.cpp \
120         VTable.cpp \
121         WordcodeEmitter.cpp \
122         WordcodeTranslator.cpp \
123         wopcodes.cpp \
124         XMLClass.cpp \
125         XMLListClass.cpp \
126         XMLListObject.cpp \
127         XMLObject.cpp \
128         XMLParser16.cpp \
129         CodegenLIR.cpp \
130         Allocator.cpp \
131         CodeAlloc.cpp \
132         Containers.cpp \
133         Assembler.cpp \
134         Fragmento.cpp \
135         LIR.cpp \
136         njconfig.cpp \
137         RegAlloc.cpp \
138         pcre_chartables.cpp \
139         pcre_compile.cpp \
140         pcre_config.cpp \
141         pcre_exec.cpp \
142         pcre_fullinfo.cpp \
143         pcre_get.cpp \
144         pcre_globals.cpp \
145         pcre_info.cpp \
146         pcre_maketables.cpp \
147         pcre_newline.cpp \
148         pcre_ord2utf8.cpp \
149         pcre_refcount.cpp \
150         pcre_study.cpp \
151         pcre_tables.cpp \
152         pcre_try_flipped.cpp \
153         pcre_valid_utf8.cpp \
154         pcre_version.cpp \
155         pcre_xclass.cpp \
156         MathUtilsUnix.cpp \
157         OSDepUnix.cpp \
158         ThreadsPosix.cpp \
159         SpyUtilsPosix.cpp \
160         PosixPortUtils.cpp \
161         AvmLog.cpp \
162         Coder.cpp \
163     eval-abc.cpp \
164     eval-avmplus.cpp \
165     eval-cogen.cpp \
166     eval-cogen-expr.cpp \
167     eval-cogen-stmt.cpp \
168     eval-compile.cpp \
169     eval-lex.cpp \
170     eval-lex-xml.cpp \
171     eval-parse.cpp \
172     eval-parse-config.cpp \
173     eval-parse-expr.cpp \
174     eval-parse-stmt.cpp \
175     eval-parse-xml.cpp \
176     eval-unicode.cpp \
177     eval-util.cpp \
178         atom.cpp \
179         AvmAssert.cpp \
181 ifeq ($(ENABLE_NANOJIT),true)
182         AVMPLUS_SRCS := ${AVMPLUS_SRCS} NativeARM.cpp
183 endif
184         
185 vpath %.cpp ${AVMPLUS_DIR}/core \
186         ${AVMPLUS_DIR}/nanojit  \
187         ${AVMPLUS_DIR}/pcre     \
188         ${AVMPLUS_DIR}/platform/unix \
189         ${AVMPLUS_DIR}/VMPI \
190         ${AVMPLUS_DIR}/generated \
191         ${AVMPLUS_DIR}/eval
193 AVMPLUS_LIB := ${LIBDIR}/libavmplus.a
194 AVMPLUS_OBJS := $(addprefix ${OBJDIR}/avm/, $(AVMPLUS_SRCS:.cpp=.o))
195 AVMPLUS_DEPS := $(addprefix ${OBJDIR}/avm/, $(AVMPLUS_SRCS:.cpp=.d))
197 $(OBJDIR)/avm/%.o: %.cpp
198         ${call compile-files-arm,avm}
201 # clz is not supported on thumb before armv6t2
202 ifneq (${TARGET_ARCH}, ARMV7-A)
203 $(OBJDIR)/avm/NativeARM.o: $(AVMPLUS_DIR)/nanojit/NativeARM.cpp
204         ${call compile-files-arm,avm}
205 endif
207 ${AVMPLUS_LIB}: ${AVMPLUS_OBJS}
208         ${call make-lib,${AVMPLUS_OBJS}}
209         
210 -include ${AVMPLUS_DEPS}