summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-01-07 02:15:23 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-01-07 02:15:23 -0400
commitf189929b8b46016a254a6a938f9aba01184fb6c6 (patch)
treea38a3b8744c23adf5b3a9a1a3061b4f3d5dd49c6
parent55ca64d8510fc3acd34452844086fbcb4bca122c (diff)
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.
-rw-r--r--.gitignore3
-rw-r--r--Makefile7
-rw-r--r--git-annex.hs8
3 files changed, 8 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore
index f68d1d0ad..764a1af9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
-build/*
+*.hi
+*.o
test
configure
SysConfig.hs
diff --git a/Makefile b/Makefile
index e499d492c..44d4be02b 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/git-annex.hs b/git-annex.hs
index f95181784..878d8bdbb 100644
--- a/git-annex.hs
+++ b/git-annex.hs
@@ -1,4 +1,4 @@
-{- git-annex main program
+{- git-annex main program stub
-
- Copyright 2010 Joey Hess <joey@kitenet.net>
-
@@ -7,12 +7,8 @@
import System.Environment
-import qualified GitRepo as Git
-import CmdLine
import GitAnnex
-
main :: IO ()
main = do
args <- getArgs
- gitrepo <- Git.repoFromCwd
- dispatch gitrepo args cmds options header
+ run args