Commit e1bf24c86221fb412df52340ef2faa65c816c7bf

Vicent Marti 2011-07-06T02:14:30

build: Add simple Makefile for embedding the library Run `make -f Makefile.embed` to get a `libgit2.a` with no dependencies and no configuration on any Unix-like system. The generated library can be linked with any piece of software without licensing issues. Have fun.

diff --git a/Makefile.embed b/Makefile.embed
new file mode 100644
index 0000000..fec090f
--- /dev/null
+++ b/Makefile.embed
@@ -0,0 +1,26 @@
+rm=rm -f
+CC=cc
+AR=ar cq
+RANLIB=ranlib
+LIBNAME=libgit2.a
+
+INCLUDES= -I. -Isrc -Iinclude -Ideps/zlib
+
+DEFINES= $(INCLUDES) -DNO_VIZ -DSTDC -DNO_GZIP -D_FILE_OFFSET_BITS=64
+CFLAGS= -g $(DEFINES) -Wall -Wextra -fPIC -O2
+
+SRCS = $(wildcard src/*.c) $(wildcard src/unix/*.c) $(wildcard deps/zlib/*.c)
+OBJS = $(patsubst %.c,%.o,$(SRCS))
+
+%.c.o:
+	$(CC) $(CFLAGS) -c $*.c
+
+all: $(LIBNAME)
+
+$(LIBNAME): $(OBJS)
+	$(rm) $@
+	$(AR) $@ $(OBJS)
+	$(RANLIB) $@
+
+clean:
+	$(rm) $(OBJS) $(LIBNAME)