summaryrefslogtreecommitdiff
path: root/c_src/Makefile
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2016-02-11 02:48:12 +0100
committerLinus Nordberg <linus@nordu.net>2016-04-25 13:14:10 +0200
commitd1ea31e0818038452dab54afe8b6350d08075318 (patch)
tree695942c9c9b66ebc9736e9917c3bda55133df510 /c_src/Makefile
parent76a135b93d47b9cb5be5b80b831b9c59c805edb7 (diff)
Added python bindings for permdb.
Diffstat (limited to 'c_src/Makefile')
-rw-r--r--c_src/Makefile33
1 files changed, 30 insertions, 3 deletions
diff --git a/c_src/Makefile b/c_src/Makefile
index d45e601..e9b0394 100644
--- a/c_src/Makefile
+++ b/c_src/Makefile
@@ -1,6 +1,28 @@
+UNAME = $(shell uname)
+
+ifeq ($(UNAME),Darwin)
+# Mac OS X 10.10
+OS_CFLAGS = -arch x86_64 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -DHAVE_COMMON_CRYPTO
+OS_SHLIB_LINKFLAGS = -Wl,-F. -bundle -undefined dynamic_lookup
+OS_LDFLAGS =
+PYTHONLIB = -lpython
+else ifeq ($(UNAME),Linux)
+# Ubuntu 12
+OS_CFLAGS = -I/usr/include/python2.7 -std=gnu99 -fPIC -DHAVE_BSD_COMPAT_LIB
+OS_SHLIB_LINKFLAGS = -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro
+OS_LDFLAGS = -lbsd -lrhash
+PYTHONLIB = -L/usr/lib/x86_64-linux-gnu -lpython2.7
+else
+error:
+ echo $(UNAME) not supported
+endif
+
+LOCAL_CFLAGS =
+LOCAL_LDFLAGS =
+
CC = gcc
-CFLAGS = -Wall -Werror -std=gnu99
-LDFLAGS = -lnettle
+CFLAGS = -Wall -Werror -std=gnu99 $(LOCAL_CFLAGS) $(OS_CFLAGS)
+LDFLAGS = $(LOCAL_CFLAGS) -lnettle $(OS_LDFLAGS)
PORTS = fsynchelper hsmhelper permdbport
@@ -8,8 +30,10 @@ common_OBJS = erlport.o net_read_write.o
fsynchelper_OBJS = fsynchelper.o $(common_OBJS)
hsmhelper_OBJS = hsmhelper.o pkcs11.o $(common_OBJS)
permdbport_OBJS = permdb.o permdbport.o arlamath.o hash.o $(common_OBJS)
+permdbso_OBJS = permdb.o arlamath.o hash.o permdbpy.o $(common_OBJS)
-all: $(PORTS)
+
+all: $(PORTS) permdb.so
clean:
rm -f $(fsynchelper_OBJS) $(hsmhelper_OBJS) $(permdbport_OBJS) $(PORTS)
@@ -22,3 +46,6 @@ hsmhelper: $(hsmhelper_OBJS)
permdbport: $(permdbport_OBJS)
$(CC) -o permdbport $(permdbport_OBJS) $(LDFLAGS)
+
+permdb.so: $(permdbso_OBJS)
+ $(CC) $(LDFLAGS) $(OS_SHLIB_LINKFLAGS) $(permdbso_OBJS) -o permdb.so