File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pimdd / Makefile
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jun 12 07:58:55 2017 UTC (7 years ago) by misho
Branches: pimdd, MAIN
CVS tags: v0_2_1p0, v0_2_1, HEAD
pimdd-dense 0.2.1.0_2

    1: #
    2: # Makefile for the Daemon part of PIM-SMv2.0,
    3: # Protocol Independent Multicast, Sparse-Mode version 2.0
    4: #
    5: #
    6: #  Questions concerning this software should be directed to 
    7: #  Kurt Windisch (kurtw@antc.uoregon.edu)
    8: #
    9: #  $Id: Makefile,v 1.1.1.1 2017/06/12 07:58:55 misho Exp $
   10: #
   11: # XXX: SEARCH FOR "CONFIGCONFIGCONFIG" (without the quotas) for the lines
   12: # that might need configuration
   13: 
   14: PROG_NAME=pimdd
   15: 
   16: #CONFIGCONFIGCONFIG
   17: #
   18: # flags:
   19: #	-DSAVE_MEMORY: saves 4 bytes per unconfigured interface
   20: #		per routing entry. If set, configuring such interface
   21: #		will restart the daemon and will flush the routing
   22: #		table.
   23: #
   24: MISCDEFS=	# -DSAVE_MEMORY
   25: 
   26: #
   27: # Version control stuff. Nothing should be changed
   28: #
   29: VERSION = `cat VERSION`
   30: CVS_VERSION = `cat VERSION | sed 'y/./_/' | sed 'y/-/_/'`
   31: CVS_LAST_VERSION=`cat CVS_LAST_VERSION`
   32: PROG_VERSION =  ${PROG_NAME}-${VERSION}
   33: PROG_CVS_VERSION = ${PROG_NAME}_${CVS_VERSION}
   34: PROG_CVS_LAST_VERSION = ${PROG_NAME}_${CVS_LAST_VERSION}
   35: 
   36: # TODO: XXX: CURRENTLY SNMP NOT SUPPORTED!!!!
   37: #
   38: # Uncomment the following eight lines if you want to use David Thaler's
   39: # CMU SNMP daemon support.
   40: #
   41: #SNMPDEF=	-DSNMP
   42: #SNMPLIBDIR=	-Lsnmpd -Lsnmplib
   43: #SNMPLIBS=	-lsnmpd -lsnmp
   44: #CMULIBS=	snmpd/libsnmpd.a snmplib/libsnmp.a
   45: #MSTAT=		mstat
   46: #SNMP_SRCS=	snmp.c
   47: #SNMP_OBJS=	snmp.o
   48: #SNMPCLEAN=	snmpclean
   49: # End SNMP support
   50: 
   51: #CONFIGCONFIGCONFIG
   52: # Uncomment the following line if you want to use RSRR (Routing
   53: # Support for Resource Reservations), currently used by RSVP.
   54: RSRRDEF=	-DRSRR
   55: 
   56: CC =		gcc
   57: MCAST_INCLUDE=	-Iinclude
   58: LDFLAGS=
   59: 
   60: #CONFIGCONFIGCONFIG
   61: PURIFY=		purify -cache-dir=/tmp -collector=/import/pkgs/gcc/lib/gcc-lib/sparc-sun-sunos4.1.3_U1/2.7.2.2/ld
   62: 
   63: #CONFIGCONFIGCONFIG
   64: ### Compilation flags for different platforms. Uncomment only one of them
   65: ## FreeBSD
   66: CFLAGS= -Wall -g	-Iinclude/freebsd ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -DFreeBSD -DPIM
   67: 
   68: ## NetBSD   -DNetBSD is done by OS
   69: #CFLAGS= -Wall -g	-Iinclude/netbsd ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -DPIM
   70: 
   71: ## BSDI
   72: #CFLAGS=  -g	 ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -DBSDI -DPIM
   73: 
   74: ## SunOS, OSF1, gcc
   75: #CFLAGS= -Wall -g	-Iinclude/sunos-gcc ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -DSunOS=43 -DPIM
   76: ## SunOS, OSF1, cc
   77: #CFLAGS= -g		-Iinclude/sunos-cc ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -DSunOS=43 -DPIM
   78: 
   79: ## IRIX
   80: #CFLAGS= -Wall -g	 ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -D_BSD_SIGNALS -DIRIX -DPIM
   81: 
   82: ## Solaris 2.5, gcc
   83: #CFLAGS= -Wall	-g ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -DSYSV -DSunOS=55 -DPIM
   84: ## Solaris 2.5, cc
   85: #CFLAGS= 	-g ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -DSYSV -DSunOS=55 -DPIM
   86: ## Solaris 2.6
   87: #CFLAGS=	-g ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -DSYSV -DSunOS=56 -DPIM
   88: ## Solaris 2.x
   89: #LIB2=		-L/usr/ucblib -lucb -L/usr/lib -lsocket -lnsl
   90: 
   91: ## Linux
   92: #CFLAGS= -Wall -g ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -D__BSD_SOURCE -DRAW_INPUT_IS_RAW -DRAW_OUTPUT_IS_RAW -DIOCTL_OK_ON_RAW_SOCKET -DLinux -DPIM
   93: 
   94: 
   95: LIBS=		${SNMPLIBDIR} ${SNMPLIBS} ${LIB2}
   96: LINTFLAGS=	${MCAST_INCLUDE} ${CFLAGS}
   97: 
   98: IGMP_SRCS=	igmp.c igmp_proto.c trace.c
   99: IGMP_OBJS=	igmp.o igmp_proto.o trace.o
  100: ROUTER_SRCS=	inet.c kern.c main.c config.c debug.c routesock.c \
  101: 		vers.c callout.c	
  102: ROUTER_OBJS=	inet.o kern.o main.o config.o debug.o routesock.o \
  103: 		vers.o callout.o
  104: PIM_SRCS=	route.c vif.c timer.c mrt.c pim.c pim_proto.c
  105: PIM_OBJS=	route.o vif.o timer.o mrt.o pim.o pim_proto.o 
  106: DVMRP_SRCS=	dvmrp_proto.c
  107: DVMRP_OBJS=	dvmrp_proto.o
  108: RSRR_SRCS=	rsrr.c
  109: RSRR_OBJS=	rsrr.o
  110: RSRR_HDRS=      rsrr.h rsrr_var.h
  111: HDRS=		debug.h defs.h dvmrp.h igmpv2.h mrt.h pathnames.h pimdd.h \
  112: 		trace.h vif.h  ${RSRR_HDRS}
  113: SRCS=		${IGMP_SRCS} ${ROUTER_SRCS} ${PIM_SRCS} ${DVMRP_SRCS} \
  114: 		${SNMP_SRCS} ${RSRR_SRCS}
  115: OBJS=		${IGMP_OBJS} ${ROUTER_OBJS} ${PIM_OBJS} ${DVMRP_OBJS} \
  116: 		${SNMP_OBJS} ${RSRR_OBJS}
  117: DISTFILES=	README CHANGES ${SRCS} ${HDRS} VERSION LICENSE \
  118: 		LICENSE.mrouted Makefile pimdd.conf BUGS.TODO include
  119: 
  120: all: ${PROG_NAME}
  121: 
  122: ${PROG_NAME}: ${IGMP_OBJS} ${ROUTER_OBJS} ${PIM_OBJS} ${DVMRP_OBJS} \
  123: 		${RSRR_OBJS} ${CMULIBS}
  124: 	rm -f $@
  125: 	${CC} ${LDFLAGS} -o $@ ${CFLAGS} ${IGMP_OBJS} ${ROUTER_OBJS} \
  126: 	${PIM_OBJS} ${DVMRP_OBJS} ${RSRR_OBJS} ${LIBS}
  127: 
  128: purify: ${OBJS}
  129: 	${PURIFY} ${CC} ${LDFLAGS} -o ${PROG_NAME} ${CFLAGS} \
  130: 	${IGMP_OBJS} ${ROUTER_OBJS} ${PIM_OBJS} ${DVMRP_OBJS} ${RSRR_OBJS}  \
  131: 	${LIBS}
  132: 
  133: 
  134: vers.c:	VERSION
  135: 	rm -f $@
  136: 	sed -e 's/.*/char todaysversion[]="&";/' < VERSION > vers.c
  137: 
  138: snmpd/libsnmpd.a:
  139: 	cd snmpd; make)
  140: 
  141: snmplib/libsnmp.a:
  142: 	(cd snmplib; make)
  143: 
  144: release: cvs-commit cvs-tag last-dist
  145: 
  146: re-release: cvs-commit cvs-retag last-dist
  147: 
  148: cvs-commit:
  149: 	cvs commit -m "make cvs-commit   VERSION=${PROG_VERSION}"
  150: 
  151: cvs-tag:
  152: 	cvs tag ${PROG_CVS_VERSION}
  153: 	`cat VERSION | sed 'y/./_/' | sed 'y/-/_/' > CVS_LAST_VERSION`
  154: 
  155: cvs-retag:
  156: 	cvs tag -F ${PROG_CVS_VERSION}
  157: 	`cat VERSION | sed 'y/./_/' | sed 'y/-/_/' > CVS_LAST_VERSION`
  158: 
  159: last-dist:
  160: 	- mv ${PROG_NAME} _${PROG_NAME}.SAVE_
  161: 	- rm -rf ${PROG_VERSION}
  162: 	- rm -rf ${PROG_VERSION}.tar.gz
  163: 	- rm -rf ${PROG_VERSION}.tar.gz.formail
  164: 	cvs export -r ${PROG_CVS_LAST_VERSION} ${PROG_NAME}
  165: 	mv ${PROG_NAME} ${PROG_VERSION}
  166: 	tar cvf - ${PROG_VERSION} | gzip > ${PROG_VERSION}.tar.gz
  167: 	uuencode ${PROG_VERSION}.tar.gz ${PROG_VERSION}.tar.gz > ${PROG_VERSION}.tar.gz.formail
  168: 	rm -rf ${PROG_VERSION}
  169: 	- mv _${PROG_NAME}.SAVE_ ${PROG_NAME}
  170: 
  171: curr-dist:
  172: 	- mv ${PROG_NAME} _${PROG_NAME}.SAVE_
  173: 	cvs commit -m "make curr-dist   VERSION=${PROG_VERSION}"
  174: 	- rm -rf ${PROG_NAME}-current
  175: 	- rm -rf ${PROG_NAME}-current.tar.gz
  176: 	- rm -rf ${PROG_NAME}-current.tar.gz.formail
  177: 	cvs checkout ${PROG_NAME}
  178: 	mv ${PROG_NAME} ${PROG_NAME}-current
  179: 	tar cvf - ${PROG_NAME}-current | gzip > ${PROG_NAME}-current.tar.gz
  180: 	uuencode ${PROG_NAME}-current.tar.gz ${PROG_NAME}-current.tar.gz > ${PROG_NAME}-current.tar.gz.formail
  181: 	rm -rf ${PROG_NAME}-current
  182: 	- mv _${PROG_NAME}.SAVE_ ${PROG_NAME}
  183: 
  184: curr-diff:
  185: 	cvs commit -m "make curr-diff   VERSION=${PROG_VERSION}"
  186: 	cvs rdiff -kk -u -r ${PROG_CVS_LAST_VERSION} ${PROG_NAME} > ${PROG_NAME}-current.diff
  187: 
  188: 
  189: install:	${PROG_NAME}
  190: 	install -d /usr/local/bin
  191: 	install -m 0755 -f /usr/local/bin ${PROG_NAME}
  192: 	- mv /etc/pimdd.conf /etc/pimdd.conf.old
  193: 	cp pimdd.conf /etc
  194: 	echo "Don't forget to check/edit /etc/pimdd.conf!!!"
  195: 
  196: clean:	FRC ${SNMPCLEAN}
  197: 	rm -f ${OBJS} core ${PROG_NAME} tags TAGS
  198: 
  199: snmpclean:	FRC
  200: 	-(cd snmpd; make clean)
  201: 	-(cd snmplib; make clean)
  202: 
  203: depend:	FRC
  204: 	mkdep ${CFLAGS} ${SRCS}
  205: 
  206: lint:	FRC
  207: 	lint ${LINTFLAGS} ${SRCS}
  208: 
  209: tags:	${IGMP_SRCS} ${ROUTER_SRCS}
  210: 	ctags ${IGMP_SRCS} ${ROUTER_SRCS}
  211: 
  212: cflow:	FRC
  213: 	cflow ${MCAST_INCLUDE} ${IGMP_SRCS} ${ROUTER_SRCS} > cflow.out
  214: 
  215: cflow2:	FRC
  216: 	cflow -ix ${MCAST_INCLUDE} ${IGMP_SRCS} ${ROUTER_SRCS} > cflow2.out
  217: 
  218: rcflow:	FRC
  219: 	cflow -r ${MCAST_INCLUDE} ${IGMP_SRCS} ${ROUTER_SRCS} > rcflow.out
  220: 
  221: rcflow2: FRC
  222: 	cflow -r -ix ${MCAST_INCLUDE} ${IGMP_SRCS} ${ROUTER_SRCS} > rcflow2.out
  223: 
  224: TAGS:	FRC
  225: 	etags ${SRCS}
  226: 
  227: FRC:
  228: 
  229: 
  230: 
  231: # DO NOT DELETE THIS LINE -- mkdep uses it.
  232: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>