123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- # remove -fno-exceptions if it causes problems with stdio library on some platforms (ARM)
-
- DATADIR=/usr/share/espeak-data
-
- PREFIX=/usr
- BINDIR=$(PREFIX)/bin
- INCDIR=$(PREFIX)/include/espeak
- LIBDIR=$(PREFIX)/lib
-
- RELEASE = 1.47
- BIN_NAME = speak
- BIN2_NAME = espeak
- LIB_NAME = libespeak.so
- STATIC_LIB_NAME = 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
-
- # 'runtime' uses pulseaudio if it is running, else uses portaudio
- #AUDIO = runtime
- AUDIO = portaudio
- #AUDIO = portaudio0
- #AUDIO = portaudio2
- #AUDIO = pulseaudio
- #AUDIO = sada
-
- ifeq ($(AUDIO),runtime)
- WAVE=wave.cpp wave_pulse.cpp
- LIB_AUDIO=-lpulse -lpulse-simple -lportaudio
- USE_AUDIO=-DUSE_PULSEAUDIO -DUSE_PORTAUDIO
- else
- ifeq ($(AUDIO),pulseaudio)
- WAVE=wave_pulse.cpp
- LIB_AUDIO=-lpulse
- USE_AUDIO=-DUSE_PULSEAUDIO
- else
- ifeq ($(AUDIO),portaudio)
- WAVE=wave.cpp
- LIB_AUDIO=-lportaudio
- USE_AUDIO=-DUSE_PORTAUDIO
- else
- ifeq ($(AUDIO),portaudio0)
- WAVE=wave.cpp
- LIB_AUDIO=/usr/lib/libportaudio.so.0
- USE_AUDIO=-DUSE_PORTAUDIO
- else
- ifeq ($(AUDIO),portaudio2)
- WAVE=wave.cpp
- LIB_AUDIO=/usr/lib/libportaudio.so.2
- USE_AUDIO=-DUSE_PORTAUDIO
- else
- ifeq ($(AUDIO),sada)
- WAVE=wave_sada.cpp
- USE_AUDIO=-DUSE_SADA
- else
- WAVE=wave.cpp
- endif
- endif
- endif
- endif
- endif
- endif
-
- 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 mbrowrap.cpp \
- tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp klatt.cpp sonic.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 mbrowrap.cpp \
- tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp \
- espeak_command.cpp event.cpp fifo.cpp $(WAVE) debug.cpp klatt.cpp sonic.cpp
-
- SRCS1=$(speak_SOURCES)
- OBJS1=$(patsubst %.cpp,%.o,$(SRCS1))
- LIBS1=-lstdc++ $(LIB_AUDIO) -lpthread $(EXTRA_LIBS)
-
- SRCS2=$(libespeak_SOURCES)
- OBJS2=$(patsubst %.cpp,x_%.o,$(SRCS2))
- LIBS2=-lstdc++ $(LIB_AUDIO) -lpthread
-
- SRCS3 = espeak.cpp
- OBJS3=$(patsubst %.cpp,%.o,$(SRCS3))
- LIBS3=-lstdc++ -L . -lespeak
-
- CXXFLAGS=-O2
-
-
- all: $(BIN_NAME) $(LIB_NAME) $(STATIC_LIB_NAME) $(BIN2_NAME)
-
- .cpp.o:
- $(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -pedantic -I. -c -fno-exceptions $<
-
- $(BIN_NAME): $(OBJS1)
- $(CXX) $(LDFLAGS) -o $@ $(OBJS1) $(LIBS1)
-
- $(BIN2_NAME): $(OBJS3) $(LIB_NAME)
- $(CXX) $(LDFLAGS) -o $@ $(OBJS3) $(LIBS3)
-
-
-
- x_%.o: %.cpp
- $(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -fpic -fvisibility=hidden -pedantic \
- -I. -D LIBRARY -c -fno-exceptions $< -o x_$*.o
-
- $(LIB_NAME): $(OBJS2)
- $(CXX) $(LDFLAGS) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ \
- $(OBJS2) $(LIBS2)
- mv $(LIB_NAME) $(LIB_NAME).$(LIBTAG)
- $(LN_SF) $(LIB_NAME).$(LIBTAG) $(LIB_NAME).$(LIB_VERSION)
- $(LN_SF) $(LIB_NAME).$(LIB_VERSION) $(LIB_NAME)
-
- $(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)
|