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
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) 2005-2006
19 # the Initial Developer. All Rights Reserved.
23 # Alternatively, the contents of this file may be used under the terms of
24 # either the GNU General Public License Version 2 or later (the "GPL"), or
25 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
26 # in which case the provisions of the GPL or the LGPL are applicable instead
27 # of those above. If you wish to allow use of your version of this file only
28 # under the terms of either the GPL or the LGPL, and not to allow others to
29 # use your version of this file under the terms of the MPL, indicate your
30 # decision by deleting the provisions above and replace them with the notice
31 # and other provisions required by the GPL or the LGPL. If you do not delete
32 # the provisions above, a recipient may use your version of this file under
33 # the terms of any one of the MPL, the GPL or the LGPL.
35 # ***** END LICENSE BLOCK *****
37 # shell must be included here because that's where avmshell-features.h lives,
38 # and in shell builds it is included from platform/VMPI.h. That's how it
46 -I
$(topsrcdir
)/platform \
47 -I
$(topsrcdir
)/other-licenses
/zlib \
48 -I
$(topsrcdir
)/shell \
50 -I
$(topsrcdir
)/vmbase \
51 -I
$(topsrcdir
)/generated \
54 $(call RECURSE_DIRS
,other-licenses
/zlib
)
55 $(call RECURSE_DIRS
,VMPI
)
56 $(call RECURSE_DIRS
,vmbase
)
57 $(call RECURSE_DIRS
,MMgc
)
60 $(call RECURSE_DIRS
,core pcre vprof
)
61 ifeq (sparc
,$(TARGET_CPU
))
62 $(call RECURSE_DIRS
,nanojit
)
64 ifeq (i686
,$(TARGET_CPU
))
65 $(call RECURSE_DIRS
,nanojit
)
67 ifeq (x86_64
,$(TARGET_CPU
))
68 $(call RECURSE_DIRS
,nanojit
)
70 ifeq (arm
,$(TARGET_CPU
))
71 $(call RECURSE_DIRS
,nanojit
)
73 ifeq (powerpc
,$(TARGET_CPU
))
74 $(call RECURSE_DIRS
,nanojit
)
76 ifeq (ppc64
,$(TARGET_CPU
))
77 $(call RECURSE_DIRS
,nanojit
)
79 ifeq (mips
,$(TARGET_CPU
))
80 $(call RECURSE_DIRS
,nanojit
)
82 ifeq (sh4
,$(TARGET_CPU
))
83 $(call RECURSE_DIRS
,nanojit
)
85 ifeq (darwin
,$(TARGET_OS
))
86 $(call RECURSE_DIRS
,platform
/mac
)
88 ifeq (windows
,$(TARGET_OS
))
89 $(call RECURSE_DIRS
,platform
/win32
)
91 ifeq (linux
,$(TARGET_OS
))
92 $(call RECURSE_DIRS
,platform
/unix
)
94 ifeq (android
,$(TARGET_OS
))
95 $(call RECURSE_DIRS
,platform
/unix
)
97 ifeq (sunos
,$(TARGET_OS
))
98 $(call RECURSE_DIRS
,platform
/unix
)
102 $(call RECURSE_DIRS
,eval
)
103 $(call RECURSE_DIRS
,shell)
105 # Bug 632086: These definitions must come *after* the foo_CXXSRCS
106 # variables have been completely populated.
107 avmplus_PREPROCESSED
:= $(avmplus_CXXSRCS
:.
cpp=.
$(II_SUFFIX
))
108 vmbase_PREPROCESSED
:= $(vmbase_CXXSRCS
:.
cpp=.
$(II_SUFFIX
))
109 shell_PREPROCESSED
:= $(shell_CXXSRCS
:.
cpp=.
$(II_SUFFIX
))
111 # Bug 632086: Tie generated code for .h and .cpp together, so that
112 # requiring the regeneration of the .cpp file will force the
113 # regeneration of both to happen before the .h file is read.
114 GENERATED_BUILTIN_CODE
:= \
115 $(topsrcdir
)/generated
/builtin.h \
116 $(topsrcdir
)/generated
/builtin.
cpp
117 GENERATED_SHELL_CODE
:= \
118 $(topsrcdir
)/generated
/shell_toplevel.h \
119 $(topsrcdir
)/generated
/shell_toplevel.
cpp
121 $(avmplus_PREPROCESSED
): $(GENERATED_BUILTIN_CODE
)
122 $(vmbase_PREPROCESSED
): $(GENERATED_BUILTIN_CODE
)
123 $(shell_PREPROCESSED
): $(GENERATED_BUILTIN_CODE
)
124 $(shell_PREPROCESSED
): $(GENERATED_SHELL_CODE
)
127 @echo avmplus_CXXFLAGS
= $(avmplus_CXXFLAGS
)
128 @echo avmplus_CXXSRCS
= $(avmplus_CXXSRCS
)
129 @echo avmplus_CXXOBJS
= $(avmplus_CXXOBJS
)
130 @echo avmplus_OBJS
= $(avmplus_OBJS
)
131 @echo avmplus_NAME
= $(avmplus_NAME
)