blob: 252bad225ff931e8a26b1892e19cfb9a118d3e5a [file] [log] [blame]
Steve Blocka7e24c12009-10-30 11:49:00 +00001##
2LOCAL_PATH := $(call my-dir)
3# libv8.so
4# ===================================================
5include $(CLEAR_VARS)
6
7# Set up the target identity
8LOCAL_MODULE := libv8
9LOCAL_MODULE_CLASS := STATIC_LIBRARIES
10intermediates := $(call local-intermediates-dir)
11
12# Android.v8common.mk defines common V8_LOCAL_SRC_FILES
13# and V8_LOCAL_JS_LIBRARY_FILES
14V8_LOCAL_SRC_FILES :=
15V8_LOCAL_JS_LIBRARY_FILES :=
16include $(LOCAL_PATH)/Android.v8common.mk
17
18# Target can only be linux
19V8_LOCAL_SRC_FILES += \
20 src/platform-linux.cc \
21 src/platform-posix.cc
22
23LOCAL_SRC_FILES := $(V8_LOCAL_SRC_FILES)
24
25LOCAL_JS_LIBRARY_FILES := $(addprefix $(LOCAL_PATH)/, $(V8_LOCAL_JS_LIBRARY_FILES))
26
27# Copy js2c.py to intermediates directory and invoke there to avoid generating
28# jsmin.pyc in the source directory
29JS2C_PY := $(intermediates)/js2c.py $(intermediates)/jsmin.py
30$(JS2C_PY): $(intermediates)/%.py : $(LOCAL_PATH)/tools/%.py | $(ACP)
31 @echo "Copying $@"
32 $(copy-file-to-target)
33
34LOCAL_GENERATED_SOURCES :=
35# Generate libraries.cc
36GEN1 := $(intermediates)/libraries.cc $(intermediates)/libraries-empty.cc
37$(GEN1): SCRIPT := $(intermediates)/js2c.py
38$(GEN1): $(LOCAL_JS_LIBRARY_FILES) $(JS2C_PY)
39 @echo "Generating libraries.cc"
40 @mkdir -p $(dir $@)
41 python $(SCRIPT) $(GEN1) CORE $(LOCAL_JS_LIBRARY_FILES)
42V8_GENERATED_LIBRARIES := $(intermediates)/libraries.cc
43
44
45LOCAL_GENERATED_SOURCES += $(V8_GENERATED_LIBRARIES)
46
47# Generate snapshot.cc
48ifeq ($(ENABLE_V8_SNAPSHOT),true)
49GEN := $(intermediates)/snapshot.cc
50$(GEN): MKSNAPSHOT := $(HOST_OUT_EXECUTABLES)/mksnapshot
51# mksnapshot is the module name. This dependency rule makes sure that mksnapshot
52# is built before calling the following rule.
53$(GEN): mksnapshot
54 @echo "Generating snapshot.cc"
55 @mkdir -p $(dir $@)
56 $(MKSNAPSHOT) $(GEN)
57LOCAL_GENERATED_SOURCES += $(intermediates)/snapshot.cc
58else
59LOCAL_SRC_FILES += \
60 src/snapshot-empty.cc
61endif
62
63LOCAL_CFLAGS += \
64 -Wno-endif-labels \
65 -Wno-import \
66 -Wno-format \
67 -fno-exceptions
68
69ifeq ($(TARGET_ARCH),arm)
70 LOCAL_CFLAGS += -DARM -DV8_TARGET_ARCH_ARM
71endif
72
73ifeq ($(TARGET_ARCH),x86)
74 LOCAL_CFLAGS += -DV8_TARGET_ARCH_IA32
75endif
76
77ifeq ($(ENABLE_V8_LOGGING_AND_PROFILING),true)
78 LOCAL_CFLAGS += -DENABLE_LOGGING_AND_PROFILING
79endif
80
81ifeq ($(DEBUG_V8),true)
82 LOCAL_CFLAGS += -DDEBUG -UNDEBUG
83endif
84
85LOCAL_C_INCLUDES += $(LOCAL_PATH)/src
86
87include $(BUILD_STATIC_LIBRARY)