###########################################################################
# jtalk -- talk-like Jabber client
# (C) Nicolas George - 2006
# Makefile: guess what
###########################################################################

PREFIX=/usr/local
BINDIR=$(PREFIX)/bin
FRONTEND_DIR=$(PREFIX)/libexec/jtalk
DOCDIR=$(PREFIX)/share/doc/jtalk

CC=gcc
CFLAGS_MORE=
CFLAGS_OPT=-O2
CFLAGS=-Wall -W -Wno-pointer-sign -std=c99 -D_XOPEN_SOURCE=600 \
       $(CFLAGS_OPT) $(CFLAGS_MORE)
LDFLAGS=
LIBS=

JTALKD=jtalkd.o main.o loudmouth.o socket.o settings.o terminal.o contacts.o \
       log.o sorter.o
JTALK_RL=jtalk_rl.o frontend_common.o

all: jtalkd jtalk_rl

jtalkd: $(JTALKD)
	$(CC) $(LDFLAGS) -o $@ `pkg-config --libs loudmouth-1.0` \
	`pcre-config --libs` $(JTALKD) $(LIBS)

$(JTALKD): %.o: %.c
	$(CC) $(CFLAGS) -c `pkg-config --cflags loudmouth-1.0` \
	`pcre-config --cflags` $<

jtalkd.o: jtalk.h
main.o: jtalk.h
loudmouth.o: jtalk.h
socket.o: jtalk.h
settings.o: jtalk.h
terminal.o: jtalk.h
contacts.o: jtalk.h
log.o: jtalk.h
sorter.o: jtalk.h

jtalk_rl: $(JTALK_RL)
	$(CC) $(LDFLAGS) -o $@ $(JTALK_RL) -lreadline $(LIBS)

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

frontend_common.o: frontend_common.c frontend_common.h
	$(CC) $(CFLAGS) -DFRONTEND_DIR=\"$(FRONTEND_DIR)\" -c frontend_common.c

install: all
	install -d $(DESTDIR)$(FRONTEND_DIR) $(DESTDIR)$(BINDIR) \
	$(DESTDIR)$(DOCDIR)
	install -s jtalk_rl jtalkd $(DESTDIR)$(FRONTEND_DIR)
	install manual.html $(DESTDIR)$(DOCDIR)
	ln -s ../libexec/jtalk/jtalk_rl $(DESTDIR)$(BINDIR)/jtalk

clean:
	rm -f jtalkd jtalk_rl *.o
