workaround ghc weirdness with -odir

The option cause it to always build to build/Main.o, no matter what
binary it was building. This caused extra work, and in some cases,
could cause the wrong code to be put into the final binary.
This commit is contained in:
Joey Hess 2011-01-07 02:15:23 -04:00
parent 55ca64d851
commit f189929b8b
3 changed files with 8 additions and 10 deletions

View file

@ -1,6 +1,6 @@
PREFIX=/usr
GHCFLAGS=-O2 -Wall
GHCMAKE=ghc -odir build -hidir build $(GHCFLAGS) --make
GHCMAKE=ghc $(GHCFLAGS) --make
bins=git-annex git-annex-shell
mans=git-annex.1 git-annex-shell.1
@ -29,11 +29,11 @@ install: all
rsync -a --delete html/ $(DESTDIR)$(PREFIX)/share/doc/git-annex/html/; \
fi
test:
test: $(bins)
$(GHCMAKE) test
./test
testcoverage:
testcoverage: $(bins)
rm -f test.tix test
ghc -odir build/test -hidir build/test $(GHCFLAGS) --make -fhpc test
./test
@ -59,5 +59,6 @@ docs: $(mans)
clean:
rm -rf build $(bins) $(mans) test configure SysConfig.hs *.tix .hpc
rm -rf doc/.ikiwiki html
find . \( -name \*.o -or -name \*.hi \) -exec rm {} \;
.PHONY: $(bins) test install