#
# Makefile for mrouted, a multicast router, and its auxiliary programs,
# map-mbone and mrinfo.
#
#
# Defaults file containing the shell, compiler options, etc

BUILDRULES=/source/INETSVCS/$(LOGNAME)/config/defaults
PRODUCTS=/usr/sbin/mrouted \
	/usr/sbin/mrinfo \
	/usr/sbin/map-mbone \
	/usr/newconfig/etc/mrouted.conf 

include ${BUILDRULES}
CCFLAGS=${MCAST_INCLUDE} -DSYSV ${CFLAGS}
LIBS=-lBSD -lc
LINTFLAGS=
IGMP_SRCS=	igmp.c inet.c kern.c
IGMP_OBJS=	igmp.o inet.o kern.o
ROUTER_SRCS=	config.c main.c route.c vif.c prune.c callout.c
ROUTER_OBJS=	config.o main.o route.o vif.o prune.o callout.o ver-mrouted.o
MAPPER_SRCS=	mapper.c
MAPPER_OBJS=	mapper.o ver-mbone.o
MRINFO_SRCS=	mrinfo.c
MRINFO_OBJS=	mrinfo.o ver-mrinfo.o
MTRACE_SRCS=	mtrace.c
MTRACE_OBJS=	mtrace.o
HDRS=		defs.h dvmrp.h route.h vif.h prune.h
SRCS= ${IGMP_SRCS} ${ROUTER_SRCS} ${MAPPER_SRCS} ${MRINFO_SRCS} ${MTRACE_SRCS}
OBJS= ${IGMP_OBJS} ${ROUTER_OBJS} ${MAPPER_OBJS} ${MRINFO_OBJS} ${MTRACE_OBJS}
DISTFILES= ${SRCS} ${HDRS} LICENSE Makefile mkdep mrouted.conf \
	   mrouted map-mbone mrinfo mtrace mrouted.8

#Install database name
INSTALLDB=/source/INETSVCS/$(LOGNAME)/config/installdb

#Script called to parse the install deliverable
INSTALLSCPT=/source/INETSVCS/$(LOGNAME)/config/install_script

default: all

all: clean build install


build: mrouted map-mbone mrinfo

.c.o:
	$(CC) -c $(CCFLAGS) $*.c
ver-mrouted.o:
	$(SHELL) newvers.sh ver-mrouted
	$(CC) $(CCFLAGS) -c ver-mrouted.c

ver-mrinfo.o:
	$(SHELL) newvers.sh ver-mrinfo
	$(CC) $(CCFLAGS) -c ver-mrinfo.c

ver-mbone.o:
	$(SHELL) newvers.sh ver-mbone 
	$(CC) $(CCFLAGS) -c ver-mbone.c

# mrouted: ${IGMP_OBJS} ${ROUTER_OBJS} ${LIBC}
mrouted: ${IGMP_OBJS} ${ROUTER_OBJS}
	rm -f mrouted
	${CC} -o mrouted ${LIBS} ${CCFLAGS} $(IGMP_OBJS) $(ROUTER_OBJS) $(LDFLAGS)

map-mbone: ${IGMP_OBJS} ${MAPPER_OBJS}
	rm -f $@
	${CC} -o $@ ${LIBS} $(CCFLAGS) $(IGMP_OBJS) ${MAPPER_OBJS} $(LDFLAGS)

mrinfo: ${IGMP_OBJS} ${MRINFO_OBJS}
	rm -f $@
	${CC} -o $@ ${LIBS}  ${CCFLAGS} ${IGMP_OBJS} ${MRINFO_OBJS} $(LDFLAGS)


clean:
	rm -f ${OBJS} core mrouted map-mbone mrinfo mtrace ver-mrinfo.c ver-mbone.c ver-mrouted.c

install:
	for file in $(PRODUCTS) ; do \
		$(INSTALLSCPT) $$file $(INSTALLDB) ;  \
	done

