#
#  ./Makefile for 'convers' and 'conversd' with LZW compression
#
#  Darryl Miles - G7LED (15/06/1994)
#
#
LZW_LIB		= liblzw.a

LZW_OBJS	= lzw.o \
		  mbuf.o

LZW_SRCS	= lzw.c \
		  mbuf.c


UTIL_LIB	= libutil.a

UTIL_OBJS	= buildsaddr.o \
		  md5.o

UTIL_SRCS	= buildsaddr.c \
		  md5.c


CONVERS_OBJS	= convers.o \
		  $(UTIL_LIB)

SCONVERS_OBJS	= sconvers.o \
		  $(UTIL_LIB)

CONVERSD_OBJS	= conversd.o \
		  $(UTIL_LIB)

XCONVERS_OBJS	= xconvers.o \
		  $(UTIL_LIB) \
		  $(LZW_LIB)

XCONVERSD_OBJS	= xconversd.o \
		  $(UTIL_LIB) \
		  $(LZW_LIB)

SRC_FILES	= convers.c \
		  conversd.c

ARC_FILES	= Makefile \
		  README \
		  NOTE \
		  PROPOSAL \
		  convers.c \
		  conversd.c \
		  sconvers.c \
		  conversd.conf \
		  conversd.motd \
		  conversd.mesg \
		  conversd.mesg1 \
		  conversd.help \
		  userinfo.sh \
		  libutil.a \
		  md5.h \
		  buildsaddr.h \
		  liblzw.a \
		  lzw.h \
		  mbuf.h \
		  contrib/

ALL_SRC_FILES	= Makefile \
		  Makefile.dbg \
		  Makefile.pack \
		  userinfo.sh \
		  package.sh \
		  README \
		  NOTE \
		  PROPOSAL \
		  convers.c \
		  conversd.c \
		  sconvers.c \
		  conversd.conf \
		  conversd.motd \
		  conversd.mesg \
		  conversd.mesg1 \
		  conversd.help \
		  mbuf.c \
		  mbuf.h \
		  lzw.c \
		  lzw.h \
		  md5.c \
		  md5.h \
		  buildsaddr.c \
		  buildsaddr.h \
		  contrib/

BIN_FILES	= Makefile \
		  README \
		  NOTE \
		  PROPOSAL \
		  convers \
		  conversd \
		  xconversd \
		  conversd.conf \
		  conversd.motd \
		  conversd.mesg \
		  conversd.mesg1 \
		  conversd.help \
		  userinfo.sh \
		  contrib/

TARGETS	= convers conversd xconversd

# Debugging?
#
#
#
AR = ar
CC = gcc
ECHO = echo
MV = mv
RANLIB = ranlib
MKDEP = gcc -E -M

DEPEND_OUT = depends

CFLAGS		= -Wall -O -pipe
#CFLAGS		= -Wall -ggdb3 -DDEBUG -pipe
CFLAGS_C	= $(CFLAGS)
CFLAGS_SC	= $(CFLAGS)
CFLAGS_CD	= $(CFLAGS)       -DNDBM -DTEXT -DUDAT -DHDAT -DLOOP -DAUTO -DSYSLOG -DUSER10 -DHOST10
CFLAGS_XC	= $(CFLAGS) -DLZW
CFLAGS_XCD	= $(CFLAGS) -DLZW -DNDBM -DTEXT -DUDAT -DHDAT -DLOOP -DAUTO -DSYSLOG -DUSER10 -DHOST10

LDFLAGS		= -s
#LDFLAGS	= -ggdb3

LDFLAGS_SC	= $(LDFLAGS) -lncurses
LDFLAGS_CD	= $(LDFLAGS) -ldbm
LDFLAGS_XCD	= $(LDFLAGS) -ldbm


all:		$(TARGETS)

libutil.a:
		@$(ECHO) "### Making 'libutil.a' library"
		$(AR) rv $@ $(UTIL_OBJS)
		$(RANLIB) $@

liblzw.a:
		@$(ECHO) "### Making 'liblzw.a' library"
		$(AR) rv $@ $(LZW_OBJS)
		$(RANLIB) $@

convers:	$(CONVERS_OBJS)
		$(CC) $(LDFLAGS) $(CONVERS_OBJS) -o convers

sconvers:	$(SCONVERS_OBJS)
		$(CC) $(SCONVERS_OBJS) $(LDFLAGS_SC) -o sconvers

conversd:	$(CONVERSD_OBJS)
		$(CC) $(CONVERSD_OBJS) $(LDFLAGS_CD) -o conversd

