aboutsummaryrefslogtreecommitdiff
path: root/common/template
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-06 14:26:25 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-06 14:26:25 +0200
commit921c4c14c2999a03b9e649b5c9adec73b5cae0de (patch)
treec3a0015286ded8b59f2f44fd7b22be2748e16098 /common/template
parent0f9123ae095d3da7f2fb55d95af49ec3aa0a9c17 (diff)
Add automake build support
Diffstat (limited to 'common/template')
-rw-r--r--common/template/Makefile.am24
-rw-r--r--common/template/makefile14
2 files changed, 37 insertions, 1 deletions
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)