diff options
author | Joey Hess <joey@kitenet.net> | 2011-01-07 02:15:23 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-01-07 02:15:23 -0400 |
commit | f189929b8b46016a254a6a938f9aba01184fb6c6 (patch) | |
tree | a38a3b8744c23adf5b3a9a1a3061b4f3d5dd49c6 | |
parent | 55ca64d8510fc3acd34452844086fbcb4bca122c (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-- | .gitignore | 3 | ||||
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | git-annex.hs | 8 |
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 @@ -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 |