#xconvers:	$(XCONVERS_OBJS)
#		$(CC) $(LDFLAGS) $(XCONVERS_OBJS) -o xconvers

xconversd:	$(XCONVERSD_OBJS)
		$(CC) $(XCONVERSD_OBJS) $(LDFLAGS_XCD) -o xconversd

install:	$(TARGETS)
		install -m 555 -o bin -g bin convers /usr/local/bin
		install -m 511 -o root -g daemon conversd /etc
		@if [ -x xconversd ] ; \
		then \
			install -m 511 -o root -g daemon xconversd /etc; \
			echo "install -m 511 -o root -g daemon xconversd /etc"; \
		fi
		@if [ ! -d /etc/convers ] ; \
		then \
			mkdir /etc/convers; \
			echo "Making directory /etc/convers, this is where all the config files for"; \
			echo "conversd are not kept."; \
		fi
		@if [ -f /tcp/convers.conf ] ; \
		then \
			if [ -f /etc/convers/conversd.conf ] ; \
			then \
				echo "A now redundant /tcp/convers.conf file still exists, you may delete it."; \
			else \
				echo "The location AND name of the old /tcp/convers.conf has changed to"; \
				echo "/etc/convers/conversd.conf, your existing /tcp/convers.conf file"; \
				echo "has just been copied there so you may now delete the old"; \
				echo "/tcp/convers.conf."; \
				cp /tcp/convers.conf /etc/convers/conversd.conf; \
			fi ; \
		else \
			if [ -f /etc/convers/conversd.conf ] ; \
			then \
				echo "You already have /etc/convers/conversd.conf, leaving original intact."; \
				echo "PLEASE EXAMINE THE SAMPLE conversd.conf FROM THIS DISTRIBUTION FOR CHANGES."; \
			else \
				install -m 644 -o root -g daemon conversd.conf /etc/convers; \
				echo "You MUST configure /etc/convers/conversd.conf, for YOUR OWN HOST"; \
				echo "the default one has been installed in that location."; \
			fi ; \
		fi
		@if [ ! -f /etc/convers/conversd.motd ] ; \
			then \
				echo "Installing sample /etc/convers/conversd.motd file."; \
				install -m 644 -o root -g daemon conversd.motd /etc/convers; \
		fi
		@if [ ! -f /etc/convers/conversd.mesg ] ; \
			then \
				echo "Installing informational /etc/convers/conversd.mesg file."; \
				install -m 644 -o root -g daemon conversd.mesg1 /etc/convers/conversd.mesg; \
		fi
		@echo "Adding new features into /etc/convers/conversd.mesg file."
		@cat conversd.mesg >>/etc/convers/conversd.mesg
		install -m 644 -o root -g daemon conversd.help /etc/convers
		@echo "Use the userinfo.sh script now, to reformat the conversd.inf file."
		@echo "Please examine the 'contrib/README' as well"

#debug:		$(OBJS)
#		$(CC) $(LDFLAGS) $(OBJS) -o xxxx

src_archive:	$(ARC_FILES)
		tar cvf - $(ARC_FILES) | gzip -9q >conversd.src.tar.gz

all_src_archive: $(ALL_SRC_FILES)
		tar cvf - $(ALL_SRC_FILES) | gzip -9q >conversd.all.src.tar.gz

bin_archive:	$(BIN_FILES)
		tar cvf - $(BIN_FILES) | gzip -9q >conversd.bin.tar.gz

total_clean:
		rm -f *.o *~ $(UTIL_LIB) $(LZW_LIB) core convers conversd \
		   xconvers xconversd conversd.src.tar.gz conversd.bin.tar.gz \
		   conversd.all.src.tar.gz

really_clean:
		rm -f *.o *~ core convers conversd xconvers xconversd \
		   conversd.src.tar.gz conversd.bin.tar.gz \
		   conversd.all.src.tar.gz

bin_clean:
		rm -f *.o *~ core convers conversd xconvers xconversd

clean:
		rm -f *.o *~

convers.o:	convers.c
		$(CC) $(CFLAGS_C) -c $< -o $@

sconvers.o:	sconvers.c
		$(CC) $(CFLAGS_SC) -c $< -o $@

conversd.o:	conversd.c
		$(CC) $(CFLAGS_CD) -c $< -o $@

xconvers.o:	convers.c
		$(CC) $(CFLAGS_XC) -c $< -o $@

xconversd.o:	conversd.c
		$(CC) $(CFLAGS_XCD) -c $< -o $@

.c.o:
		$(CC) $(CFLAGS) -c $<

###
