#
# This file is part of Distributed John,
# Copyright (C) 2001-2003 by Luis Parravicini
# http://ktulu.com.ar
#

VERSION=0.9.8.1
DIST_DIR=djohn-$(VERSION)

CFLAGS=-Wall -ansi -I/usr/local/include -L/usr/local/lib -g
#-DDEBUGGING
OBJS=word.o netutils.o defs.o ipc.o intl.o common.o

default: 
	@echo "To build DJohn use:"
	@echo "make SYSTEM"
	@echo "where SYSTEM is one of the following:"
	@echo "solaris		Solaris (outdated; may not work)"
	@echo "linux		Linux (and other *nix variants)"
	@echo "freebsd		FreeBSD"
	@echo "cygwin		Windows"
	@echo

linux:
	$(MAKE) build

solaris:
	$(MAKE) LDFLAGS="-lsocket -lnsl -lresolv" build

freebsd:
	$(MAKE) CFLAGS="-I/usr/local/include -L/usr/local/lib" LDFLAGS="-lintl" build 

cygwin:
	$(MAKE) LDFLAGS="-lintl -lcygipc -lcygwin -lc" build

build: djohnd djohn djs

djohnd: djohnd.c $(OBJS)
	$(CC) $(CFLAGS) djohnd.c -o djohnd $(OBJS) $(LDFLAGS) 

djohn: djohn.c $(OBJS)
	$(CC) $(CFLAGS) djohn.c -o djohn $(OBJS) $(LDFLAGS) 

djs: djohnd
	ln -fs djohnd djs
clean:
	rm -f *.o djs djohn djohnd po/*.mo

template:
	xgettext -o ./po/djohn.pot -k_ *.h *.c

mo:
	msgfmt -o ./po/es.mo ./po/es.po

dist: mo template
	mkdir $(DIST_DIR)
	cp -r *.c *.h Makefile README* dJohn john-ini Makefile* AUTHORS CREDITS TODO* ChangeLog* po mklist.pl chklist.pl BUGS* COPYING ABOUT-NLS contrib $(DIST_DIR)/
	find $(DIST_DIR) -type d -name CVS -print0 | xargs -0 rm -rf
	rm -f $(DIST_DIR)/po/*.mo
	tar -c $(DIST_DIR) | gzip -c >djohn-`date +%Y%m%d`.tgz
	rm -rf $(DIST_DIR)

install: default
	install -s -m 0755 src/djohn src/djohnd $(DESTDIR)/usr/local/bin
	rm -f $(DESTDIR)/usr/local/bin/djs
	ln -s $(DESTDIR)/usr/local/bin/djohnd /usr/local/bin/djs
	install -d $(DESTDIR)/usr/share/locale/es/LC_MESSAGES/
	install -m 0644 ./po/es.mo $(DESTDIR)/usr/share/locale/es/LC_MESSAGES

uninstall:
	rm -f $(DESTDIR)/usr/local/bin/{djohn,djohnd,djs} $(DESTDIR)/usr/share/locale/es/LC_MESSAGES/djohn.mo
