Permalink
Browse files

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.
  • Loading branch information...
1 parent 1e3300d commit e1bf24c86221fb412df52340ef2faa65c816c7bf @vmg vmg committed Jul 6, 2011
Showing with 26 additions and 0 deletions.
  1. +26 −0 Makefile.embed
View
26 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)

0 comments on commit e1bf24c

Please sign in to comment.