-CPPFLAGS=$(XFT_CFLAGS) @CPPFLAGS@
+buttonsdir = $(pkgdatadir)/buttons
+scriptdir = $(libdir)/openbox/python
-INCLUDES= -I../src
+CXXFLAGS=$(XFT_CFLAGS) $(PYTHON_CFLAGS) @CXXFLAGS@ \
+-DBUTTONSDIR=\"$(buttonsdir)\" -DSWIG_GLOBAL
+# -DSWIG_GLOBAL means we don't have to link libswigpy cuz libotk will export
+# everything it would
-noinst_LIBRARIES=libotk.a
+#INCLUDES= -I../src
-libotk_a_SOURCES= color.cc display.cc font.cc gccache.cc image.cc property.cc \
- imagecontrol.cc rect.cc screeninfo.cc texture.cc timer.cc \
- timerqueuemanager.cc style.cc configuration.cc util.cc \
- widget.cc focuswidget.cc button.cc
+#noinst_LIBRARIES=libotk.a
+lib_LTLIBRARIES=libotk.la
+
+libotk_la_SOURCES=rendercontrol.cc truerendercontrol.cc surface.cc \
+ renderstyle.cc rendercolor.cc \
+ display.cc font.cc \
+ property.cc rect.cc screeninfo.cc \
+ timer.cc \
+ configuration.cc util.cc widget.cc focuswidget.cc \
+ button.cc eventhandler.cc eventdispatcher.cc ustring.cc \
+ label.cc focuslabel.cc application.cc appwidget.cc \
+ otk_wrap.cc
+
+libotk_la_LDFLAGS = $(XFT_LIBS) $(PYTHON_LIBS) @LIBS@
MAINTAINERCLEANFILES= Makefile.in
+script_DATA = otk.py
+
+EXTRA_DIST = $(script_DATA)
+
distclean-local:
rm -f *\~ *.orig *.rej .\#*
-otk_test: libotk.a otk_test.cc
- $(CXX) $(CPPFLAGS) -DHAVE_CONFIG_H -I. -I. -I.. -I../src $(XFT_CFLAGS) -Wall -W -pedantic -DNDEBUG -g -O2 -o otk_test otk_test.cc $(XFT_LIBS) ./libotk.a
+otk_test: libotk.la otk_test.cc
+ $(CXX) $(CXXFLAGS) -DHAVE_CONFIG_H -I. -I. -I.. -I../src $(XFT_CFLAGS) -Wall -W -pedantic -DNDEBUG -g -O2 -o otk_test otk_test.cc $(XFT_LIBS) -L. -lotk @LIBS@
+
+rendertest: libotk.la rendertest.cc
+ $(CXX) $(CXXFLAGS) -DHAVE_CONFIG_H -I. -I. -I.. -I../src $(XFT_CFLAGS) -Wall -W -pedantic -DNDEBUG -g -O2 -o $@ rendertest.cc $(XFT_LIBS) -L. -lotk @LIBS@
+
+%.py: %_wrap.cc
+
+otk.i: $(wildcard *.hh)
+ touch $@
+
+%_wrap.cc: %.i
+ swig $(filter -I%,$(CXXFLAGS)) -python -shadow -c++ -nodefault -o $@ $<
# local dependencies
-color.o: color.cc color.hh display.hh screeninfo.hh rect.hh
-gccache.o: gccache.cc gccache.hh display.hh color.hh assassin.hh \
- screeninfo.hh rect.hh
-rect.o: rect.cc rect.hh
-configuration.o: configuration.cc configuration.hh
-style.o: style.cc style.hh
-util.o: util.cc util.hh
-widget.o: widget.cc widget.hh
-focuswidget.o: focuswidget.cc focuswidget.hh
-button.o: button.cc button.hh