From 921c4c14c2999a03b9e649b5c9adec73b5cae0de Mon Sep 17 00:00:00 2001
From: Boris Kolpackov <boris@codesynthesis.com>
Date: Mon, 6 Sep 2010 14:26:25 +0200
Subject: Add automake build support

---
 common/template/Makefile.am | 24 ++++++++++++++++++++++++
 common/template/makefile    | 14 +++++++++++++-
 2 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 common/template/Makefile.am

(limited to 'common/template')

diff --git a/common/template/Makefile.am b/common/template/Makefile.am
new file mode 100644
index 0000000..b2fc122
--- /dev/null
+++ b/common/template/Makefile.am
@@ -0,0 +1,24 @@
+# file      : common/template/Makefile.am
+# author    : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+# license   : GNU GPL v2; see accompanying LICENSE file
+
+noinst_PROGRAMS = driver
+driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers)
+driver_LDADD = $(top_builddir)/libcommon/libcommon.la
+driver_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon'
+
+TESTS=$(top_builddir)/tester
+TESTS_ENVIRONMENT=top_builddir=$(top_builddir);
+
+# ODB compilation.
+#
+driver_SOURCES += test.hxx test-odb.cxx
+BUILT_SOURCES = test-odb.hxx
+CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx
+
+ODB = @ODB@
+ODBFLAGS = @ODBFLAGS@
+
+test-odb.hxx: test.hxx
+	$(ODB) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS)  __value__(odb_options) $<
diff --git a/common/template/makefile b/common/template/makefile
index c963659..cdc8f91 100644
--- a/common/template/makefile
+++ b/common/template/makefile
@@ -14,6 +14,7 @@ common.l             := $(out_root)/libcommon/common.l
 common.l.cpp-options := $(out_root)/libcommon/common.l.cpp-options
 
 driver  := $(out_base)/driver
+dist    := $(out_base)/.dist
 test    := $(out_base)/.test
 clean   := $(out_base)/.clean
 
@@ -34,7 +35,7 @@ gen  := $(addprefix $(out_base)/,$(genf))
 
 $(gen): $(odb)
 $(gen): odb := $(odb)
-$(gen): odb_options += --database $(db_id) --generate-schema
+$(gen) $(dist): export odb_options += --database $(db_id) --generate-schema
 $(gen): cpp_options := -I$(out_base)
 $(gen): $(common.l.cpp-options)
 
@@ -44,6 +45,14 @@ $(call include-dep,$(cxx_od),$(cxx_obj),$(gen))
 #
 $(out_base)/: $(driver)
 
+# Dist
+#
+$(dist): data_dist := $(cxx_tun) $(odb_hdr) test.std
+$(dist): db_id := @database@
+$(dist):
+	$(call dist-data,$(data_dist))
+	$(call meta-automake)
+
 # Test.
 #
 $(test): $(driver) $(src_base)/test.std
@@ -72,6 +81,9 @@ endif
 
 # How to.
 #
+$(call include,$(bld_root)/dist.make)
+$(call include,$(bld_root)/meta/automake.make)
+
 $(call include,$(odb_rules))
 $(call include,$(bld_root)/cxx/cxx-d.make)
 $(call include,$(bld_root)/cxx/cxx-o.make)
-- 
cgit v1.1