Merge remote-tracking branch 'redux/master' into sh4-pool
[tamarin-stm.git] / manifest.mk
blobc89abb53e5f18fc683421d085a37f44d58c7e2f6
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) 2005-2006
19 # the Initial Developer. All Rights Reserved.
21 # Contributor(s):
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
39 # is supposed to be.
40 INCLUDES += \
41 -I$(topsrcdir) \
42 -I$(topsrcdir)/MMgc \
43 -I$(topsrcdir)/core \
44 -I$(topsrcdir)/pcre \
45 -I$(topsrcdir)/eval \
46 -I$(topsrcdir)/platform \
47 -I$(topsrcdir)/other-licenses/zlib \
48 -I$(topsrcdir)/shell \
49 -I$(topsrcdir)/VMPI \
50 -I$(topsrcdir)/vmbase \
51 -I$(topsrcdir)/generated \
52 $(NULL)
54 $(call RECURSE_DIRS,other-licenses/zlib)
55 $(call RECURSE_DIRS,VMPI)
56 $(call RECURSE_DIRS,vmbase)
57 $(call RECURSE_DIRS,MMgc)
59 ifdef ENABLE_TAMARIN
60 $(call RECURSE_DIRS,core pcre vprof)
61 ifeq (sparc,$(TARGET_CPU))
62 $(call RECURSE_DIRS,nanojit)
63 endif
64 ifeq (i686,$(TARGET_CPU))
65 $(call RECURSE_DIRS,nanojit)
66 endif
67 ifeq (x86_64,$(TARGET_CPU))
68 $(call RECURSE_DIRS,nanojit)
69 endif
70 ifeq (arm,$(TARGET_CPU))
71 $(call RECURSE_DIRS,nanojit)
72 endif
73 ifeq (powerpc,$(TARGET_CPU))
74 $(call RECURSE_DIRS,nanojit)
75 endif
76 ifeq (ppc64,$(TARGET_CPU))
77 $(call RECURSE_DIRS,nanojit)
78 endif
79 ifeq (mips,$(TARGET_CPU))
80 $(call RECURSE_DIRS,nanojit)
81 endif
82 ifeq (sh4,$(TARGET_CPU))
83 $(call RECURSE_DIRS,nanojit)
84 endif
85 ifeq (darwin,$(TARGET_OS))
86 $(call RECURSE_DIRS,platform/mac)
87 endif
88 ifeq (windows,$(TARGET_OS))
89 $(call RECURSE_DIRS,platform/win32)
90 endif
91 ifeq (linux,$(TARGET_OS))
92 $(call RECURSE_DIRS,platform/unix)
93 endif
94 ifeq (android,$(TARGET_OS))
95 $(call RECURSE_DIRS,platform/unix)
96 endif
97 ifeq (sunos,$(TARGET_OS))
98 $(call RECURSE_DIRS,platform/unix)
99 endif
100 endif
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)
126 echo:
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)