git-annex/Makefile
Joey Hess bc5c54c987 symlink touching fun
When adding files to the annex, the symlinks pointing at the annexed
content are made to have the same mtime as the original file. While git
does not preserve that information, this allows a tool like metastore to be
used with annexed files.
2011-03-14 23:00:23 -04:00

67 lines
1.8 KiB
Makefile

PREFIX=/usr
GHCFLAGS=-O2 -Wall -ignore-package monads-fd
GHCMAKE=ghc $(GHCFLAGS) --make
bins=git-annex git-annex-shell
mans=git-annex.1 git-annex-shell.1
all: $(bins) $(mans) docs
SysConfig.hs: configure.hs TestConfig.hs
$(GHCMAKE) configure
./configure
Touch.hs: Touch.hsc
hsc2hs $<
$(bins): SysConfig.hs Touch.hs
$(GHCMAKE) $@
git-annex.1: doc/git-annex.mdwn
./mdwn2man git-annex 1 doc/git-annex.mdwn > git-annex.1
git-annex-shell.1: doc/git-annex-shell.mdwn
./mdwn2man git-annex-shell 1 doc/git-annex-shell.mdwn > git-annex-shell.1
install: all
install -d $(DESTDIR)$(PREFIX)/bin
install $(bins) $(DESTDIR)$(PREFIX)/bin
install -d $(DESTDIR)$(PREFIX)/share/man/man1
install -m 0644 $(mans) $(DESTDIR)$(PREFIX)/share/man/man1
install -d $(DESTDIR)$(PREFIX)/share/doc/git-annex
if [ -d html ]; then \
rsync -a --delete html/ $(DESTDIR)$(PREFIX)/share/doc/git-annex/html/; \
fi
test: $(bins)
$(GHCMAKE) test
./test
testcoverage: $(bins)
rm -f test.tix test
ghc -odir build/test -hidir build/test $(GHCFLAGS) --make -fhpc test
./test
@echo ""
@hpc report test --exclude=Main --exclude=QC
@hpc markup test --exclude=Main --exclude=QC --destdir=.hpc >/dev/null
# If ikiwiki is available, build static html docs suitable for being
# shipped in the software package.
ifeq ($(shell which ikiwiki),)
IKIWIKI=@echo "** ikiwiki not found, skipping building docs" >&2; true
else
IKIWIKI=ikiwiki
endif
docs: $(mans)
$(IKIWIKI) doc html -v --wikiname git-annex --plugin=goodstuff \
--no-usedirs --disable-plugin=openid --plugin=sidebar \
--underlaydir=/dev/null --disable-plugin=shortcut \
--disable-plugin=smiley \
--exclude='news/.*'
clean:
rm -rf build $(bins) $(mans) test configure Touch.hs SysConfig.hs *.tix .hpc
rm -rf doc/.ikiwiki html
find . \( -name \*.o -or -name \*.hi \) -exec rm {} \;
.PHONY: $(bins) test install