summaryrefslogtreecommitdiff
path: root/Makefile.embed
diff options
context:
space:
mode:
authorArthur Schreiber <schreiber.arthur@gmail.com>2013-07-25 00:26:51 +0200
committerArthur Schreiber <schreiber.arthur@gmail.com>2013-07-25 00:26:51 +0200
commit847c679309378748d2a3ac1c5a49331d2e64d4cf (patch)
tree859df5a4745177ffb695a5124eaf7d69b535b434 /Makefile.embed
parentcdbcb8dd80ccae119ab56daa6da51990667e653c (diff)
downloadlibgit2-847c679309378748d2a3ac1c5a49331d2e64d4cf.tar.gz
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 ```
Diffstat (limited to 'Makefile.embed')
-rw-r--r--Makefile.embed28
1 files changed, 23 insertions, 5 deletions
diff --git a/Makefile.embed b/Makefile.embed
index 76b4d3cda..8b8970d76 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