#include $(all-subdir-makefiles)

# SVOX Pico TTS Engine
# This makefile builds both an activity and a shared library.

ifneq ($(TARGET_SIMULATOR),true) # not 64 bit clean

TOP_LOCAL_PATH:= $(call my-dir)

# Build Pico activity

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := user

LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := PicoTts

LOCAL_JNI_SHARED_LIBRARIES := libttspico

include $(BUILD_PACKAGE)

# Build Pico Shared Library

LOCAL_PATH:= $(TOP_LOCAL_PATH)/tts
include $(CLEAR_VARS)

LOCAL_SRC_FILES:= com_svox_picottsengine.cpp

LOCAL_C_INCLUDES += \
	external/svox/lib \
	frameworks

LOCAL_STATIC_LIBRARIES:= libsvoxpico

LOCAL_SHARED_LIBRARIES:= libcutils

LOCAL_MODULE:= libttspico

LOCAL_ARM_MODE:= arm

LOCAL_PRELINK_MODULE:= false

include $(BUILD_SHARED_LIBRARY)


# Build Base Generic SVOX Pico Library
LOCAL_PATH:= $(TOP_LOCAL_PATH)/lib
include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \
	picoacph.c \
	picoapi.c \
	picobase.c \
	picocep.c \
	picoctrl.c \
	picodata.c \
	picodbg.c \
	picoextapi.c \
	picofftsg.c \
	picokdbg.c \
	picokdt.c \
	picokfst.c \
	picoklex.c \
	picoknow.c \
	picokpdf.c \
	picokpr.c \
	picoktab.c \
	picoos.c \
	picopal.c \
	picopam.c \
	picopr.c \
	picorsrc.c \
	picosa.c \
	picosig.c \
	picosig2.c \
	picospho.c \
	picotok.c \
	picotrns.c \
	picowa.c

LOCAL_PRELINK_MODULE:= false

LOCAL_MODULE:= libsvoxpico

LOCAL_CFLAGS+= $(TOOL_CFLAGS)

LOCAL_LDFLAGS+= $(TOOL_LDFLAGS)

include $(BUILD_STATIC_LIBRARY)

endif # TARGET_SIMULATOR
