From: Modestas Vainius <modestas@vainius.eu>
Subject: [PATCH] debian/simple_top_makefile
Last-Update: 2011-04-23

Add a simple Makefile to the top level directory which
implements most README steps. Some stuff might be Debian
specific in here.

Signed-off-by: Modestas Vainius <modestas@vainius.eu>

---
 Makefile |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

--- /dev/null
+++ b/Makefile
@@ -0,0 +1,43 @@
+BUILDDIR := .
+GENERATOR := $(BUILDDIR)/generator/generator
+CXXFLAGS ?=
+GENERATED_CPP_DONE = $(BUILDDIR)/generated_cpp/done
+QTBINDINGS_DONE = $(BUILDDIR)/qtbindings/done
+
+##### Build generator and QtScript Bindings #####
+all: build
+
+$(BUILDDIR) $(BUILDDIR)/generator $(BUILDDIR)/qtbindings:
+	mkdir -p $@
+
+## Build generator ##
+$(BUILDDIR)/generator/Makefile: $(CURDIR)/generator/generator.pro | $(BUILDDIR)/generator
+	cd $(BUILDDIR)/generator && qmake-qt4 QMAKE_CXXFLAGS="$(CXXFLAGS)" $(CURDIR)/generator/generator.pro
+
+$(GENERATOR): $(BUILDDIR)/generator/Makefile
+	$(MAKE) -C $(BUILDDIR)/generator $(QMAKE_TARGET)
+	touch $@
+
+## Generate bindings CPP files ##
+$(GENERATED_CPP_DONE): $(GENERATOR) $(wildcard generator/typesystem_*.xml)
+	cd generator && QTDIR=/usr/include/qt4 $(CURDIR)/$(GENERATOR) --include-paths=/usr/include/qt4 --output-directory=$(CURDIR)/$(BUILDDIR)
+	touch $@
+
+## Build qtbindings ##
+$(BUILDDIR)/qtbindings/Makefile: $(GENERATED_CPP_DONE) $(CURDIR)/qtbindings/qtbindings.pro | $(BUILDDIR)/qtbindings
+	cd $(BUILDDIR)/qtbindings && qmake-qt4 QMAKE_CXXFLAGS="$(CXXFLAGS)" $(CURDIR)/qtbindings/qtbindings.pro
+
+$(QTBINDINGS_DONE): $(BUILDDIR)/qtbindings/Makefile
+	$(MAKE) -C $(BUILDDIR)/qtbindings
+	touch $@
+
+build: $(QTBINDINGS_DONE)
+
+clean distclean:
+	if [ -f "$(BUILDDIR)/qtbindings/Makefile" ]; then rm -f $(GENERATED_CPP_DONE); $(MAKE) -C $(BUILDDIR)/qtbindings $@; fi
+	if [ -f "$(BUILDDIR)/generator/Makefile" ]; then rm -f $(QTBINDINGS_DONE); $(MAKE) -C $(BUILDDIR)/generator $@; fi
+	rm -rf $(BUILDDIR)/generated_cpp $(BUILDDIR)/plugins
+	rm -f $(BUILDDIR)/doc/*.html
+	rm -f generator/.preprocessed.tmp generator/mjb_rejected_*.log
+
+.PHONY: clean distclean build
