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

@@ -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 ../..

+ 8
- 1
configure.ac View File

@@ -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([

src/Makefile → src/Makefile.am View File

@@ -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

ifeq ($(AUDIO),runtime)
# 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
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)


Loading…
Cancel
Save