###########################################################################
# Speextalk
# (C) Nicolas George - 2005-07-24
# This code is distributed under the terms of the GNU GPL.
# Makefile: guess what
###########################################################################

CC=gcc
CPPFLAGS=-D_XOPEN_SOURCE=600
CFLAGS=$(CPPFLAGS) $(USER_CFLAGS) -Wall -W -Wno-pointer-sign -std=c99 -O2 -g
LDFLAGS=
LIBS=
INSTALL=install

# Available interfaces: only text
INTERFACE=text

# Available sound back-ends: only alsa
SOUND=alsa

# Only relevant for make install
PREFIX=/usr/local
BINDIR=$(PREFIX)/bin
MANDIR=$(PREFIX)/man/man1

OBJECTS=speextalk.o encode.o decode.o handshake.o \
	sound_$(SOUND).o interface_$(INTERFACE).o

all: speextalk

speextalk: $(OBJECTS)
	$(CC) $(LDFLAGS) -o $@ -pthread $(OBJECTS) -lspeex -lasound $(LIBS)
	
.c.o:
	$(CC) $(CFLAGS) -c -pthread $<

sound_alsa.o: sound_alsa.c
	$(CC) $(CFLAGS) -D_GNU_SOURCE -c -pthread $<

speextalk.o: speextalk.h
encode.o: speextalk.h
decode.o: speextalk.h
handshake.o: speextalk.h
sound_alsa.o: speextalk.h
interface_text.o: speextalk.h

install: speextalk speextalk.1
	$(INSTALL) -m 755 speextalk $(DESTDIR)$(BINDIR)
	$(INSTALL) -m 644 speextalk.1 $(DESTDIR)$(MANDIR)

install-strip: speextalk speextalk.1
	$(INSTALL) -s -m 755 speextalk $(DESTDIR)$(BINDIR)
	$(INSTALL) -m 644 speextalk.1 $(DESTDIR)$(MANDIR)

clean:
	-rm $(OBJECTS) speextalk
