Annotation of embedaddon/pimdd/Makefile, revision 1.1.1.1.2.1

1.1       misho       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: #
1.1.1.1.2.1! misho       9: #  $Id: Makefile,v 1.1.1.1 2017/06/12 07:58:55 misho Exp $
1.1       misho      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: 
1.1.1.1.2.1! misho      56: CC?=           gcc
1.1       misho      57: MCAST_INCLUDE= -Iinclude
1.1.1.1.2.1! misho      58: LDFLAGS?=
1.1       misho      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
1.1.1.1.2.1! misho      66: CFLAGS+=       ${MCAST_INCLUDE} ${SNMPDEF} ${RSRRDEF} ${MISCDEFS} -DFreeBSD -DPIM -Dlog=logit ${CPPFLAGS}
1.1       misho      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.

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