git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@134 d46cf337-b52f-0410-862d-fd96e6ae7743master
BINDIR=/usr/bin | |||||
INCDIR=/usr/include/espeak | |||||
LIBDIR=/usr/lib | |||||
DATADIR=/usr/share/espeak-data | |||||
PREFIX=/ | |||||
BINDIR=$(PREFIX)/usr/bin | |||||
INCDIR=$(PREFIX)/usr/include/espeak | |||||
LIBDIR=$(PREFIX)/usr/lib | |||||
DATADIR=$(PREFIX)/usr/share/espeak-data | |||||
RELEASE = 1.30 | |||||
RELEASE = 1.31 | |||||
BIN_NAME = speak | BIN_NAME = speak | ||||
BIN2_NAME = espeak | BIN2_NAME = espeak | ||||
LIB_NAME = libespeak.so | LIB_NAME = libespeak.so | ||||
LIB_VERSION = 1 | LIB_VERSION = 1 | ||||
LIBTAG = $(LIB_VERSION).$(RELEASE) | LIBTAG = $(LIB_VERSION).$(RELEASE) | ||||
INSTALL = /usr/bin/install | |||||
# Use SONAME_OPT=-Wl,h, on Solaris | |||||
SONAME_OPT=-Wl,-soname, | |||||
# Use EXTRA_LIBS=-lm on Solaris | |||||
EXTRA_LIBS = | |||||
INSTALL = install | |||||
LN_SF = /bin/ln -sf | LN_SF = /bin/ln -sf | ||||
MKDIR = mkdir -p | MKDIR = mkdir -p | ||||
#AUDIO = pulseaudio | |||||
AUDIO = portaudio | |||||
ifeq ($(AUDIO),pulseaudio) | |||||
WAVE=wave_pulse.cpp | |||||
LIB_AUDIO=pulse | |||||
USE_AUDIO=USE_PULSEAUDIO | |||||
else | |||||
WAVE=wave.cpp | |||||
LIB_AUDIO=portaudio | |||||
USE_AUDIO=USE_PORTAUDIO | |||||
endif | |||||
speak_SOURCES = speak.cpp compiledict.cpp dictionary.cpp intonation.cpp \ | speak_SOURCES = speak.cpp compiledict.cpp dictionary.cpp intonation.cpp \ | ||||
readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \ | readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \ | ||||
synthdata.cpp synthesize.cpp translate.cpp tr_english.cpp \ | synthdata.cpp synthesize.cpp translate.cpp tr_english.cpp \ | ||||
readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \ | readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \ | ||||
synthdata.cpp synthesize.cpp translate.cpp tr_english.cpp \ | synthdata.cpp synthesize.cpp translate.cpp tr_english.cpp \ | ||||
tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp \ | tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp \ | ||||
espeak_command.cpp event.cpp fifo.cpp wave.cpp debug.cpp | |||||
espeak_command.cpp event.cpp fifo.cpp $(WAVE) debug.cpp | |||||
SRCS1=$(speak_SOURCES) | SRCS1=$(speak_SOURCES) | ||||
OBJS1=$(patsubst %.cpp,%.o,$(SRCS1)) | OBJS1=$(patsubst %.cpp,%.o,$(SRCS1)) | ||||
LIBS1=-lstdc++ -lportaudio -lpthread | |||||
LIBS1=-lstdc++ -l$(LIB_AUDIO) -lpthread $(EXTRA_LIBS) | |||||
SRCS2=$(libespeak_SOURCES) | SRCS2=$(libespeak_SOURCES) | ||||
OBJS2=$(patsubst %.cpp,x_%.o,$(SRCS2)) | OBJS2=$(patsubst %.cpp,x_%.o,$(SRCS2)) | ||||
LIBS2=-lstdc++ -lportaudio -lpthread | |||||
LIBS2=-lstdc++ -l$(LIB_AUDIO) -lpthread | |||||
SRCS3 = espeak.cpp | SRCS3 = espeak.cpp | ||||
OBJS3=$(patsubst %.cpp,%.o,$(SRCS3)) | OBJS3=$(patsubst %.cpp,%.o,$(SRCS3)) | ||||
LIBS3=-lstdc++ ./libespeak.so | |||||
LIBS3=-lstdc++ -L . -lespeak | |||||
CXXFLAGS=-O2 | |||||
CXXFLAGS=-O2 -D$(USE_AUDIO) | |||||
all: $(BIN_NAME) $(LIB_NAME) $(STATIC_LIB_NAME) $(BIN2_NAME) | all: $(BIN_NAME) $(LIB_NAME) $(STATIC_LIB_NAME) $(BIN2_NAME) | ||||
x_%.o: %.cpp | x_%.o: %.cpp | ||||
$(CXX) $(CXXFLAGS) -Wall -fpic -fvisibility=hidden -pedantic \ | |||||
$(CXX) $(CXXFLAGS) -Wall -fpic -pedantic \ | |||||
-I. -D LIBRARY -c -fno-exceptions $< -o x_$*.o | -I. -D LIBRARY -c -fno-exceptions $< -o x_$*.o | ||||
$(LIB_NAME): $(OBJS2) | $(LIB_NAME): $(OBJS2) | ||||
$(CXX) -shared -Wl,-soname,$(LIB_NAME).$(LIB_VERSION) -o $@ $(OBJS2) $(LIBS2) | |||||
$(CXX) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ $(OBJS2) $(LIBS2) | |||||
$(STATIC_LIB_NAME): $(OBJS2) | $(STATIC_LIB_NAME): $(OBJS2) | ||||
$(AR) cqs $(STATIC_LIB_NAME) $(OBJS2) | $(AR) cqs $(STATIC_LIB_NAME) $(OBJS2) |
BINDIR=/usr/bin | |||||
INCDIR=/usr/include/espeak | |||||
LIBDIR=/usr/lib | |||||
DATADIR=/usr/share/espeak-data | |||||
RELEASE = 1.31 | |||||
BIN2_NAME = espeak | |||||
LIB_NAME = libespeak.so | |||||
STATIC_LIB_NAME = libespeak.a | |||||
LIB_VERSION = 1 | |||||
LIBTAG = $(LIB_VERSION).$(RELEASE) | |||||
INSTALL = /usr/bin/install | |||||
LN_SF = /bin/ln -sf | |||||
MKDIR = mkdir -p | |||||
#BIN_NAME = speak | |||||
# speak_SOURCES = speak.cpp compiledict.cpp dictionary.cpp intonation.cpp \ | |||||
# readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \ | |||||
# synthdata.cpp synthesize.cpp translate.cpp tr_english.cpp \ | |||||
# tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp | |||||
libespeak_SOURCES = speak_lib.cpp compiledict.cpp dictionary.cpp intonation.cpp \ | |||||
readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \ | |||||
synthdata.cpp synthesize.cpp translate.cpp tr_english.cpp \ | |||||
tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp \ | |||||
espeak_command.cpp event.cpp fifo.cpp wave_pulse.cpp debug.cpp | |||||
SRCS1=$(speak_SOURCES) | |||||
OBJS1=$(patsubst %.cpp,%.o,$(SRCS1)) | |||||
LIBS1=-lstdc++ -lpulse -lpthread | |||||
SRCS2=$(libespeak_SOURCES) | |||||
OBJS2=$(patsubst %.cpp,x_%.o,$(SRCS2)) | |||||
LIBS2=-lstdc++ -lpulse -lpthread | |||||
SRCS3 = espeak.cpp | |||||
OBJS3=$(patsubst %.cpp,%.o,$(SRCS3)) | |||||
LIBS3=-lstdc++ ./libespeak.so | |||||
CXXFLAGS=-O2 -DUSE_PULSEAUDIO | |||||
#CXXFLAGS=-DUSE_PULSEAUDIO -ggdb -DDEBUG_ENABLED | |||||
#all: $(BIN_NAME) $(LIB_NAME) $(STATIC_LIB_NAME) $(BIN2_NAME) | |||||
all: $(LIB_NAME) $(STATIC_LIB_NAME) $(BIN2_NAME) | |||||
mv $(LIB_NAME) $(LIB_NAME).$(LIBTAG) | |||||
.cpp.o: | |||||
$(CXX) $(CXXFLAGS) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -pedantic -I. -c -fno-exceptions $< | |||||
# $(BIN_NAME): $(OBJS1) | |||||
# $(CXX) -o $@ $(OBJS1) $(LIBS1) | |||||
$(BIN2_NAME): $(OBJS3) $(LIB_NAME) | |||||
$(CXX) -o $@ $(OBJS3) $(LIBS3) | |||||
x_%.o: %.cpp | |||||
$(CXX) $(CXXFLAGS) -Wall -fpic -fvisibility=hidden -pedantic \ | |||||
-I. -D LIBRARY -c -fno-exceptions $< -o x_$*.o | |||||
$(LIB_NAME): $(OBJS2) | |||||
$(CXX) -shared -Wl,-soname,$(LIB_NAME).$(LIB_VERSION) -o $@ $(OBJS2) $(LIBS2) | |||||
$(STATIC_LIB_NAME): $(OBJS2) | |||||
$(AR) cqs $(STATIC_LIB_NAME) $(OBJS2) | |||||
clean: | |||||
rm -f *.o *.a *~ | |||||
distclean: clean | |||||
# rm -f $(BIN_NAME) | |||||
rm -f $(BIN2_NAME) | |||||
rm -f $(LIB_NAME)* | |||||
install: all | |||||
# Create directories | |||||
rm -rf $(DESTDIR)$(DATADIR) | |||||
$(MKDIR) $(DESTDIR)$(BINDIR) | |||||
$(MKDIR) $(DESTDIR)$(LIBDIR) | |||||
$(MKDIR) $(DESTDIR)$(INCDIR) | |||||
$(MKDIR) $(DESTDIR)$(DATADIR) | |||||
# Install espeak executable | |||||
$(INSTALL) -m 755 $(BIN2_NAME) $(DESTDIR)$(BINDIR) | |||||
# Install shared library | |||||
$(INSTALL) -m 755 $(LIB_NAME).$(LIBTAG) $(DESTDIR)$(LIBDIR) | |||||
# Install static library | |||||
$(INSTALL) -m 755 $(STATIC_LIB_NAME) $(DESTDIR)$(LIBDIR) | |||||
$(LN_SF) $(LIB_NAME).$(LIBTAG) $(DESTDIR)$(LIBDIR)/$(LIB_NAME).$(LIB_VERSION) | |||||
$(LN_SF) $(LIB_NAME).$(LIB_VERSION) $(DESTDIR)$(LIBDIR)/$(LIB_NAME) | |||||
# Install development headers | |||||
$(INSTALL) -pm 644 speak_lib.h $(DESTDIR)$(INCDIR) | |||||
# Install data files | |||||
cp -prf ../espeak-data/* $(DESTDIR)$(DATADIR) | |||||
#define PLATFORM_POSIX | #define PLATFORM_POSIX | ||||
#define PATHSEP '/' | #define PATHSEP '/' | ||||
#define USE_PORTAUDIO | |||||
// USE_PORTAUDIO or USE_PULSEAUDIO are now defined in the makefile | |||||
//#define USE_PORTAUDIO | |||||
//#define USE_PULSEAUDIO | //#define USE_PULSEAUDIO | ||||
#define USE_NANOSLEEP | #define USE_NANOSLEEP | ||||
#define __cdecl | #define __cdecl |