]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - Makefile.am
Use SWIG for wrapping C++
[guile-irrlicht.git] / Makefile.am
index 1ad9622607d01d04e08592bb5e6e8b1505c67313..8e6609321bc903913855f322e8385c98d42974bd 100644 (file)
@@ -1,6 +1,6 @@
 # guile-irrlicht --- GNU Guile bindings for Irrlicht Engine
 #
 # guile-irrlicht --- GNU Guile bindings for Irrlicht Engine
 #
-# Copyright (C) 2020 Javier Sancho <jsf@jsancho.org>
+# Copyright (C) 2021 Javier Sancho <jsf@jsancho.org>
 #
 # This file is part of guile-irrlicht.
 #
 #
 # This file is part of guile-irrlicht.
 #
 
 ACLOCAL_AMFLAGS = -I m4
 
 
 ACLOCAL_AMFLAGS = -I m4
 
-# C++ code
+# Swig wrapper
 
 lib_LTLIBRARIES = libguile-irrlicht.la
 
 
 lib_LTLIBRARIES = libguile-irrlicht.la
 
-libguile_irrlicht_la_SOURCES = \
-       src/animated-mesh.cpp \
-       src/animated-mesh-md2.cpp \
-       src/animated-mesh-scene-node.cpp \
-       src/box3d.cpp \
-       src/color.cpp \
-       src/cursor-control.cpp \
-       src/device.cpp \
-       src/dimension2d.cpp \
-       src/driver-types.cpp \
-       src/event-receiver.cpp \
-       src/file-archive.cpp \
-       src/file-system.cpp \
-       src/gui-element.cpp \
-       src/gui-environment.cpp \
-       src/gui-file-open-dialog.cpp \
-       src/gui-in-out-fader.cpp \
-       src/gui-listbox.cpp \
-       src/gui-scrollbar.cpp \
-       src/gui-skin.cpp \
-       src/gui-static-text.cpp \
-       src/gui-toolbar.cpp \
-       src/guile-irrlicht.cpp \
-       src/keycodes.cpp \
-       src/material.cpp \
-       src/material-flags.cpp \
-       src/material-types.cpp \
-       src/matrix4.cpp \
-       src/position2d.cpp \
-       src/primitive-types.cpp \
-       src/rect.cpp \
-       src/reference-counted.cpp \
-       src/scene-manager.cpp \
-       src/scene-node.cpp \
-       src/timer.cpp \
-       src/vector2d.cpp \
-       src/vector3d.cpp \
-       src/vertex3d.cpp \
-       src/video-driver.cpp \
-       src/wrapped.cpp
-
+BUILT_SOURCES = $(builddir)/irrlicht_wrap.cxx
+SWIG_FLAGS = -guile -scmstub -Linkage passive -proxy -emitslotaccessors
+$(builddir)/irrlicht_wrap.cxx: irrlicht.i
+       $(SWIG) $(SWIG_FLAGS) $(IRRLICHT_CFLAGS)  -o $@ $<
+libguile_irrlicht_la_SOURCES = $(builddir)/irrlicht_wrap.cxx irrlicht.i
 libguile_irrlicht_la_CPPFLAGS = @GUILE_CFLAGS@
 libguile_irrlicht_la_LDFLAGS = -version-info 0:1 @GUILE_LIBS@
 
 libguile_irrlicht_la_CPPFLAGS = @GUILE_CFLAGS@
 libguile_irrlicht_la_LDFLAGS = -version-info 0:1 @GUILE_LIBS@
 
-nobase_include_HEADERS = \
-       src/animated-mesh.h \
-       src/animated-mesh-md2.h \
-       src/animated-mesh-scene-node.h \
-       src/box3d.h \
-       src/color.h \
-       src/cursor-control.h \
-       src/device.h \
-       src/dimension2d.h \
-       src/driver-types.h \
-       src/event-receiver.h \
-       src/file-archive.h \
-       src/file-system.h \
-       src/gsubr.h \
-       src/gui-element.h \
-       src/gui-environment.h \
-       src/gui-file-open-dialog.h \
-       src/gui-in-out-fader.h \
-       src/guile-irrlicht.h \
-       src/gui-listbox.h \
-       src/gui-scrollbar.h \
-       src/gui-skin.h \
-       src/gui-static-text.h \
-       src/gui-toolbar.h \
-       src/keycodes.h \
-       src/material-flags.h \
-       src/material.h \
-       src/material-types.h \
-       src/matrix4.h \
-       src/position2d.h \
-       src/primitive-types.h \
-       src/rect.h \
-       src/reference-counted.h \
-       src/scene-manager.h \
-       src/scene-node.h \
-       src/timer.h \
-       src/vector2d.h \
-       src/vector3d.h \
-       src/vertex3d.h \
-       src/video-driver.h \
-       src/wrapped.h
-
-nodist_noinst_SCRIPTS = pre-inst-env
-
 # Guile code
 
 GOBJECTS = $(SOURCES:%.scm=%.go)
 # Guile code
 
 GOBJECTS = $(SOURCES:%.scm=%.go)
@@ -134,22 +54,16 @@ SUFFIXES = .scm .go
 moddir = @GUILE_SITE@
 godir = @GUILE_SITE_CCACHE@
 
 moddir = @GUILE_SITE@
 godir = @GUILE_SITE_CCACHE@
 
-SOURCES = \
-       irrlicht.scm \
-       irrlicht/base.scm \
-       irrlicht/core.scm \
-       irrlicht/device.scm \
-       irrlicht/foreign.scm \
-       irrlicht/gui.scm \
-       irrlicht/io.scm \
-       irrlicht/irr.scm \
-       irrlicht/scene.scm \
-       irrlicht/video.scm
+SOURCES = irrlicht.scm \
+         irrlicht-primitive.scm \
+         Swig/common.scm
+
+nodist_noinst_SCRIPTS = pre-inst-env
 
 # Documentation
 
 
 # Documentation
 
-info_TEXINFOS = doc/irrlicht.texi
+info_TEXINFOS = doc/irrlicht.texi
 
 
-doc_guile_irrlicht_TEXINFOS = \
-       doc/fdl.texi \
-       doc/irrlicht.texi
+doc_guile_irrlicht_TEXINFOS = \
+#      doc/fdl.texi \
+#      doc/irrlicht.texi