blob: 6c6730bc6baed0c661deae9abe79ab1ee31bdc67 [file] [log] [blame]
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
CXX ?= g++
BASE_VER ?= 125070
PKG_CONFIG ?= pkg-config
PC_DEPS = alsa dbus-1 dbus-glib-1 gobject-2.0 \
libchrome-$(BASE_VER) libchromeos-$(BASE_VER)
PC_CFLAGS := $(shell $(PKG_CONFIG) --cflags $(PC_DEPS))
PC_LIBS := $(shell $(PKG_CONFIG) --libs $(PC_DEPS))
CXXFLAGS += -Wall -Werror
CPPFLAGS += -I. $(PC_CFLAGS)
LDLIBS = -lpico -lresample
LDLIBS += $(PC_LIBS)
DBUS_SOURCE=speech_synthesizer.xml
DBUS_SERVER=bindings/server.h
BINDINGS_DIR=bindings
CC_SRCS = linux/audio_output_alsa.cc linux/threading.cc \
pico/pico_tts_engine.cc pico/load_pico_voices_static.cc resampler.cc \
tts_engine.cc tts_service.cc speech_synthesizer_main.cc \
speech_synthesizer_service.cc interface.cc
HEADERS = audio_output.h pico/pico_tts_engine.h resampler.h ringbuffer.h \
threading.h tts_engine.h tts_receiver.h tts_service.h log.h \
speech_synthesizer_service.h interface.h
all: speech_synthesizer
clean:
rm -rf libttspico.so objs/
dirs:
mkdir -p objs/pico objs/linux
CC_OBJS = $(CC_SRCS:%.cc=objs/%.o)
OBJS = $(CC_OBJS)
$(CC_OBJS): objs/%.o: %.cc $(HEADERS) $(DBUS_SERVER) | dirs
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
speech_synthesizer: $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
$(BINDINGS_DIR):
mkdir -p $(BINDINGS_DIR)
$(DBUS_SERVER): $(DBUS_SOURCE) | $(BINDINGS_DIR)
dbus-binding-tool --mode=glib-server \
--prefix=`basename $(DBUS_SOURCE) .xml` $(DBUS_SOURCE) > $(DBUS_SERVER)