PACKAGE		= Dial-Up_Utils
VERSION		= 2.27
ARCH		= i386
PKG		= $(PACKAGE)_$(VERSION)
SRC_PKG		= $(PKG).tar.gz
TGZ_PKG		= $(PKG)-bin.tar.gz
RPM_PKG		= $(PACKAGE)-$(VERSION)-1.$(ARCH).rpm
CC		= gcc
OSTYPE		= LINUX
#OSTYPE		= BSD
CCOPTS		= -g -D$(OSTYPE) -DSBIN=\"$(SBIN)\" -DLIB=\"$(LIB)\" -Wall -O
SHLIB		= libduu.so.2
SCRIPTS		= user_add user_del
BINS		= $(ROOT_BINS) $(USER_BINS)
ROOT_BINS	= user_addrec user_ban user_delrec user_dump user_expire \
		  user_foreach user_kick user_login user_purge user_renew \
		  user_subscribe user_sync user_time user_touch user_unban \
		  user_unsubscribe user_updated user_verify clean_proc \
		  clean_tmp
PERL_SCRIPTS	= user_bytes
USER_BINS	= daysleft timeleft user_data
PREFIX		= /usr
BIN		= $(PREFIX)/bin
SBIN		= $(PREFIX)/sbin
LIB		= $(PREFIX)/lib/Dial-Up_Utils

all:	$(BINS)

bindist:	install
	cp HISTORY README /usr/src/redhat/BUILD
	gzip -9 /usr/src/redhat/BUILD/HISTORY /usr/src/redhat/BUILD/README
	unset LD_ELF_PRELOAD ; rpm -bb $(PKG).spec
	rm -f /usr/src/redhat/BUILD/HISTORY.gz /usr/src/redhat/BUILD/README.gz
	mv /usr/src/redhat/RPMS/$(ARCH)/$(RPM_PKG) .
	rpm -Uvh --force $(RPM_PKG)
	rm -f $(LIB)/banned_users $(LIB)/dial-up_users
	tar czvf $(TGZ_PKG) /usr/doc/$(PACKAGE)-$(VERSION)-1/ $(LIB)/ $(PREFIX)/lib/$(SHLIB) $(addprefix $(BIN)/,$(USER_BINS)) $(SBIN)/user_bytes $(addprefix $(SBIN)/,$(ROOT_BINS))
	make clean	

bininst:	all
	strip $(SHLIB) $(ROOT_BINS) $(USER_BINS)
	install -c -m 0755 $(SHLIB) $(PREFIX)/lib
	ldconfig
	install -c -m 0700 $(SCRIPTS) $(SBIN)
	install -c -m 0700 $(ROOT_BINS) $(SBIN)
	install -c -m 0700 $(PERL_SCRIPTS) $(SBIN)
	install -c -m 0755 $(USER_BINS) $(BIN)
	chmod 6755 $(SBIN)/user_login
	chmod 6755 $(SBIN)/user_verify

clean:
	rm -f *~ TAGS core *.o $(SHLIB) $(BINS) lib/*~
	touch * lib/*

dep:	depend

depend:
	$(CC) -D$(OSTYPE) -M *.c > .depend

dist:	srcdist bindist

distclean:	clean
	rm -f $(SRC_PKG) $(TGZ_PKG) $(RPM_PKG)

install:	bininst
	rm -rf $(LIB)
	mkdir $(LIB)
	chmod 755 $(LIB)
	install -c -m 0644 lib/* $(LIB)

srcdist:	distclean
	{ \
	  cd .. ; \
	  tar czvf $(PKG)/$(SRC_PKG) $(PKG)/* ; \
	}

ifeq (.depend, $(wildcard .depend))
  include .depend
endif

%.o :	%.c
	$(CC) $(CCOPTS) -c -o $@ $<

$(SHLIB):	libduu.c
	$(CC) $(CCOPTS) -fPIC -c libduu.c
	$(CC) $(CCOPTS) -shared -Wl,-soname,$@ -o $(SHLIB) libduu.o

% :	%.c common.o $(SHLIB)
	$(CC) $(CCOPTS) -rdynamic -o $@ $< common.o $(SHLIB)
