Commit 847c679309378748d2a3ac1c5a49331d2e64d4cf

Arthur Schreiber 2013-07-25T00:26:51

Allow Makefile.embed to be used when cross-compiling This allows libgit2 to be cross-compiled (e.g. when building native rugged binaries for windows from Linux or OS X). ``` CROSS_COMPILE=i686-w64-mingw32 make -f Makefile.embed ```

diff --git a/Makefile.embed b/Makefile.embed
index 76b4d3c..8b8970d 100644
--- a/Makefile.embed
+++ b/Makefile.embed
@@ -1,15 +1,33 @@
-PLATFORM=$(shell uname -o)
+PLATFORM=$(shell uname -s)
+
+ifneq (,$(CROSS_COMPILE))
+	PREFIX=$(CROSS_COMPILE)-
+else
+	PREFIX=
+endif
+
+WIN32=0
+ifneq (,$(findstring MINGW32,$(PLATFORM)))
+	WIN32=1
+endif
+ifneq (,$(findstring mingw,$(CROSS_COMPILE)))
+	WIN32=1
+endif
 
 rm=rm -f
-AR=ar cq
-RANLIB=ranlib
+AR=$(PREFIX)ar cq
+RANLIB=$(PREFIX)ranlib
+
 LIBNAME=libgit2.a
-ifeq ($(PLATFORM),Msys)
+
+ifeq ($(WIN32),1)
 	CC=gcc
 else
 	CC=cc
 endif
 
+CC:=$(PREFIX)$(CC)
+
 INCLUDES= -I. -Isrc -Iinclude -Ideps/http-parser -Ideps/zlib
 
 DEFINES= $(INCLUDES) -DNO_VIZ -DSTDC -DNO_GZIP -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $(EXTRA_DEFINES)
@@ -17,7 +35,7 @@ CFLAGS= -g $(DEFINES) -Wall -Wextra -O2 $(EXTRA_CFLAGS)
 
 SRCS = $(wildcard src/*.c) $(wildcard src/transports/*.c) $(wildcard src/xdiff/*.c) $(wildcard deps/http-parser/*.c) $(wildcard deps/zlib/*.c) src/hash/hash_generic.c
 
-ifeq ($(PLATFORM),Msys)
+ifeq ($(WIN32),1)
 	SRCS += $(wildcard src/win32/*.c) $(wildcard src/compat/*.c) deps/regex/regex.c
 	INCLUDES += -Ideps/regex
 	DEFINES += -DWIN32 -D_WIN32_WINNT=0x0501