#
# $Id: Makefile,v 1.18 1996/09/15 11:36:20 lf Exp $
#
# Copyright (C) 1995 Lars Fenneberg
#
# See the file COPYRIGHT for the respective terms and conditions. 
# If the file is missing contact me at lf@elemental.net 
# and I'll send you a copy.
#

include ./MCONFIG

# lib has to come first
SUBDIRS=include lib src utils login.radius sample patches

.PHONY: all clean depend ci co install copysample diff archive dist backup

all:
	for i in $(SUBDIRS); do $(MAKE) -C $$i; done

clean:
	rm -f *~ core a.out
	for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done

depend:
	for i in $(SUBDIRS); do $(MAKE) -C $$i depend; done

ci:
	-$(CI) $(CIFLAGS) BUGS Makefile README MCONFIG CHANGES
	-for i in $(SUBDIRS); do $(MAKE) -C $$i ci; done

co:
	-$(CO) $(COFLAGS) BUGS Makefile README MCONFIG CHANGES
	-for i in $(SUBDIRS); do $(MAKE) -C $$i co; done

install: all
	# src
	if [ ! -d "$(RC_LIB)" ]; then mkdir -p $(RC_LIB); fi
	install -m 755 src/radlogin $(RC_LIB)
	install -m 755 src/radstatus $(RC_LIB)
	install -m 755 src/radacct $(RC_LIB)
ifdef SYS_INCLUDE
	install -m 644 include/radius.h $(SYS_INCLUDE)
endif
ifdef SYS_LIB
	install -m 755 lib/libradclient.a $(SYS_LIB)
endif
	# login.radius
#	install -m 755 login.radius/login.radius $(RC_LIB)
	# sample
	if [ ! -d "$(RC_RADDB)" ]; then mkdir -p $(RC_RADDB); fi
	if [ ! -d "$(RC_CONFIG)" ]; then mkdir -p $(RC_CONFIG); fi
	install -m 644 sample/dictionary $(RC_RADDB)
	install -m 640 sample/clients $(RC_RADDB)
	install -m 644 sample/radiusclient.conf $(RC_CONFIG)
	install -m 644 sample/modem-pool $(RC_CONFIG)
	install -m 644 sample/issue $(RC_CONFIG)
	# utils
	install -m 755 utils/getifname $(RC_LIB)
	install -m 755 utils/rport $(RC_LIB)

copysample:
	cp /etc/radclient/radiusclient.conf sample
	cp /etc/radclient/port-id-map sample
	cp /etc/radclient/modem-pool sample
	cp /etc/radclient/issue sample
	cp /etc/raddb/dictionary sample

copyinstop:
	cp /home/lf/public_html/radius/instop.html .

diff:
	cd ..;\
	tar xzf radiusclient-$(PREV_VERSION).tar.gz;\
	diff -ruNx '*,v'\
	radiusclient-$(PREV_VERSION) radiusclient\
	>radiusclient-$(PREV_VERSION)-$(VERSION).diff;\
	rm -rf radiusclient-$(PREV_VERSION)

archive:
	cd ..;\
	ln -s radiusclient radiusclient-$(VERSION);\
	tar -V "radiusclient v$(VERSION) (`date`)" \
	 --exclude '*/RCS*' \
	 -czhvvf radiusclient-$(VERSION).tar.gz radiusclient-$(VERSION);\
	rm -f radiusclient-$(VERSION)

dist: clean ci co copysample copyinstop diff archive

backup: clean
	cd ..;\
	ln -s radiusclient radiusclient-backup-$(VERSION);\
	tar -V "radiusclient v$(VERSION) (`date`) BACKUP" \
	 -czhvvf radiusclient-backup-$(VERSION).tar.gz \
	 radiusclient-backup-$(VERSION);\
	rm -f radiusclient-backup-$(VERSION)
