blob: 3dd9c43b75d4e0a56a989e3c84b989fdc6b13fd8 [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
Steve Blocka7e24c12009-10-30 11:49:00 +000044LOCAL_GENERATED_SOURCES += $(V8_GENERATED_LIBRARIES)
45
46# Generate snapshot.cc
47ifeq ($(ENABLE_V8_SNAPSHOT),true)
48GEN := $(intermediates)/snapshot.cc
49$(GEN): MKSNAPSHOT := $(HOST_OUT_EXECUTABLES)/mksnapshot
50# mksnapshot is the module name. This dependency rule makes sure that mksnapshot
51# is built before calling the following rule.
52$(GEN): mksnapshot
53 @echo "Generating snapshot.cc"
54 @mkdir -p $(dir $@)
55 $(MKSNAPSHOT) $(GEN)
56LOCAL_GENERATED_SOURCES += $(intermediates)/snapshot.cc
57else
58LOCAL_SRC_FILES += \
59 src/snapshot-empty.cc
60endif
61
62LOCAL_CFLAGS += \
63 -Wno-endif-labels \
64 -Wno-import \
65 -Wno-format \
66 -fno-exceptions
67
68ifeq ($(TARGET_ARCH),arm)
69 LOCAL_CFLAGS += -DARM -DV8_TARGET_ARCH_ARM
70endif
71
72ifeq ($(TARGET_ARCH),x86)
73 LOCAL_CFLAGS += -DV8_TARGET_ARCH_IA32
74endif
75
76ifeq ($(ENABLE_V8_LOGGING_AND_PROFILING),true)
77 LOCAL_CFLAGS += -DENABLE_LOGGING_AND_PROFILING
78endif
79
80ifeq ($(DEBUG_V8),true)
81 LOCAL_CFLAGS += -DDEBUG -UNDEBUG
82endif
83
84LOCAL_C_INCLUDES += $(LOCAL_PATH)/src
85
86include $(BUILD_STATIC_LIBRARY)