#
# Makefile	RADIUS - 
#		Remote Authentication Dial In User Service
#
#

ifneq ($(wildcard /usr/lib/libshadow.a),)
SLIB	= -lshadow
else
SLIB	=
endif

SRCDIR	= .
CFLAGS	= -g -DRADUTMP_VER=1 -DCISTRON_COMPAT # -DNOSHADOW
LDFLAGS	= # -s #tatic
CC	= gcc
LIBS	= $(SLIB)
SERVER_OBJS    = radiusd.o dict.o users.o util.o md5.o attrprint.o acct.o \
		version.o
SERVERDBM_OBJS = radiusd.o dict.o usersdbm.o util.o md5.o attrprint.o acct.o \
		 versiondbm.o
SERVER_SRCS    = radiusd.c dict.c users.c util.c md5.c attrprint.c acct.c \
		version.c
INCLUDES       = $(SRCDIR)/radius.h $(SRCDIR)/conf.h

ALL:	radiusd radwho radzap raduse

dbm:	radiusd.dbm builddbm

radiusd: $(SERVER_OBJS)
	$(CC) $(LDFLAGS) -o radiusd $(SERVER_OBJS) $(LIBS)

radiusd.dbm: $(SERVERDBM_OBJS)
	$(CC) $(LDFLAGS) -o radiusd.dbm $(SERVERDBM_OBJS) -ldbm $(LIBS)

radiusd.o: $(SRCDIR)/radiusd.c $(INCLUDES)
	$(CC) $(CFLAGS) -c $(SRCDIR)/radiusd.c

acct.o: $(SRCDIR)/acct.c $(INCLUDES)
	$(CC) $(CFLAGS) -c $(SRCDIR)/acct.c

attrprint.o: $(SRCDIR)/attrprint.c $(INCLUDES)
	$(CC) $(CFLAGS) -c $(SRCDIR)/attrprint.c

dict.o: $(SRCDIR)/dict.c $(INCLUDES)
	$(CC) $(CFLAGS) -c $(SRCDIR)/dict.c

users.o: $(SRCDIR)/users.c $(INCLUDES)
	$(CC) $(CFLAGS) -c $(SRCDIR)/users.c

usersdbm.o: $(SRCDIR)/users.c $(INCLUDES)
	$(CC) $(CFLAGS) -DDBM -o usersdbm.o -c $(SRCDIR)/users.c

util.o: $(SRCDIR)/util.c $(INCLUDES)
	$(CC) $(CFLAGS) -c $(SRCDIR)/util.c

version.o: $(SRCDIR)/version.c $(INCLUDES)
	$(CC) $(CFLAGS) -o version.o -c $(SRCDIR)/version.c

versiondbm.o: $(SRCDIR)/version.c $(INCLUDES)
	$(CC) $(CFLAGS) -DDBM -o versiondbm.o -c $(SRCDIR)/version.c

radpass: radpass.o md5.o util.o
	$(CC) $(CFLAGS) -o radpass radpass.o md5.o util.o $(LIBS)

radpass.o: $(SRCDIR)/radpass.c $(INCLUDES)
	$(CC) $(CFLAGS) -c $(SRCDIR)/radpass.c

md5.o: $(SRCDIR)/md5.c $(SRCDIR)/md5.h
	$(CC) $(CFLAGS) -c $(SRCDIR)/md5.c

builddbm: builddbm.o
	$(CC) $(CFLAGS) -o builddbm builddbm.o -ldbm $(LIBS)

builddbm.o: $(SRCDIR)/builddbm.c
	$(CC) $(CFLAGS) -c $(SRCDIR)/builddbm.c

radzap: radzap.o util.o
	$(CC) $(CFLAGS) -o radzap radzap.o util.o $(LIBS)

raduse: raduse.o
	$(CC) $(CFLAGS) -o raduse raduse.o $(LIBS)

lint:
	-lint -hbacvx -DLINT $(SERVER_SRCS)
	-lint -hbacvx -DLINT ../radpass.c ../md5.c ../util.c

clean:
	rm -f *.o radiusd radwho raduse radpass radzap builddbm radiusd.dbm

install:
	install -m 755 -s radiusd /usr/local/sbin/in.radiusd
	install -m 755 -s radwho  /usr/local/bin
	install -m 755 -s raduse  /usr/local/bin
	install -m 755 -s radzap  /usr/local/bin
	install -m 755    radlast /usr/local/bin
	-rm -f /usr/local/bin/{ttyuse,pmwho,pmzap,pmlast}
	ln -s radwho /usr/local/bin/pmwho
	ln -s radlast /usr/local/bin/pmlast
	ln -s raduse /usr/local/bin/ttyuse

