NAME=ant-phone
VERSION=0.0.3
DISTDIR=$(NAME)-$(VERSION)

# to be commented out
#DEBUG=1
#PROFILE=1

CFLAGS=-Wall -D_GNU_SOURCE -DVERSION='"$(VERSION)"' `gtk-config --cflags`
CC=cc
LDFLAGS=-lm `gtk-config --libs`

ifdef DEBUG
	CFLAGS:=$(CFLAGS) -ggdb -DDEBUG
else
	CFLAGS:=$(CFLAGS) -O3
endif

ifdef PROFILE
	CFLAGS:=$(CFLAGS) -pg -a
	LDFLAGS:=$(LDFLAGS) -pg
endif

MALLOC_TRACE=mtrace.log

SRCS=$(NAME).c sound.c isdn.c mediation.c g711.c util.c gtk.c session.c callerid.c llcheck.c
HSRC=sound.h isdn.h mediation.h g711.h util.h gtk.h session.h callerid.h llcheck.h
OBJS=$(SRCS:.c=.o)
DISTFILES=$(SRCS) $(HSRC) Makefile TODO COPYING README ChangeLog pickup.xpm hangup.xpm in.xpm out.xpm $(NAME).1
INSTALL=$(shell which install)
BINDIR=/usr/local/bin
MANDIR=/usr/local/man

all: $(NAME)

$(NAME): $(OBJS)
	$(CC) $(LDFLAGS) -o $@ $(OBJS)

%.o: %.c Makefile
	$(CC) $(CFLAGS) -c $<

mtrace: $(NAME)
	MALLOC_TRACE=$(MALLOC_TRACE); export MALLOC_TRACE; ./$(NAME)
	mtrace ./$(NAME) $(MALLOC_TRACE)

install: all
	#
	# NOTE: need to be root
	#
	$(INSTALL) -c -m 755 $(NAME) $(BINDIR)
	$(INSTALL) -c -m 644 $(NAME).1 $(MANDIR)/man1
	gzip -f $(MANDIR)/man1/$(NAME).1

clean:
	rm -Rf $(NAME) *.o $(NAME)-* *~ .depend* mtrace.log gmon.out bb.out

dist: $(DISTDIR).tar.gz $(DISTDIR).tar.bz2

$(DISTDIR).tar.gz: $(DISTDIR)
	tar cfz $@ $^

$(DISTDIR).tar.bz2: $(DISTDIR)
	tar cfj $@ $^

$(DISTDIR): $(DISTFILES)
	rm -Rf $@
	mkdir $@
	cp $^ $@

.depend: $(SRCS)
	touch $@
	makedepend -f.depend -- $(CFLAGS) -- $(SRCS)

include .depend
