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>