mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 21:39:47 +00:00
151 lines
4.2 KiB
Makefile
151 lines
4.2 KiB
Makefile
PREFIX=@prefix@
|
|
BINDIR=@bindir@
|
|
INCDIR=@includedir@/espeak
|
|
LIBDIR=@libdir@
|
|
DATADIR=${PREFIX}/share/espeak-data
|
|
|
|
# remove -fno-exceptions if it causes problems with stdio library on some platforms (ARM)
|
|
|
|
RELEASE = 1.47
|
|
SPEAK = speak
|
|
ESPEAK = espeak
|
|
ESPEAKEDIT = espeakedit
|
|
LIBESPEAK = libespeak.so
|
|
STATIC_LIBESPEAK = libespeak.a
|
|
LIB_VERSION = 1
|
|
LIBTAG = $(LIB_VERSION).$(RELEASE)
|
|
|
|
# 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
|
|
MKDIR = mkdir -p
|
|
|
|
# AUDIO='runtime' uses pulseaudio if it is running, else uses portaudio
|
|
|
|
if AUDIO_RUNTIME
|
|
WAVE=wave.cpp wave_pulse.cpp
|
|
LIB_AUDIO=-lpulse -lpulse-simple -lportaudio
|
|
USE_AUDIO=-DUSE_PULSEAUDIO -DUSE_PORTAUDIO
|
|
else
|
|
if AUDIO_PULSEAUDIO
|
|
WAVE=wave_pulse.cpp
|
|
LIB_AUDIO=-lpulse
|
|
USE_AUDIO=-DUSE_PULSEAUDIO
|
|
else
|
|
if AUDIO_PORTAUDIO
|
|
WAVE=wave.cpp
|
|
LIB_AUDIO=-lportaudio
|
|
USE_AUDIO=-DUSE_PORTAUDIO
|
|
else
|
|
if AUDIO_PORTAUDIO0
|
|
WAVE=wave.cpp
|
|
LIB_AUDIO=/usr/lib/libportaudio.so.0
|
|
USE_AUDIO=-DUSE_PORTAUDIO
|
|
else
|
|
if AUDIO_PORTAUDIO2
|
|
WAVE=wave.cpp
|
|
LIB_AUDIO=/usr/lib/libportaudio.so.2
|
|
USE_AUDIO=-DUSE_PORTAUDIO
|
|
else
|
|
if AUDIO_SADA
|
|
WAVE=wave_sada.cpp
|
|
USE_AUDIO=-DUSE_SADA
|
|
else
|
|
WAVE=wave.cpp
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
CXXFLAGS = -O2 -Wall -c
|
|
CPPFLAGS = -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\"
|
|
|
|
.cpp.o:
|
|
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -I. $(CPPFLAGS) $<
|
|
|
|
e_%.o: %.cpp
|
|
$(CXX) $(CXXFLAGS) $(espeakedit_CXXFLAGS) $(USE_AUDIO) $(CPPFLAGS) -I. $< -o e_$*.o
|
|
|
|
x_%.o: %.cpp
|
|
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -fpic -fvisibility=hidden \
|
|
-I. -D LIBRARY $(CPPFLAGS) $< -o x_$*.o
|
|
|
|
all: $(SPEAK) $(LIBESPEAK) $(STATIC_LIBESPEAK) $(ESPEAK) $(ESPEAKEDIT)
|
|
|
|
common_SOURCE = compiledict.cpp dictionary.cpp intonation.cpp \
|
|
klatt.cpp mbrowrap.cpp numbers.cpp readclause.cpp \
|
|
phonemelist.cpp setlengths.cpp sonic.cpp \
|
|
synthdata.cpp synthesize.cpp synth_mbrola.cpp \
|
|
translate.cpp tr_languages.cpp voices.cpp wavegen.cpp
|
|
|
|
speak_SOURCE = speak.cpp $(common_SOURCE)
|
|
speak_OBJS = ${speak_SOURCE:%.cpp=%.o}
|
|
speak_LIBS = -lstdc++ $(LIB_AUDIO) -lpthread $(EXTRA_LIBS)
|
|
$(SPEAK): $(speak_OBJS)
|
|
$(CXX) $(LDFLAGS) -o $@ $(speak_OBJS) $(speak_LIBS)
|
|
|
|
espeak_SOURCE = espeak.cpp
|
|
espeak_OBJS = ${espeak_SOURCE:%.cpp=%.o}
|
|
espeak_LIBS = -lstdc++ -L . -lespeak
|
|
$(ESPEAK): $(espeak_OBJS) $(LIB_NAME)
|
|
$(CXX) $(LDFLAGS) -o $@ $(espeak_OBJS) $(espeak_LIBS)
|
|
|
|
libespeak_SOURCE = speak_lib.cpp $(common_SOURCE) \
|
|
espeak_command.cpp event.cpp fifo.cpp $(WAVE) debug.cpp
|
|
libespeak_OBJS = ${libespeak_SOURCE:%.cpp=x_%.o}
|
|
libespeak_LIBS = -lstdc++ $(LIB_AUDIO) -lpthread
|
|
$(LIBESPEAK): $(libespeak_OBJS)
|
|
$(CXX) $(LDFLAGS) -shared $(SONAME_OPT)$(LIBESPEAK).$(LIB_VERSION) -o $@ \
|
|
$(libespeak_OBJS) $(libespeak_LIBS)
|
|
mv $(LIBESPEAK) $(LIBESPEAK).$(LIBTAG)
|
|
$(LN_SF) $(LIBESPEAK).$(LIBTAG) $(LIBESPEAK).$(LIB_VERSION)
|
|
$(LN_SF) $(LIBESPEAK).$(LIB_VERSION) $(LIBESPEAK)
|
|
|
|
$(STATIC_LIBESPEAK): $(libespeak_OBJS)
|
|
$(AR) cqs $(STATIC_LIBESPEAK) $(libespeak_OBJS)
|
|
|
|
|
|
espeakedit_SOURCE = $(common_SOURCE) compiledata.cpp debug.cpp espeakedit.cpp \
|
|
event.cpp extras.cpp fifo.cpp formantdlg.cpp \
|
|
menus.cpp options.cpp prosodydisplay.cpp \
|
|
espeak_command.cpp speak_lib.cpp spect.cpp \
|
|
spectdisplay.cpp spectseq.cpp \
|
|
transldlg.cpp voicedlg.cpp vowelchart.cpp $(WAVE)
|
|
espeakedit_OBJS=${espeakedit_SOURCE:%.cpp=e_%.o}
|
|
espeakedit_LIBS=-lstdc++ $(LIB_AUDIO)
|
|
espeakedit_CXXFLAGS = ${WX_CXXFLAGS} -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT
|
|
$(ESPEAKEDIT): $(espeakedit_OBJS)
|
|
$(CXX) $(LDFLAGS) -o $@ $(espeakedit_OBJS) $(espeakedit_LIBS) ${WX_LIBS}
|
|
|
|
clean:
|
|
rm -f *.o *.a *~
|
|
|
|
distclean: clean
|
|
rm -f $(SPEAK)
|
|
rm -f $(ESPEAK)
|
|
rm -f $(LIBESPEAK)*
|
|
rm -f $(STATIC_LIBESPEAK)
|
|
rm -f $(ESPEAKEDIT)
|
|
|
|
install:
|
|
rm -rf $(DESTDIR)$(DATADIR)
|
|
$(MKDIR) $(DESTDIR)$(BINDIR)
|
|
$(MKDIR) $(DESTDIR)$(LIBDIR)
|
|
$(MKDIR) $(DESTDIR)$(INCDIR)
|
|
$(MKDIR) $(DESTDIR)$(DATADIR)
|
|
$(INSTALL) -m 755 $(ESPEAK) $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) -m 755 $(LIBESPEAK).$(LIBTAG) $(DESTDIR)$(LIBDIR)
|
|
$(INSTALL) -m 755 $(STATIC_LIBESPEAK) $(DESTDIR)$(LIBDIR)
|
|
$(LN_SF) $(LIBESPEAK).$(LIBTAG) $(DESTDIR)$(LIBDIR)/$(LIBESPEAK).$(LIB_VERSION)
|
|
$(LN_SF) $(LIBESPEAK).$(LIB_VERSION) $(DESTDIR)$(LIBDIR)/$(LIBESPEAK)
|
|
$(INSTALL) -pm 644 speak_lib.h $(DESTDIR)$(INCDIR)
|
|
cp -prf ../espeak-data/* $(DESTDIR)$(DATADIR)
|
|
|