blob: ada89048a57c2986d5384495421f1376b5e354be [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)
Leon Clarkea946cb12010-02-04 16:19:54 +000048SNAP_GEN := $(intermediates)/snapshot.cc
49$(SNAP_GEN): MKSNAPSHOT := $(HOST_OUT_EXECUTABLES)/mksnapshot
Steve Blocka7e24c12009-10-30 11:49:00 +000050# mksnapshot is the module name. This dependency rule makes sure that mksnapshot
51# is built before calling the following rule.
Leon Clarkea946cb12010-02-04 16:19:54 +000052$(SNAP_GEN): mksnapshot
Steve Blocka7e24c12009-10-30 11:49:00 +000053 @echo "Generating snapshot.cc"
54 @mkdir -p $(dir $@)
Leon Clarkea946cb12010-02-04 16:19:54 +000055 @echo $(MKSNAPSHOT) $(SNAP_GEN)
56 $(MKSNAPSHOT) $(SNAP_GEN)
Steve Blocka7e24c12009-10-30 11:49:00 +000057LOCAL_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 \
Andrei Popescu31002712010-02-23 13:46:05 +000067 -fno-exceptions
Steve Blocka7e24c12009-10-30 11:49:00 +000068
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
Patrick Scotta2e4be92010-02-09 17:09:24 -050085LOCAL_C_INCLUDES += bionic/libc/include $(LOCAL_PATH)/src
Steve Blocka7e24c12009-10-30 11:49:00 +000086
87include $(BUILD_STATIC_LIBRARY)