rhosts/Makefile

88 lines
3.0 KiB
Makefile

PREFIX=/usr/local
EXEC_PREFIX=$(DESTDIR)$(PREFIX)
BINDIR=$(EXEC_PREFIX)/bin
DATAROOTDIR=$(DESTDIR)$(PREFIX)/share
DATADIR=$(DATAROOTDIR)
$MANDIR=$DATAROOTDIR/man
#$INFODIR=$DATAROOTDIR/info
#$DOCDIR=$DATAROOTDIR/doc
VERSION=`cat version`
PROJROOT=$(dir $(abspath $(lastword $(MAKEFILE_LIST))))
TARBALLPREFIX=rhosts-$(VERSION)
TARBALLNAME=$(TARBALLPREFIX).tar.gz
GOBUILDFLAGS=
GITOFF=0
.PHONY: configure
configure:
echo "package main\nvar version string=\"$(VERSION)\"" > $(PROJROOT)src/configure.go
echo 'const CFG = `' >> $(PROJROOT)src/configure.go
cat $(PROJROOT)src/rhosts_default.cfg >> $(PROJROOT)src/configure.go
echo '`' >> $(PROJROOT)src/configure.go
.PHONY: build
build: configure
if [ ! -d $(PROJROOT)build ]; then \
mkdir -p $(PROJROOT)build/share/rhosts/systemd $(PROJROOT)build/bin \
;fi
cp src/rhosts_default.cfg $(PROJROOT)build/share/rhosts
cd $(PROJROOT)src && go build -o $(PROJROOT)build/bin/ $(GOBUILDFLAGS) ./
cp -r $(PROJROOT)src/systemd $(PROJROOT)/build/share/rhosts/
.PHONY: build-win
build-win: configure
cd $(PROJROOT)src && GOOS=windows go build -o $(PROJROOT) $(GOBUILDFLAGS) ./
.PHONY: install
install: build
install -D $(PROJROOT)build/bin/rhosts $(BINDIR)/
cp -r $(PROJROOT)build/share/rhosts $(DATADIR)
if [ ! -h /usr/lib/systemd/system/rhosts.service ]; then \
ln -s $(DATADIR)/rhosts/systemd/rhosts.service /usr/lib/systemd/system/rhosts.service \
;fi
if [ ! -h /usr/lib/systemd/system/rhosts.path ]; then \
ln -s $(DATADIR)/rhosts/systemd/rhosts.path /usr/lib/systemd/system/rhosts.path \
;fi
if [ ! -h /usr/lib/systemd/system/rhosts.timer ]; then \
ln -s $(DATADIR)/rhosts/systemd/rhosts.timer /usr/lib/systemd/system/rhosts.timer \
;fi
systemctl daemon-reload
.PHONY: uninstall
uninstall:
if [ -f $(BINDIR)/rhosts ]; then \
rm $(BINDIR)/rhosts \
;fi
if [ -d $(DATADIR)/rhosts ]; then \
rm -r $(DATADIR)/rhosts \
;fi
if [ -h /usr/lib/systemd/system/rhosts.service ]; then \
rm /usr/lib/systemd/system/rhosts.service \
;fi
if [ -h /usr/lib/systemd/system/rhosts.path ]; then \
rm /usr/lib/systemd/system/rhosts.path \
;fi
if [ -h /usr/lib/systemd/system/rhosts.timer ]; then \
rm /usr/lib/systemd/system/rhosts.timer \
;fi
.PHONY: clean
clean:
if [ -d $(PROJROOT)build ]; then \
rm -r $(PROJROOT)build \
;fi
if [ -f $(PROJROOT)rhosts.exe ]; then \
rm -r $(PROJROOT)rhosts.exe \
;fi
if [ -f $(PROJROOT)src/configure.go ]; then \
rm -r $(PROJROOT)src/configure.go \
;fi
if [ -f $(PROJROOT)$(TARBALLNAME) ]; then \
rm $(PROJROOT)$(TARBALLNAME) \
;fi
.PHONY: dist
dist: clean
if [ -d $(PROJROOT).git ] && [ $(GITOFF) = 0 ]; then \
git archive --format=tar.gz -o $(PROJROOT)$(TARBALLNAME) --prefix=$(TARBALLPREFIX)/ `git branch --show-current` \
;else \
mkdir $(PROJROOT)$(TARBALLPREFIX) && \
find $(PROJECTROOT)* -maxdepth 0 -name $(TARBALLPREFIX) -prune -o -exec cp -r {} $(PROJROOT)$(TARBALLPREFIX)/ \; && \
tar -czf $(PROJROOT)$(TARBALLNAME) -C $(PROJROOT) $(TARBALLPREFIX) && \
rm -r $(PROJROOT)$(TARBALLPREFIX) \
;fi