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 ```
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
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