Browse Source

autotools: convert src/Makefile to an automake file

master
Reece H. Dunn 12 years ago
parent
commit
7de46ec58e
3 changed files with 30 additions and 46 deletions
  1. 5
    6
      Makefile.am
  2. 8
    1
      configure.ac
  3. 17
    39
      src/Makefile.am

+ 5
- 6
Makefile.am View File

DATADIR=$(PREFIX)/share/espeak-data DATADIR=$(PREFIX)/share/espeak-data


PLATFORM=big_endian PLATFORM=big_endian
AUDIO=@AUDIO@


.PHONY: all clean distclean espeak-phoneme-data .PHONY: all clean distclean espeak-phoneme-data


cp $< $@ cp $< $@


src/libespeak.a: $(common_SOURCE) $(libespeak_SOURCE) 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) 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 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 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) 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: espeak-phoneme-data:
cd platforms/$(PLATFORM) && make PREFIX=$(PREFIX) && cd ../.. cd platforms/$(PLATFORM) && make PREFIX=$(PREFIX) && cd ../..

+ 8
- 1
configure.ac View File



AC_SUBST(AUDIO) 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 ================================================================
dnl Generate output. dnl Generate output.
dnl ================================================================ dnl ================================================================


AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT AC_OUTPUT


AC_MSG_NOTICE([ AC_MSG_NOTICE([

src/Makefile → src/Makefile.am View File

LN_SF = /bin/ln -sf LN_SF = /bin/ln -sf
MKDIR = mkdir -p 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)
# AUDIO='runtime' uses pulseaudio if it is running, else uses portaudio

if AUDIO_RUNTIME
WAVE=wave.cpp wave_pulse.cpp WAVE=wave.cpp wave_pulse.cpp
LIB_AUDIO=-lpulse -lpulse-simple -lportaudio LIB_AUDIO=-lpulse -lpulse-simple -lportaudio
USE_AUDIO=-DUSE_PULSEAUDIO -DUSE_PORTAUDIO USE_AUDIO=-DUSE_PULSEAUDIO -DUSE_PORTAUDIO
else else
ifeq ($(AUDIO),pulseaudio)
if AUDIO_PULSEAUDIO
WAVE=wave_pulse.cpp WAVE=wave_pulse.cpp
LIB_AUDIO=-lpulse LIB_AUDIO=-lpulse
USE_AUDIO=-DUSE_PULSEAUDIO USE_AUDIO=-DUSE_PULSEAUDIO
else else
ifeq ($(AUDIO),portaudio)
if AUDIO_PORTAUDIO
WAVE=wave.cpp WAVE=wave.cpp
LIB_AUDIO=-lportaudio LIB_AUDIO=-lportaudio
USE_AUDIO=-DUSE_PORTAUDIO USE_AUDIO=-DUSE_PORTAUDIO
else else
ifeq ($(AUDIO),portaudio0)
if AUDIO_PORTAUDIO0
WAVE=wave.cpp WAVE=wave.cpp
LIB_AUDIO=/usr/lib/libportaudio.so.0 LIB_AUDIO=/usr/lib/libportaudio.so.0
USE_AUDIO=-DUSE_PORTAUDIO USE_AUDIO=-DUSE_PORTAUDIO
else else
ifeq ($(AUDIO),portaudio2)
if AUDIO_PORTAUDIO2
WAVE=wave.cpp WAVE=wave.cpp
LIB_AUDIO=/usr/lib/libportaudio.so.2 LIB_AUDIO=/usr/lib/libportaudio.so.2
USE_AUDIO=-DUSE_PORTAUDIO USE_AUDIO=-DUSE_PORTAUDIO
else else
ifeq ($(AUDIO),sada)
if AUDIO_SADA
WAVE=wave_sada.cpp WAVE=wave_sada.cpp
USE_AUDIO=-DUSE_SADA USE_AUDIO=-DUSE_SADA
else else
CPPFLAGS = -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\" CPPFLAGS = -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\"


.cpp.o: .cpp.o:
# Compiling $@
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -I. $(CPPFLAGS) $< $(CXX) $(CXXFLAGS) $(USE_AUDIO) -I. $(CPPFLAGS) $<


e_%.o: %.cpp e_%.o: %.cpp
# Compiling $@
$(CXX) $(CXXFLAGS) $(espeakedit_CXXFLAGS) $(USE_AUDIO) $(CPPFLAGS) -I. $< -o e_$*.o $(CXX) $(CXXFLAGS) $(espeakedit_CXXFLAGS) $(USE_AUDIO) $(CPPFLAGS) -I. $< -o e_$*.o


x_%.o: %.cpp x_%.o: %.cpp
# Compiling $@
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -fpic -fvisibility=hidden \ $(CXX) $(CXXFLAGS) $(USE_AUDIO) -fpic -fvisibility=hidden \
-I. -D LIBRARY $(CPPFLAGS) $< -o x_$*.o -I. -D LIBRARY $(CPPFLAGS) $< -o x_$*.o


all: $(SPEAK) $(LIBESPEAK) $(STATIC_LIBESPEAK) $(ESPEAK) $(ESPEAKEDIT) 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 \ klatt.cpp mbrowrap.cpp numbers.cpp readclause.cpp \
phonemelist.cpp setlengths.cpp sonic.cpp \ phonemelist.cpp setlengths.cpp sonic.cpp \
synthdata.cpp synthesize.cpp synth_mbrola.cpp \ synthdata.cpp synthesize.cpp synth_mbrola.cpp \
translate.cpp tr_languages.cpp voices.cpp wavegen.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_LIBS = -lstdc++ $(LIB_AUDIO) -lpthread $(EXTRA_LIBS)
$(SPEAK): $(speak_OBJS) $(SPEAK): $(speak_OBJS)
# Linking $@
$(CXX) $(LDFLAGS) -o $@ $(speak_OBJS) $(speak_LIBS) $(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_LIBS = -lstdc++ -L . -lespeak
$(ESPEAK): $(espeak_OBJS) $(LIB_NAME) $(ESPEAK): $(espeak_OBJS) $(LIB_NAME)
# Linking $@
$(CXX) $(LDFLAGS) -o $@ $(espeak_OBJS) $(espeak_LIBS) $(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 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_LIBS = -lstdc++ $(LIB_AUDIO) -lpthread
$(LIBESPEAK): $(libespeak_OBJS) $(LIBESPEAK): $(libespeak_OBJS)
# Linking $@
$(CXX) $(LDFLAGS) -shared $(SONAME_OPT)$(LIBESPEAK).$(LIB_VERSION) -o $@ \ $(CXX) $(LDFLAGS) -shared $(SONAME_OPT)$(LIBESPEAK).$(LIB_VERSION) -o $@ \
$(libespeak_OBJS) $(libespeak_LIBS) $(libespeak_OBJS) $(libespeak_LIBS)
mv $(LIBESPEAK) $(LIBESPEAK).$(LIBTAG) mv $(LIBESPEAK) $(LIBESPEAK).$(LIBTAG)
$(LN_SF) $(LIBESPEAK).$(LIB_VERSION) $(LIBESPEAK) $(LN_SF) $(LIBESPEAK).$(LIB_VERSION) $(LIBESPEAK)


$(STATIC_LIBESPEAK): $(libespeak_OBJS) $(STATIC_LIBESPEAK): $(libespeak_OBJS)
# Linking $@
$(AR) cqs $(STATIC_LIBESPEAK) $(libespeak_OBJS) $(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 \ event.cpp extras.cpp fifo.cpp formantdlg.cpp \
menus.cpp options.cpp prosodydisplay.cpp \ menus.cpp options.cpp prosodydisplay.cpp \
espeak_command.cpp speak_lib.cpp spect.cpp \ espeak_command.cpp speak_lib.cpp spect.cpp \
spectdisplay.cpp spectseq.cpp \ spectdisplay.cpp spectseq.cpp \
transldlg.cpp voicedlg.cpp vowelchart.cpp $(WAVE) 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 \ 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 -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) espeakedit_LIBS=-lstdc++ $(LIB_AUDIO)
-DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 \ -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 \
-D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT
$(ESPEAKEDIT): $(espeakedit_OBJS) $(ESPEAKEDIT): $(espeakedit_OBJS)
# Linking $@
$(CXX) $(LDFLAGS) -o $@ $(espeakedit_OBJS) $(espeakedit_LIBS) $(espeakedit_WX_LIBS) $(CXX) $(LDFLAGS) -o $@ $(espeakedit_OBJS) $(espeakedit_LIBS) $(espeakedit_WX_LIBS)


clean: clean:
rm -f $(ESPEAKEDIT) rm -f $(ESPEAKEDIT)


install: all install: all
# Create directories
rm -rf $(DESTDIR)$(DATADIR) rm -rf $(DESTDIR)$(DATADIR)
$(MKDIR) $(DESTDIR)$(BINDIR) $(MKDIR) $(DESTDIR)$(BINDIR)
$(MKDIR) $(DESTDIR)$(LIBDIR) $(MKDIR) $(DESTDIR)$(LIBDIR)
$(MKDIR) $(DESTDIR)$(INCDIR) $(MKDIR) $(DESTDIR)$(INCDIR)
$(MKDIR) $(DESTDIR)$(DATADIR) $(MKDIR) $(DESTDIR)$(DATADIR)
# Install espeak executable
$(INSTALL) -m 755 $(ESPEAK) $(DESTDIR)$(BINDIR) $(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) -m 755 $(LIBESPEAK).$(LIBTAG) $(DESTDIR)$(LIBDIR)
# Install static library
$(INSTALL) -m 755 $(STATIC_LIBESPEAK) $(DESTDIR)$(LIBDIR) $(INSTALL) -m 755 $(STATIC_LIBESPEAK) $(DESTDIR)$(LIBDIR)
$(LN_SF) $(LIBESPEAK).$(LIBTAG) $(DESTDIR)$(LIBDIR)/$(LIBESPEAK).$(LIB_VERSION) $(LN_SF) $(LIBESPEAK).$(LIBTAG) $(DESTDIR)$(LIBDIR)/$(LIBESPEAK).$(LIB_VERSION)
$(LN_SF) $(LIBESPEAK).$(LIB_VERSION) $(DESTDIR)$(LIBDIR)/$(LIBESPEAK) $(LN_SF) $(LIBESPEAK).$(LIB_VERSION) $(DESTDIR)$(LIBDIR)/$(LIBESPEAK)
# Install development headers
$(INSTALL) -pm 644 speak_lib.h $(DESTDIR)$(INCDIR) $(INSTALL) -pm 644 speak_lib.h $(DESTDIR)$(INCDIR)
# Install data files
cp -prf ../espeak-data/* $(DESTDIR)$(DATADIR) cp -prf ../espeak-data/* $(DESTDIR)$(DATADIR)



Loading…
Cancel
Save