Annotation of embedaddon/pimd/Makefile, revision 1.1
1.1 ! misho 1: # -*-Makefile-*-
! 2: #
! 3: # Note: We use .gz for distribution archives for the sake of
! 4: # OpenBSD not having bzip2 in the base distribution.
! 5: #
! 6:
! 7: #VERSION = $(shell git tag -l | tail -1)
! 8: VERSION = 2.3.2
! 9: EXEC = pimd
! 10: CONFIG = $(EXEC).conf
! 11: PKG = $(EXEC)-$(VERSION)
! 12: ARCHTOOL = `which git-archive-all`
! 13: ARCHIVE = $(PKG).tar
! 14: ARCHIVEZ = ../$(ARCHIVE).gz
! 15:
! 16: ROOTDIR ?= $(dir $(shell pwd))
! 17: RM = rm -f
! 18: CC := $(CROSS)$(CC)
! 19: CHECK := cppcheck $(CPPFLAGS) --quiet --enable=all
! 20:
! 21: IGMP_OBJS = igmp.o igmp_proto.o trace.o
! 22: ROUTER_OBJS = inet.o kern.o main.o config.o debug.o vers.o callout.o
! 23: PIM_OBJS = route.o vif.o timer.o mrt.o pim.o pim_proto.o rp.o
! 24: DVMRP_OBJS = dvmrp_proto.o
! 25:
! 26: # This magic trick looks like a comment, but works on BSD PMake
! 27: #include <config.mk>
! 28: include config.mk
! 29:
! 30: prefix ?= /usr/local
! 31: sysconfdir ?= /etc
! 32: datadir = $(prefix)/share/doc/pimd
! 33: mandir = $(prefix)/share/man/man8
! 34:
! 35: ## Common
! 36: CPPFLAGS += -D_PATH_SYSCONF=\"$(sysconfdir)\"
! 37: CFLAGS += $(INCLUDES) $(DEFS) $(USERCOMPILE)
! 38: CFLAGS += -W -Wall -Wextra -fno-strict-aliasing
! 39: LDLIBS = $(EXTRA_LIBS)
! 40: OBJS = $(IGMP_OBJS) $(ROUTER_OBJS) $(PIM_OBJS) $(DVMRP_OBJS) $(EXTRA_OBJS)
! 41: SRCS = $(OBJS:.o=.c)
! 42: MANS = $(EXEC).8
! 43: DISTFILES = README.md README-config.md README.config.jp README-debug.md ChangeLog.org \
! 44: CONTRIBUTING.md CODE-OF-CONDUCT.md INSTALL.md LICENSE LICENSE.mrouted \
! 45: TODO.org CREDITS FAQ.md AUTHORS
! 46:
! 47:
! 48: all: $(EXEC)
! 49:
! 50: .c.o:
! 51: @printf " CC $@\n"
! 52: @$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
! 53:
! 54: $(EXEC): $(OBJS)
! 55: @printf " LINK $@\n"
! 56: @$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-Map,$@.map -o $@ $(OBJS) $(LDLIBS)
! 57:
! 58: vers.c:
! 59: @echo $(VERSION) | sed -e 's/.*/char todaysversion[]="&";/' > vers.c
! 60:
! 61: install: $(EXEC)
! 62: @install -d $(DESTDIR)$(prefix)/sbin
! 63: @install -d $(DESTDIR)$(sysconfdir)
! 64: @install -d $(DESTDIR)$(datadir)
! 65: @install -d $(DESTDIR)$(mandir)
! 66: @install -m 0755 $(EXEC) $(DESTDIR)$(prefix)/sbin/$(EXEC)
! 67: @install -b -m 0644 $(CONFIG) $(DESTDIR)$(sysconfdir)/$(CONFIG)
! 68: @for file in $(DISTFILES); do \
! 69: install -m 0644 $$file $(DESTDIR)$(datadir)/$$file; \
! 70: done
! 71: @for file in $(MANS); do \
! 72: install -m 0644 $$file $(DESTDIR)$(mandir)/$$file; \
! 73: done
! 74:
! 75: uninstall:
! 76: -@$(RM) $(DESTDIR)$(prefix)/sbin/$(EXEC)
! 77: -@$(RM) $(DESTDIR)$(sysconfdir)/$(CONFIG)
! 78: -@$(RM) -r $(DESTDIR)$(datadir)
! 79: @for file in $(DISTFILES); do \
! 80: $(RM) $(DESTDIR)$(datadir)/$$file; \
! 81: done
! 82: -@for file in $(MANS); do \
! 83: $(RM) $(DESTDIR)$(mandir)/$$file; \
! 84: done
! 85:
! 86: clean:
! 87: -@$(RM) $(OBJS) $(EXEC)
! 88:
! 89: distclean:
! 90: -@$(RM) $(OBJS) core $(EXEC) vers.c config.mk tags TAGS *.o *.map .*.d *.out tags
! 91:
! 92: dist:
! 93: @if [ x"$(ARCHTOOL)" = x"" ]; then \
! 94: echo "Missing git-archive-all from https://github.com/Kentzo/git-archive-all"; \
! 95: exit 1; \
! 96: fi
! 97: @if [ -e $(ARCHIVEZ) ]; then \
! 98: echo "Distribution $(ARCHIVEZ) already exists."; \
! 99: exit 1; \
! 100: fi
! 101: @echo "Building gz tarball of $(PKG) in parent dir ..."
! 102: @$(ARCHTOOL) ../$(ARCHIVE)
! 103: @gzip ../$(ARCHIVE)
! 104: @md5sum $(ARCHIVEZ) | sed 's/..\///' | tee $(ARCHIVEZ).md5
! 105:
! 106: build-deb:
! 107: @echo "Building .deb if $(PKG)..."
! 108: git-buildpackage --git-ignore-new --git-upstream-branch=master
! 109:
! 110: check lint:
! 111: $(CHECK) *.c *.h
! 112:
! 113: tags: $(SRCS)
! 114: @ctags $(SRCS)
! 115:
! 116: cflow:
! 117: @cflow $(MCAST_INCLUDE) $(SRCS) > cflow.out
! 118:
! 119: cflow2:
! 120: @cflow -ix $(MCAST_INCLUDE) $(SRCS) > cflow2.out
! 121:
! 122: rcflow:
! 123: @cflow -r $(MCAST_INCLUDE) $(SRCS) > rcflow.out
! 124:
! 125: rcflow2:
! 126: @cflow -r -ix $(MCAST_INCLUDE) $(SRCS) > rcflow2.out
! 127:
! 128: TAGS:
! 129: @etags $(SRCS)
! 130:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>