diff options
author | Gökçen Eraslan <gokcen.eraslan@gmail.com> | 2016-01-07 14:48:00 +0100 |
---|---|---|
committer | Gökçen Eraslan <gokcen.eraslan@gmail.com> | 2016-01-07 14:48:00 +0100 |
commit | 6c0e2acad583f74883510e00876331329bb4b8a0 (patch) | |
tree | 3305a09c69b77e83ee79e7ffd1747b204ee602fd /bindings | |
parent | d4424449fa86a8383761c6ae068a01d10e160c94 (diff) |
Replace swig bash script with a Makefile.
Diffstat (limited to 'bindings')
-rw-r--r-- | bindings/Makefile | 54 | ||||
-rw-r--r-- | bindings/swig.sh | 22 |
2 files changed, 54 insertions, 22 deletions
diff --git a/bindings/Makefile b/bindings/Makefile new file mode 100644 index 0000000..5680f89 --- /dev/null +++ b/bindings/Makefile @@ -0,0 +1,54 @@ +CC=g++ + +QTFLAGS := $(shell pkg-config QtCore --cflags) +PYTHONFLAGS := $(shell pkg-config python2 --cflags) +LUAFLAGS := $(shell pkg-config lua52 --cflags) + +INCLUDES=-I.. + +python/quackle_wrap.cxx: + @test -d python || mkdir python + swig -c++ -o $@ $(INCLUDES) $(QTFLAGS) -python quackle.i + +python/quackle_wrap.o: python/quackle_wrap.cxx + $(CC) -c -std=c++11 -fPIC $< $(QTFLAGS) $(PYTHONFLAGS) $(INCLUDES) -o $@ + +python: python/quackle_wrap.o + ln -sf ../../lib/release/libquackle.so.0 python/libquackle.so.0 + ln -sf ../../quackleio/lib/release/libquackleio.so.0 python/libquackleio.so.0 + $(CC) -std=c++11 -shared ../lib/release/libquackle.so ../quackleio/lib/release/libquackleio.so $< -o python/_quackle.so + +go: + @test -d go || mkdir go + ln -sf ../../lib/release/libquackle.so.0 go/libquackle.so.0 + ln -sf ../../quackleio/lib/release/libquackleio.so.0 go/libquackleio.so.0 + swig -c++ -o go/quackle_wrap.cxx -I../ $(QTFLAGS) -go -cgo -intgosize 64 quackle.i + +lua/quackle_wrap.cxx: + @test -d lua || mkdir lua + swig -c++ -o $@ $(INCLUDES) $(QTFLAGS) -lua quackle.i + +lua/quackle_wrap.o: lua/quackle_wrap.cxx + $(CC) -std=c++11 -fPIC $(LUAFLAGS) $(QTFLAGS) $(INCLUDES) -c $< -o $@ + +lua: lua/quackle_wrap.o + ln -sf ../../lib/release/libquackle.so.0 lua/libquackle.so.0 + ln -sf ../../quackleio/lib/release/libquackleio.so.0 lua/libquackleio.so.0 + $(CC) -std=c++11 -shared $(LUAFLAGS) ../lib/release/libquackle.so ../quackleio/lib/release/libquackleio.so $< -o lua/quackle.so + +.PHONY: clean + +clean: + -rm -rf python/libquackle.* + -rm -rf python/libquackleio.* + -rm -rf python/quackle.py + -rm -rf lua/libquackle.* + -rm -rf lua/libquackleio.* + -rm -rf go/libquackle.* + -rm -rf go/libquackleio.* + -rm -rf */*_wrap.cxx + -rm -rf */*.o + -rm -rf */*.pyc + -rm -rf */*.so + -rm -rf lua + -rm -rf go diff --git a/bindings/swig.sh b/bindings/swig.sh deleted file mode 100644 index 8e069b0..0000000 --- a/bindings/swig.sh +++ /dev/null @@ -1,22 +0,0 @@ -set -eu - -#################### Generate Python bindings -ln -sf ../../lib/release/libquackle.so.0 python/libquackle.so.0 -ln -sf ../../quackleio/lib/release/libquackleio.so.0 python/libquackleio.so.0 -swig -c++ -o python/pyquackle.cxx -I../ `pkg-config QtCore --cflags` -python quackle.i -g++ -c -std=c++11 -fPIC python/pyquackle.cxx `pkg-config QtCore --cflags` `pkg-config python2 --cflags` -I../ -o python/pyquackle.o -g++ -std=c++11 -shared ../lib/release/libquackle.so ../quackleio/lib/release/libquackleio.so python/pyquackle.o -o python/_quackle.so - -#################### Generate Go bindings -mkdir go -ln -sf ../../lib/release/libquackle.so.0 go/libquackle.so.0 -ln -sf ../../quackleio/lib/release/libquackleio.so.0 go/libquackleio.so.0 -swig -c++ -o go/quackle_wrap.cxx -I../ `pkg-config QtCore --cflags` -go -cgo -intgosize 64 quackle.i - -#################### Generate Lua bindings -mkdir lua -ln -sf ../../lib/release/libquackle.so.0 lua/libquackle.so.0 -ln -sf ../../quackleio/lib/release/libquackleio.so.0 lua/libquackleio.so.0 -swig -c++ -o lua/quackle_wrap.cxx -I../ `pkg-config QtCore --cflags` -lua quackle.i -g++ -std=c++11 -fPIC `pkg-config lua52 --cflags` `pkg-config QtCore --cflags` -I../ -c lua/quackle_wrap.cxx -o lua/quackle_wrap.o -g++ -std=c++11 -shared `pkg-config lua52 --libs` ../lib/release/libquackle.so ../quackleio/lib/release/libquackleio.so lua/quackle_wrap.o -o lua/quackle.so |