summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-07-24 11:01:15 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-07-24 11:01:15 -0400
commit927b53088fa111c95082715555f3c385193f00d9 (patch)
treee5a1cb428f3bf247674e1b6f343764dd75f0af72 /Makefile
parent25581b01c8ac604ef172f19d6e90479efa9b071c (diff)
force C compiler to build 32 bit on OSX when 32 bit ghc is being used
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile15
1 files changed, 12 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 4d5628746..9997ed3a0 100644
--- a/Makefile
+++ b/Makefile
@@ -3,20 +3,29 @@ mans=git-annex.1 git-annex-shell.1
sources=Build/SysConfig.hs Utility/Touch.hs
all=$(bins) $(mans) docs
+CFLAGS=-Wall
+
OS:=$(shell uname | sed 's/[-_].*//')
ifeq ($(OS),Linux)
-BASEFLAGS_OPTS+=-DWITH_INOTIFY
+BASEFLAGS_OPTS=-DWITH_INOTIFY
clibs=Utility/libdiskfree.o
else
-BASEFLAGS_OPTS+=-DWITH_KQUEUE
+# BSD system
+BASEFLAGS_OPTS=-DWITH_KQUEUE
clibs=Utility/libdiskfree.o Utility/libkqueue.o
+ifeq ($(OS),Darwin)
+# Ensure OSX compiler builds for 32 bit when using 32 bit ghc
+GHCARCH:=$(shell ghc -e 'print System.Info.arch')
+ifeq ($(GHCARCH),i386)
+CFLAGS=-Wall -m32
+endif
+endif
endif
PREFIX=/usr
IGNORE=-ignore-package monads-fd -ignore-package monads-tf
BASEFLAGS=-Wall $(IGNORE) -outputdir tmp -IUtility -DWITH_ASSISTANT -DWITH_S3 $(BASEFLAGS_OPTS)
GHCFLAGS=-O2 $(BASEFLAGS)
-CFLAGS=-Wall
ifdef PROFILE
GHCFLAGS=-prof -auto-all -rtsopts -caf-all -fforce-recomp $(BASEFLAGS)