From 7de46ec58e6f1323f2288c765926331bdaf8257b Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sat, 18 Aug 2012 20:46:23 +0100 Subject: [PATCH] autotools: convert src/Makefile to an automake file --- Makefile.am | 11 ++++--- configure.ac | 9 +++++- src/{Makefile => Makefile.am} | 54 +++++++++++------------------------ 3 files changed, 29 insertions(+), 45 deletions(-) rename src/{Makefile => Makefile.am} (76%) diff --git a/Makefile.am b/Makefile.am index a4af7263..4db7708b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,6 @@ LIBDIR=$(PREFIX)/lib DATADIR=$(PREFIX)/share/espeak-data PLATFORM=big_endian -AUDIO=@AUDIO@ .PHONY: all clean distclean espeak-phoneme-data @@ -89,19 +88,19 @@ docs/speak_lib.h: src/speak_lib.h cp $< $@ src/libespeak.a: $(common_SOURCE) $(libespeak_SOURCE) - cd src && make libespeak.a AUDIO=${AUDIO} PREFIX=$(PREFIX) && cd .. + cd src && make libespeak.a PREFIX=$(PREFIX) && cd .. src/libespeak.so: $(common_SOURCE) $(libespeak_SOURCE) - cd src && make libespeak.so AUDIO=${AUDIO} PREFIX=$(PREFIX) && cd .. + cd src && make libespeak.so PREFIX=$(PREFIX) && cd .. src/speak: $(common_SOURCE) src/speak.cpp - cd src && make speak AUDIO=${AUDIO} PREFIX=$(PREFIX) && cd .. + cd src && make speak PREFIX=$(PREFIX) && cd .. src/espeak: src/libespeak.so src/espeak.cpp - cd src && make espeak AUDIO=${AUDIO} PREFIX=$(PREFIX) && cd .. + cd src && make espeak PREFIX=$(PREFIX) && cd .. src/espeakedit: $(common_SOURCE) $(libespeak_SOURCE) $(espeakedit_SOURCE) - cd src && make espeakedit AUDIO=${AUDIO} PREFIX=$(PREFIX) && cd .. + cd src && make espeakedit PREFIX=$(PREFIX) && cd .. espeak-phoneme-data: cd platforms/$(PLATFORM) && make PREFIX=$(PREFIX) && cd ../.. diff --git a/configure.ac b/configure.ac index 53890989..ebd0ae51 100644 --- a/configure.ac +++ b/configure.ac @@ -56,11 +56,18 @@ fi AC_SUBST(AUDIO) +AM_CONDITIONAL(AUDIO_RUNTIME, [test x"$AUDIO" = xruntime]) +AM_CONDITIONAL(AUDIO_PULSEAUDIO, [test x"$AUDIO" = xpulseaudio]) +AM_CONDITIONAL(AUDIO_PORTAUDIO, [test x"$AUDIO" = xportaudio]) +AM_CONDITIONAL(AUDIO_PORTAUDIO0, [test x"$AUDIO" = xportaudio0]) +AM_CONDITIONAL(AUDIO_PORTAUDIO2, [test x"$AUDIO" = xportaudio2]) +AM_CONDITIONAL(AUDIO_SADA, [test x"$AUDIO" = xsada]) + dnl ================================================================ dnl Generate output. dnl ================================================================ -AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([Makefile src/Makefile]) AC_OUTPUT AC_MSG_NOTICE([ diff --git a/src/Makefile b/src/Makefile.am similarity index 76% rename from src/Makefile rename to src/Makefile.am index 7660d744..d1a0e550 100644 --- a/src/Makefile +++ b/src/Makefile.am @@ -26,40 +26,34 @@ 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 +# AUDIO='runtime' uses pulseaudio if it is running, else uses portaudio -ifeq ($(AUDIO),runtime) +if AUDIO_RUNTIME WAVE=wave.cpp wave_pulse.cpp LIB_AUDIO=-lpulse -lpulse-simple -lportaudio USE_AUDIO=-DUSE_PULSEAUDIO -DUSE_PORTAUDIO else -ifeq ($(AUDIO),pulseaudio) +if AUDIO_PULSEAUDIO WAVE=wave_pulse.cpp LIB_AUDIO=-lpulse USE_AUDIO=-DUSE_PULSEAUDIO else -ifeq ($(AUDIO),portaudio) +if AUDIO_PORTAUDIO WAVE=wave.cpp LIB_AUDIO=-lportaudio USE_AUDIO=-DUSE_PORTAUDIO else -ifeq ($(AUDIO),portaudio0) +if AUDIO_PORTAUDIO0 WAVE=wave.cpp LIB_AUDIO=/usr/lib/libportaudio.so.0 USE_AUDIO=-DUSE_PORTAUDIO else -ifeq ($(AUDIO),portaudio2) +if AUDIO_PORTAUDIO2 WAVE=wave.cpp LIB_AUDIO=/usr/lib/libportaudio.so.2 USE_AUDIO=-DUSE_PORTAUDIO else -ifeq ($(AUDIO),sada) +if AUDIO_SADA WAVE=wave_sada.cpp USE_AUDIO=-DUSE_SADA else @@ -75,46 +69,40 @@ CXXFLAGS = -O2 -Wall -c CPPFLAGS = -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\" .cpp.o: - # Compiling $@ $(CXX) $(CXXFLAGS) $(USE_AUDIO) -I. $(CPPFLAGS) $< e_%.o: %.cpp - # Compiling $@ $(CXX) $(CXXFLAGS) $(espeakedit_CXXFLAGS) $(USE_AUDIO) $(CPPFLAGS) -I. $< -o e_$*.o x_%.o: %.cpp - # Compiling $@ $(CXX) $(CXXFLAGS) $(USE_AUDIO) -fpic -fvisibility=hidden \ -I. -D LIBRARY $(CPPFLAGS) $< -o x_$*.o all: $(SPEAK) $(LIBESPEAK) $(STATIC_LIBESPEAK) $(ESPEAK) $(ESPEAKEDIT) -common_SOURCES = compiledict.cpp dictionary.cpp intonation.cpp \ +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_SOURCES = speak.cpp $(common_SOURCES) -speak_OBJS = $(patsubst %.cpp,%.o,$(speak_SOURCES)) +speak_SOURCE = speak.cpp $(common_SOURCE) +speak_OBJS = ${speak_SOURCE:%.cpp=%.o} speak_LIBS = -lstdc++ $(LIB_AUDIO) -lpthread $(EXTRA_LIBS) $(SPEAK): $(speak_OBJS) - # Linking $@ $(CXX) $(LDFLAGS) -o $@ $(speak_OBJS) $(speak_LIBS) -espeak_SOURCES = espeak.cpp -espeak_OBJS = $(patsubst %.cpp,%.o,$(espeak_SOURCES)) +espeak_SOURCE = espeak.cpp +espeak_OBJS = ${espeak_SOURCE:%.cpp=%.o} espeak_LIBS = -lstdc++ -L . -lespeak $(ESPEAK): $(espeak_OBJS) $(LIB_NAME) - # Linking $@ $(CXX) $(LDFLAGS) -o $@ $(espeak_OBJS) $(espeak_LIBS) -libespeak_SOURCES = speak_lib.cpp $(common_SOURCES) \ +libespeak_SOURCE = speak_lib.cpp $(common_SOURCE) \ espeak_command.cpp event.cpp fifo.cpp $(WAVE) debug.cpp -libespeak_OBJS = $(patsubst %.cpp,x_%.o,$(libespeak_SOURCES)) +libespeak_OBJS = ${libespeak_SOURCE:%.cpp=x_%.o} libespeak_LIBS = -lstdc++ $(LIB_AUDIO) -lpthread $(LIBESPEAK): $(libespeak_OBJS) - # Linking $@ $(CXX) $(LDFLAGS) -shared $(SONAME_OPT)$(LIBESPEAK).$(LIB_VERSION) -o $@ \ $(libespeak_OBJS) $(libespeak_LIBS) mv $(LIBESPEAK) $(LIBESPEAK).$(LIBTAG) @@ -122,17 +110,16 @@ $(LIBESPEAK): $(libespeak_OBJS) $(LN_SF) $(LIBESPEAK).$(LIB_VERSION) $(LIBESPEAK) $(STATIC_LIBESPEAK): $(libespeak_OBJS) - # Linking $@ $(AR) cqs $(STATIC_LIBESPEAK) $(libespeak_OBJS) -espeakedit_SOURCES = $(common_SOURCES) compiledata.cpp debug.cpp espeakedit.cpp \ +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=$(patsubst %.cpp,e_%.o,$(espeakedit_SOURCES)) +espeakedit_OBJS=${espeakedit_SOURCE:%.cpp=e_%.o} espeakedit_WX_LIBS = -pthread -lwx_gtk2u_xrc-2.6 -lwx_gtk2u_qa-2.6 -lwx_gtk2u_html-2.6 \ -lwx_gtk2u_adv-2.6 -lwx_gtk2u_core-2.6 -lwx_baseu_xml-2.6 -lwx_baseu_net-2.6 -lwx_baseu-2.6 espeakedit_LIBS=-lstdc++ $(LIB_AUDIO) @@ -141,7 +128,6 @@ espeakedit_CXXFLAGS = -I/usr/lib/wx/include/gtk2-unicode-release-2.6 \ -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 \ -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT $(ESPEAKEDIT): $(espeakedit_OBJS) - # Linking $@ $(CXX) $(LDFLAGS) -o $@ $(espeakedit_OBJS) $(espeakedit_LIBS) $(espeakedit_WX_LIBS) clean: @@ -155,24 +141,16 @@ distclean: clean rm -f $(ESPEAKEDIT) 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 $(ESPEAK) $(DESTDIR)$(BINDIR) - # Should we install espeakedit executable? - # $(INSTALL) -m 755 $(ESPEAKEDIT) $(DESTDIR)$(BINDIR) - # Install shared library $(INSTALL) -m 755 $(LIBESPEAK).$(LIBTAG) $(DESTDIR)$(LIBDIR) - # Install static library $(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 development headers $(INSTALL) -pm 644 speak_lib.h $(DESTDIR)$(INCDIR) - # Install data files cp -prf ../espeak-data/* $(DESTDIR)$(DATADIR)