Subversion Repositories general

Rev

Rev 1173 | Rev 1179 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

# rebootd

PROJ=           rebootd
OUTDIR=         output
PROG=           $(OUTDIR)/$(PROJ)
SRCDIR=         src
SRCS=           $(SRCDIR)/rebootd.c

VER_MAJOR=      1
VER_MINOR=      0
VER_REVISION!=  svnversion .
RELEASE_NAME=   $(PROJ)-$(VER_MAJOR).$(VER_MINOR).$(VER_REVISION)

SAMPLES=        $(SRCDIR)/rebootd.conf
PKGDIR=         $(OUTDIR)/package
FREEBSDDIR=     $(OUTDIR)/freebsd-port

.if exists($(OUTDIR)/last_revision.txt)
LAST_REVISION!= cat $(OUTDIR)/last_revision.txt
LAST_TAR=       $(PROJ)-$(VER_MAJOR).$(VER_MINOR).$(LAST_REVISION).tar.gz
.endif

$(PROG): $(SRCS)
        cc -pedantic-errors -Wall -o $(PROG) \
                -DVER_MAJOR=\"$(VER_MAJOR)\" -DVER_MINOR=\"$(VER_MINOR)\" -DVER_REVISION=\"$(VER_REVISION)\" \
                $(SRCS)

all:    clean $(PROG)

pedantic:
        lint -x -s -p -n -h -e -c -b -aa \
                -DVER_MAJOR=\"$(VER_MAJOR)\" -DVER_MINOR=\"$(VER_MINOR)\" -DVER_REVISION=\"$(VER_REVISION)\" \
                $(SRCS) \
                | grep -E '^$(PROJ)'
        cc -Wnested-externs -Wredundant-decls -Wmissing-declarations \
                -Wmissing-prototypes -Wstrict-prototypes -Waggregate-return \
                -Wwrite-strings -Wcast-align -Wcast-qual -Wpointer-arith \
                -Wshadow -pedantic-errors -Wall \
                -DVER_MAJOR=\"$(VER_MAJOR)\" -DVER_MINOR=\"$(VER_MINOR)\" -DVER_REVISION=\"$(VER_REVISION)\" \
                -o /dev/null $(SRCS)

release:
        ./bin/make_release.sh $(VER_MAJOR) $(VER_MINOR)

freebsd-port:
        rm -rf $(FREEBSDDIR)
        mkdir $(FREEBSDDIR)
        cp -r ports/freebsd $(FREEBSDDIR)/$(PROJ)
        sed -e 's/%VER_MAJOR%/$(VER_MAJOR)/' -e 's/%VER_MINOR%/$(VER_MINOR)/' \
                -e 's/%VER_REVISION%/$(LAST_REVISION)/' ports/freebsd/Makefile \
                > $(FREEBSDDIR)/$(PROJ)/Makefile
        ( cd $(OUTDIR); md5 $(LAST_TAR) ) > $(FREEBSDDIR)/$(PROJ)/distinfo
        echo "SIZE ($(LAST_TAR)) =" `stat -f '%z' $(OUTDIR)/$(LAST_TAR)` >> $(FREEBSDDIR)/$(PROJ)/distinfo
        tar cf - --exclude '*/.svn' -C $(FREEBSDDIR) $(PROJ) | gzip > $(OUTDIR)/$(PROJ)-freebsd-port.tar.gz
        rm -rf $(FREEBSDDIR)

clean:
        rm -rf $(OUTDIR)/*