Annotation of embedaddon/mrouted/Makefile, revision 1.1

1.1     ! misho       1: # Makefile for mrouted, a multicast router, and its auxiliary   -*-Makefile-*-
        !             2: # programs: map-mbone, mrinfo and mtrace.
        !             3: #
        !             4: 
        !             5: # VERSION       ?= $(shell git tag -l | tail -1)
        !             6: VERSION      ?= 3.9.5
        !             7: NAME          = mrouted
        !             8: CONFIG        = $(NAME).conf
        !             9: EXECS         = mrouted map-mbone mrinfo mtrace
        !            10: PKG           = $(NAME)-$(VERSION)
        !            11: ARCHIVE       = $(PKG).tar.bz2
        !            12: 
        !            13: ROOTDIR      ?= $(dir $(shell pwd))
        !            14: RM           ?= rm -f
        !            15: CC           ?= $(CROSS)gcc
        !            16: 
        !            17: prefix       ?= /usr/local
        !            18: sysconfdir   ?= /etc
        !            19: datadir       = $(prefix)/share/doc/mrouted
        !            20: mandir        = $(prefix)/share/man/man8
        !            21: 
        !            22: # Uncomment the following three lines if you want to use RSRR (Routing
        !            23: # Support for Resource Reservations), currently used by RSVP.
        !            24: RSRRDEF       = -DRSRR
        !            25: RSRR_OBJS     = rsrr.o
        !            26: 
        !            27: IGMP_SRCS     = igmp.c inet.c kern.c
        !            28: IGMP_OBJS     = igmp.o inet.o kern.o
        !            29: 
        !            30: # This magic trick looks like a comment, but works on BSD PMake
        !            31: #include <config.mk>
        !            32: include config.mk
        !            33: #include <snmp.mk>
        !            34: include snmp.mk
        !            35: 
        !            36: ROUTER_OBJS   = config.o cfparse.o main.o route.o vif.o prune.o callout.o \
        !            37:                icmp.o ipip.o vers.o $(RSRR_OBJS) $(EXTRA_OBJS)
        !            38: ROUTER_SRCS   = $(ROUTER_OBJS:.o=.c)
        !            39: MAPPER_OBJS   = mapper.o $(EXTRA_OBJS)
        !            40: MRINFO_OBJS   = mrinfo.o $(EXTRA_OBJS)
        !            41: MTRACE_OBJS   = mtrace.o $(EXTRA_OBJS)
        !            42: #MSTAT_OBJS    = mstat.o $(EXTRA_OBJS)
        !            43: 
        !            44: ## Common
        !            45: CFLAGS        = $(MCAST_INCLUDE) $(SNMPDEF) $(RSRRDEF) $(INCLUDES) $(DEFS) $(USERCOMPILE)
        !            46: CFLAGS       += -O2 -W -Wall -Werror
        !            47: #CFLAGS       += -O -g
        !            48: LDLIBS        = $(SNMPLIBDIR) $(SNMPLIBS) $(EXTRA_LIBS)
        !            49: LDFLAGS      += -Wl,-Map,$@.map
        !            50: OBJS          = $(IGMP_OBJS) $(ROUTER_OBJS) $(MAPPER_OBJS) $(MRINFO_OBJS) \
        !            51:                $(MTRACE_OBJS) $(MSTAT_OBJS)
        !            52: SRCS          = $(OBJS:.o=.c)
        !            53: MANS          = $(addsuffix .8,$(EXECS))
        !            54: DISTFILES     = README AUTHORS LICENSE ChangeLog
        !            55: 
        !            56: LINT          = splint
        !            57: LINTFLAGS     = $(MCAST_INCLUDE) $(filter-out -W -Wall -Werror, $(CFLAGS)) -posix-lib -weak -skipposixheaders
        !            58: 
        !            59: all: $(EXECS) $(MSTAT)
        !            60: 
        !            61: .y.c:
        !            62:        @printf "  YACC    $@\n"
        !            63:        @$(YACC) $<
        !            64:        -@mv y.tab.c $@ || mv $(<:.y=.tab.c) $@
        !            65: 
        !            66: .c.o:
        !            67:        @printf "  CC      $@\n"
        !            68:        @$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
        !            69: 
        !            70: install: $(EXECS)
        !            71:        @install -d $(DESTDIR)$(prefix)/sbin
        !            72:        @install -d $(DESTDIR)$(sysconfdir)
        !            73:        @install -d $(DESTDIR)$(datadir)
        !            74:        @install -d $(DESTDIR)$(mandir)
        !            75:        @for file in $(EXECS); do \
        !            76:                install -m 0755 $$file $(DESTDIR)$(prefix)/sbin/$$file; \
        !            77:        done
        !            78:        @install -b -m 0644 $(CONFIG) $(DESTDIR)$(sysconfdir)/$(CONFIG)
        !            79:        @for file in $(DISTFILES); do \
        !            80:                install -m 0644 $$file $(DESTDIR)$(datadir)/$$file; \
        !            81:        done
        !            82:        @for file in $(MANS); do \
        !            83:                install -m 0644 $$file $(DESTDIR)$(mandir)/$$file; \
        !            84:        done
        !            85: 
        !            86: uninstall:
        !            87:        -@for file in $(EXECS); do \
        !            88:                $(RM) $(DESTDIR)$(prefix)/sbin/$$file; \
        !            89:        done
        !            90:        -@$(RM) $(DESTDIR)$(sysconfdir)/$(CONFIG)
        !            91:        -@$(RM) -r $(DESTDIR)$(datadir)
        !            92:        -@for file in $(MANS); do \
        !            93:                $(RM) $(DESTDIR)$(mandir)/$$file; \
        !            94:        done
        !            95: 
        !            96: mrouted: $(IGMP_OBJS) $(ROUTER_OBJS) $(CMULIBS)
        !            97:        @printf "  LINK    $@\n"
        !            98:        @$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(IGMP_OBJS) $(ROUTER_OBJS) $(LDLIBS)
        !            99: 
        !           100: vers.c: Makefile
        !           101:        @echo $(VERSION) | sed -e 's/.*/char todaysversion[]="&";/' > vers.c
        !           102: 
        !           103: map-mbone: $(IGMP_OBJS) $(MAPPER_OBJS)
        !           104:        @printf "  LINK    $@\n"
        !           105:        @$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(IGMP_OBJS) $(MAPPER_OBJS) $(LDLIBS)
        !           106: 
        !           107: mrinfo: $(IGMP_OBJS) $(MRINFO_OBJS)
        !           108:        @printf "  LINK    $@\n"
        !           109:        @$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(IGMP_OBJS) $(MRINFO_OBJS) $(LDLIBS)
        !           110: 
        !           111: mtrace: $(IGMP_OBJS) $(MTRACE_OBJS)
        !           112:        @printf "  LINK    $@\n"
        !           113:        @$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(IGMP_OBJS) $(MTRACE_OBJS) $(LDLIBS)
        !           114: 
        !           115: mstat: $(MSTAT_OBJS) $(CMULIBS)
        !           116:        @printf "  LINK    $@\n"
        !           117:        @$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(MSTAT_OBJS) $(LDLIBS)
        !           118: 
        !           119: clean: $(SNMPCLEAN)
        !           120:        -@$(RM) $(OBJS) $(EXECS)
        !           121: 
        !           122: distclean:
        !           123:        -@$(RM) $(OBJS) core $(EXECS) vers.c cfparse.c *.o *.map .*.d *.out tags TAGS
        !           124: 
        !           125: dist:
        !           126:        @echo "Building bzip2 tarball of $(PKG) in parent dir..."
        !           127:        git archive --format=tar --prefix=$(PKG)/ $(VERSION) | bzip2 >../$(ARCHIVE)
        !           128:        @(cd ..; md5sum $(ARCHIVE) | tee $(ARCHIVE).md5)
        !           129: 
        !           130: build-deb:
        !           131:        git-buildpackage --git-ignore-new --git-upstream-branch=master
        !           132: 
        !           133: lint: 
        !           134:        @$(LINT) $(LINTFLAGS) $(SRCS)
        !           135: 
        !           136: tags: $(IGMP_SRCS) $(ROUTER_SRCS)
        !           137:        @ctags $(IGMP_SRCS) $(ROUTER_SRCS)
        !           138: 
        !           139: cflow:
        !           140:        @cflow $(MCAST_INCLUDE) $(IGMP_SRCS) $(ROUTER_SRCS) > cflow.out
        !           141: 
        !           142: cflow2:
        !           143:        @cflow -ix $(MCAST_INCLUDE) $(IGMP_SRCS) $(ROUTER_SRCS) > cflow2.out
        !           144: 
        !           145: rcflow:
        !           146:        @cflow -r $(MCAST_INCLUDE) $(IGMP_SRCS) $(ROUTER_SRCS) > rcflow.out
        !           147: 
        !           148: rcflow2:
        !           149:        @cflow -r -ix $(MCAST_INCLUDE) $(IGMP_SRCS) $(ROUTER_SRCS) > rcflow2.out
        !           150: 
        !           151: TAGS:
        !           152:        @etags $(SRCS)
        !           153: 
        !           154: snmpclean:
        !           155:        -(cd snmpd; make clean)
        !           156:        -(cd snmplib; make clean)

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