# @(#) $Header: Makefile,v 1.23 93/05/18 10:54:15 deyke Exp $

BUILDSADDR = ../src/buildsaddr.o
OS         = "`uname -s`"
RMTARGET   = @if [ -f $@ ] ; then rm -f $@ || mv -f $@ $@~ ; fi

TARGETS    = cnet mkhostdb netupdc netupds path pop2d udbm vitals

all:
	chmod 755 genupd
	@if [ $(OS) = HP-UX ] ; then \
	  make -i 'CC=c89' 'CFLAGS=-O -s' _all; \
	elif [ $(OS) = SunOS ] ; then \
	  make -i 'CC=acc' 'CFLAGS=-O -s' _all; \
	elif [ $(OS) = Linux ] ; then \
	  make -i 'CC=gcc' 'CFLAGS=-O6 -s -DLINUX' _all; \
	elif [ $(OS) = ULTRIX ] ; then \
	  make -i 'CC=gcc' 'CFLAGS=-DULTRIX_RISC' _all; \
	else \
	  make -i 'CC=gcc' 'CFLAGS=-O2 -s -DSVR4' _all; \
	fi

_all:   $(TARGETS)

cnet:   cnet.c $(BUILDSADDR)
	$(RMTARGET)
	$(CC) $(CFLAGS) -I../src cnet.c $(BUILDSADDR) -lcurses -ltermcap -lsocket -lnsl -lucb -liberty -o $@

mkhostdb: mkhostdb.c
	$(RMTARGET)
	@if [ $(OS) = SunOS ] ; then \
	  $(CC) $(CFLAGS) mkhostdb.c -o $@ ; \
	elif [ $(OS) = 386BSD ] ; then \
	  $(CC) $(CFLAGS) mkhostdb.c -o $@ ; \
	elif [ $(OS) = Linux ] ; then \
	  $(CC) $(CFLAGS) mkhostdb.c -ldbm -o $@ ; \
	elif [ $(OS) = ULTRIX ] ; then \
	  $(CC) $(CFLAGS) mkhostdb.c -ldbm -o $@ ; \
	else \
	  $(CC) $(CFLAGS) mkhostdb.c -ldbm -lucb -o $@ ; \
	fi

netupdc: netupdc.c $(BUILDSADDR)
	$(RMTARGET)
	$(CC) $(CFLAGS) -I../src netupdc.c -lsocket -lnsl $(BUILDSADDR) -o $@

netupds: netupds.c
	$(RMTARGET)
	$(CC) $(CFLAGS) netupds.c -o $@

path:   path.c
	$(RMTARGET)
	$(CC) $(CFLAGS) path.c -o $@

pop2d:  pop2d.c
	$(RMTARGET)
	$(CC) $(CFLAGS) pop2d.c -lnsl -o $@

udbm:   udbm.c
	$(RMTARGET)
	$(CC) $(CFLAGS) udbm.c -lnsl -o $@

vitals: vitals.c
	$(RMTARGET)
	$(CC) $(CFLAGS) vitals.c -o $@

install: \
	/usr/local/bin/cnet \
	/usr/local/etc/mkhostdb \
	netupdc \
	netupds \
	/usr/local/bin/path \
	pop2d \
	/usr/local/etc/udbm \
	vitals

/usr/local/bin/cnet: cnet
	$(RMTARGET)
	cp cnet $@

/usr/local/etc/mkhostdb: mkhostdb
	$(RMTARGET)
	cp mkhostdb $@

/usr/local/bin/path: path
	$(RMTARGET)
	cp path $@

/usr/local/etc/udbm: udbm
	$(RMTARGET)
	cp udbm $@

clean:
	rm -f *.o $(TARGETS) *~
