]> git.sesse.net Git - qscale/commitdiff
Add a basic SWIG wrapper for Perl.
authorSteinar H. Gunderson <sesse@debian.org>
Sat, 12 Jul 2008 19:57:46 +0000 (21:57 +0200)
committerSteinar H. Gunderson <sesse@debian.org>
Sat, 12 Jul 2008 19:57:46 +0000 (21:57 +0200)
Makefile
qscale.i [new file with mode: 0644]

index 37a0dd84cb82ba2fff2d052cc418903e22307b9b..d19918720fc270ede45c25cb1b17fe81bbb78c0e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,20 @@
 CC=gcc
 OBJS=qscale.o libqscale.o
 
 CC=gcc
 OBJS=qscale.o libqscale.o
 
-CFLAGS=-Wall -O2 -msse
+CFLAGS=-Wall -O2 -msse -fPIC
 LDFLAGS=-lm -ljpeg
 
 qscale: qscale.o libqscale.o
 
 LDFLAGS=-lm -ljpeg
 
 qscale: qscale.o libqscale.o
 
+# Perl stuff
+qscale_wrap.c: qscale.i
+       swig -perl5 qscale.i
+qscale_wrap.o: qscale_wrap.c
+       $(CC) $(CFLAGS) $(shell perl -MExtUtils::Embed -e ccopts) -c $< -o $@
+qscale.so: libqscale.o qscale_wrap.o
+       $(LD) $(LDFLAGS) -shared libqscale.o qscale_wrap.o -o $@
+
 clean:
 clean:
-       $(RM) qscale $(OBJS)
+       $(RM) qscale $(OBJS) qscale_wrap.o qscale_wrap.c qscale.pm qscale.so
 
 .PHONY: clean
 
 .PHONY: clean
diff --git a/qscale.i b/qscale.i
new file mode 100644 (file)
index 0000000..09fba83
--- /dev/null
+++ b/qscale.i
@@ -0,0 +1,6 @@
+%module qscale
+
+%{
+#include "libqscale.h"
+%}
+%include "libqscale.h"