From bdb7fa4620c9950b16e8292c22424bbf15a25613 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 4 Jun 2010 16:54:30 +0200 Subject: Add import stubs for cli, odb, libodb, libodb-tracer, and libodb-mysql --- build/import/cli/LICENSE | 21 ++++++++ build/import/cli/cli-cxx.make | 45 +++++++++++++++++ build/import/cli/configuration-rules.make | 15 ++++++ build/import/cli/configure | 55 ++++++++++++++++++++ build/import/cli/stub.make | 30 +++++++++++ build/import/libodb-mysql/LICENSE | 12 +++++ build/import/libodb-mysql/configuration-rules.make | 15 ++++++ build/import/libodb-mysql/configure | 55 ++++++++++++++++++++ build/import/libodb-mysql/stub.make | 30 +++++++++++ build/import/libodb-tracer/LICENSE | 12 +++++ .../import/libodb-tracer/configuration-rules.make | 15 ++++++ build/import/libodb-tracer/configure | 55 ++++++++++++++++++++ build/import/libodb-tracer/stub.make | 30 +++++++++++ build/import/libodb/LICENSE | 12 +++++ build/import/libodb/configuration-rules.make | 15 ++++++ build/import/libodb/configure | 55 ++++++++++++++++++++ build/import/libodb/stub.make | 30 +++++++++++ build/import/odb/LICENSE | 12 +++++ build/import/odb/configuration-rules.make | 15 ++++++ build/import/odb/configure | 55 ++++++++++++++++++++ build/import/odb/hxx-cxx.make | 58 ++++++++++++++++++++++ build/import/odb/stub.make | 30 +++++++++++ 22 files changed, 672 insertions(+) create mode 100644 build/import/cli/LICENSE create mode 100644 build/import/cli/cli-cxx.make create mode 100644 build/import/cli/configuration-rules.make create mode 100755 build/import/cli/configure create mode 100644 build/import/cli/stub.make create mode 100644 build/import/libodb-mysql/LICENSE create mode 100644 build/import/libodb-mysql/configuration-rules.make create mode 100755 build/import/libodb-mysql/configure create mode 100644 build/import/libodb-mysql/stub.make create mode 100644 build/import/libodb-tracer/LICENSE create mode 100644 build/import/libodb-tracer/configuration-rules.make create mode 100755 build/import/libodb-tracer/configure create mode 100644 build/import/libodb-tracer/stub.make create mode 100644 build/import/libodb/LICENSE create mode 100644 build/import/libodb/configuration-rules.make create mode 100755 build/import/libodb/configure create mode 100644 build/import/libodb/stub.make create mode 100644 build/import/odb/LICENSE create mode 100644 build/import/odb/configuration-rules.make create mode 100755 build/import/odb/configure create mode 100644 build/import/odb/hxx-cxx.make create mode 100644 build/import/odb/stub.make (limited to 'build/import') diff --git a/build/import/cli/LICENSE b/build/import/cli/LICENSE new file mode 100644 index 0000000..db16aa3 --- /dev/null +++ b/build/import/cli/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) 2009-2010 Code Synthesis Tools CC. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/build/import/cli/cli-cxx.make b/build/import/cli/cli-cxx.make new file mode 100644 index 0000000..cb60d37 --- /dev/null +++ b/build/import/cli/cli-cxx.make @@ -0,0 +1,45 @@ +# file : build/import/cli/cli-cxx.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : MIT; see accompanying LICENSE file + +# Here we are operating in the importing project's space, not in +# cli's. +# + +# Get the C++ file extensions. +# +$(call include,$(bld_root)/cxx/configuration-static.make) + +cli_pattern := \ +$(out_base)/%.$(cxx_s_suffix) \ +$(out_base)/%.$(cxx_h_suffix) \ +$(out_base)/%.$(cxx_i_suffix) + +$(cli_pattern): cli_options := \ +--hxx-suffix .$(cxx_h_suffix) \ +--ixx-suffix .$(cxx_i_suffix) \ +--cxx-suffix .$(cxx_s_suffix) + +.PRECIOUS: $(cli_pattern) + +ifeq ($(out_base),$(src_base)) + +$(cli_pattern): $(src_base)/%.cli + $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<) + +else + +$(cli_pattern): $(src_base)/%.cli | $$(dir $$@). + $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<) + +$(cli_pattern): $(out_base)/%.cli | $$(dir $$@). + $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<) +endif + +.PHONY: $(out_base)/%.cxx.cli.clean + +$(out_base)/%.cxx.cli.clean: + $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_s_suffix))) + $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_h_suffix))) + $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_i_suffix))) diff --git a/build/import/cli/configuration-rules.make b/build/import/cli/configuration-rules.make new file mode 100644 index 0000000..52c334d --- /dev/null +++ b/build/import/cli/configuration-rules.make @@ -0,0 +1,15 @@ +# file : build/import/cli/configuration-rules.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : MIT; see accompanying LICENSE file + +$(dcf_root)/import/cli/configuration-dynamic.make: | $(dcf_root)/import/cli/. + $(call message,,$(scf_root)/import/cli/configure $@) + +ifndef %foreign% + +$(dcf_root)/.disfigure:: + $(call message,rm $(dcf_root)/import/cli/configuration-dynamic.make,\ +rm -f $(dcf_root)/import/cli/configuration-dynamic.make) + +endif diff --git a/build/import/cli/configure b/build/import/cli/configure new file mode 100755 index 0000000..21a09c5 --- /dev/null +++ b/build/import/cli/configure @@ -0,0 +1,55 @@ +#! /usr/bin/env bash + +# file : build/import/cli/configure +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : MIT; see accompanying LICENSE file + + +# $1 - out file +# +# bld_root - build root +# project_name - project name +# + +source $bld_root/dialog.bash + + +$echo +$echo "Configuring external dependency on 'cli' for '$project_name'." +$echo + +$echo +$echo "Would you like to configure dependency on the installed " +$echo "version of 'cli' as opposed to the development build?" +$echo + +installed=`read_y_n y` + +path= + +if [ "$installed" = "n" ]; then + +$echo +$echo "Please enter the src_root for 'cli'." +$echo + +src_root=`read_path --directory --exist` + +$echo +$echo "Please enter the out_root for 'cli'." +$eche + +out_root=`read_path --directory $src_root` + +fi + +echo cli_installed := $installed >$1 + +if [ "$installed" = "n" ]; then + +echo src_root := $src_root >>$1 +echo scf_root := \$\(src_root\)/build >>$1 +echo out_root := $out_root >>$1 + +fi diff --git a/build/import/cli/stub.make b/build/import/cli/stub.make new file mode 100644 index 0000000..250a5ee --- /dev/null +++ b/build/import/cli/stub.make @@ -0,0 +1,30 @@ +# file : build/import/cli/stub.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : MIT; see accompanying LICENSE file + +$(call include-once,$(scf_root)/import/cli/configuration-rules.make,$(dcf_root)) + +cli_installed := + +$(call -include,$(dcf_root)/import/cli/configuration-dynamic.make) + +ifdef cli_installed + +ifeq ($(cli_installed),y) + +$(call export,cli: cli,cli-rules: $(scf_root)/import/cli/cli-cxx.make) + +else + +# Include export stub. +# +$(call include,$(scf_root)/export/cli/stub.make) + +endif + +else + +.NOTPARALLEL: + +endif diff --git a/build/import/libodb-mysql/LICENSE b/build/import/libodb-mysql/LICENSE new file mode 100644 index 0000000..ed9c55c --- /dev/null +++ b/build/import/libodb-mysql/LICENSE @@ -0,0 +1,12 @@ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License version 2 as +published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/build/import/libodb-mysql/configuration-rules.make b/build/import/libodb-mysql/configuration-rules.make new file mode 100644 index 0000000..b57907c --- /dev/null +++ b/build/import/libodb-mysql/configuration-rules.make @@ -0,0 +1,15 @@ +# file : build/import/libodb-mysql/configuration-rules.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(dcf_root)/import/libodb-mysql/configuration-dynamic.make: | $(dcf_root)/import/libodb-mysql/. + $(call message,,$(scf_root)/import/libodb-mysql/configure $@) + +ifndef %foreign% + +$(dcf_root)/.disfigure:: + $(call message,rm $(dcf_root)/import/libodb-mysql/configuration-dynamic.make,\ +rm -f $(dcf_root)/import/libodb-mysql/configuration-dynamic.make) + +endif diff --git a/build/import/libodb-mysql/configure b/build/import/libodb-mysql/configure new file mode 100755 index 0000000..b16cabe --- /dev/null +++ b/build/import/libodb-mysql/configure @@ -0,0 +1,55 @@ +#! /usr/bin/env bash + +# file : build/import/libodb-mysql/configure +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + + +# $1 - out file +# +# bld_root - build root +# project_name - project name +# + +source $bld_root/dialog.bash + + +$echo +$echo "Configuring external dependency on 'libodb-mysql' for '$project_name'." +$echo + +$echo +$echo "Would you like to configure dependency on the installed version" +$echo "of 'libodb-mysql' as opposed to the development build?" +$echo + +installed=`read_y_n y` + +path= + +if [ "$installed" = "n" ]; then + +$echo +$echo "Please enter the src_root for 'libodb-mysql'." +$echo + +src_root=`read_path --directory --exist` + +$echo +$echo "Please enter the out_root for 'libodb-mysql'." +$echo + +out_root=`read_path --directory $src_root` + +fi + +echo libodb_mysql_installed := $installed >$1 + +if [ "$installed" = "n" ]; then + +echo src_root := $src_root >>$1 +echo scf_root := \$\(src_root\)/build >>$1 +echo out_root := $out_root >>$1 + +fi diff --git a/build/import/libodb-mysql/stub.make b/build/import/libodb-mysql/stub.make new file mode 100644 index 0000000..259f1a1 --- /dev/null +++ b/build/import/libodb-mysql/stub.make @@ -0,0 +1,30 @@ +# file : build/import/libodb-mysql/stub.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(call include-once,$(scf_root)/import/libodb-mysql/configuration-rules.make,$(dcf_root)) + +libodb_mysql_installed := + +$(call -include,$(dcf_root)/import/libodb-mysql/configuration-dynamic.make) + +ifdef libodb_mysql_installed + +ifeq ($(libodb_mysql_installed),y) + +$(call export,l: -lodb-mysql -lodb -lmysqlclient,cpp-options: ) + +else + +# Include export stub. +# +$(call include,$(scf_root)/export/libodb-mysql/stub.make) + +endif + +else + +.NOTPARALLEL: + +endif diff --git a/build/import/libodb-tracer/LICENSE b/build/import/libodb-tracer/LICENSE new file mode 100644 index 0000000..ed9c55c --- /dev/null +++ b/build/import/libodb-tracer/LICENSE @@ -0,0 +1,12 @@ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License version 2 as +published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/build/import/libodb-tracer/configuration-rules.make b/build/import/libodb-tracer/configuration-rules.make new file mode 100644 index 0000000..d5d2c21 --- /dev/null +++ b/build/import/libodb-tracer/configuration-rules.make @@ -0,0 +1,15 @@ +# file : build/import/libodb-tracer/configuration-rules.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(dcf_root)/import/libodb-tracer/configuration-dynamic.make: | $(dcf_root)/import/libodb-tracer/. + $(call message,,$(scf_root)/import/libodb-tracer/configure $@) + +ifndef %foreign% + +$(dcf_root)/.disfigure:: + $(call message,rm $(dcf_root)/import/libodb-tracer/configuration-dynamic.make,\ +rm -f $(dcf_root)/import/libodb-tracer/configuration-dynamic.make) + +endif diff --git a/build/import/libodb-tracer/configure b/build/import/libodb-tracer/configure new file mode 100755 index 0000000..d02d7d6 --- /dev/null +++ b/build/import/libodb-tracer/configure @@ -0,0 +1,55 @@ +#! /usr/bin/env bash + +# file : build/import/libodb-tracer/configure +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + + +# $1 - out file +# +# bld_root - build root +# project_name - project name +# + +source $bld_root/dialog.bash + + +$echo +$echo "Configuring external dependency on 'libodb-tracer' for '$project_name'." +$echo + +$echo +$echo "Would you like to configure dependency on the installed version" +$echo "of 'libodb-tracer' as opposed to the development build?" +$echo + +installed=`read_y_n y` + +path= + +if [ "$installed" = "n" ]; then + +$echo +$echo "Please enter the src_root for 'libodb-tracer'." +$echo + +src_root=`read_path --directory --exist` + +$echo +$echo "Please enter the out_root for 'libodb-tracer'." +$echo + +out_root=`read_path --directory $src_root` + +fi + +echo libodb_tracer_installed := $installed >$1 + +if [ "$installed" = "n" ]; then + +echo src_root := $src_root >>$1 +echo scf_root := \$\(src_root\)/build >>$1 +echo out_root := $out_root >>$1 + +fi diff --git a/build/import/libodb-tracer/stub.make b/build/import/libodb-tracer/stub.make new file mode 100644 index 0000000..a2c1798 --- /dev/null +++ b/build/import/libodb-tracer/stub.make @@ -0,0 +1,30 @@ +# file : build/import/libodb-tracer/stub.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(call include-once,$(scf_root)/import/libodb-tracer/configuration-rules.make,$(dcf_root)) + +libodb_tracer_installed := + +$(call -include,$(dcf_root)/import/libodb-tracer/configuration-dynamic.make) + +ifdef libodb_tracer_installed + +ifeq ($(libodb_tracer_installed),y) + +$(call export,l: -lodb-tracer -lodb,cpp-options: ) + +else + +# Include export stub. +# +$(call include,$(scf_root)/export/libodb-tracer/stub.make) + +endif + +else + +.NOTPARALLEL: + +endif diff --git a/build/import/libodb/LICENSE b/build/import/libodb/LICENSE new file mode 100644 index 0000000..ed9c55c --- /dev/null +++ b/build/import/libodb/LICENSE @@ -0,0 +1,12 @@ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License version 2 as +published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/build/import/libodb/configuration-rules.make b/build/import/libodb/configuration-rules.make new file mode 100644 index 0000000..2c30e7f --- /dev/null +++ b/build/import/libodb/configuration-rules.make @@ -0,0 +1,15 @@ +# file : build/import/libodb/configuration-rules.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(dcf_root)/import/libodb/configuration-dynamic.make: | $(dcf_root)/import/libodb/. + $(call message,,$(scf_root)/import/libodb/configure $@) + +ifndef %foreign% + +$(dcf_root)/.disfigure:: + $(call message,rm $(dcf_root)/import/libodb/configuration-dynamic.make,\ +rm -f $(dcf_root)/import/libodb/configuration-dynamic.make) + +endif diff --git a/build/import/libodb/configure b/build/import/libodb/configure new file mode 100755 index 0000000..792bb80 --- /dev/null +++ b/build/import/libodb/configure @@ -0,0 +1,55 @@ +#! /usr/bin/env bash + +# file : build/import/libodb/configure +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + + +# $1 - out file +# +# bld_root - build root +# project_name - project name +# + +source $bld_root/dialog.bash + + +$echo +$echo "Configuring external dependency on 'libodb' for '$project_name'." +$echo + +$echo +$echo "Would you like to configure dependency on the installed " +$echo "version of 'libodb' as opposed to the development build?" +$echo + +installed=`read_y_n y` + +path= + +if [ "$installed" = "n" ]; then + +$echo +$echo "Please enter the src_root for 'libodb'." +$echo + +src_root=`read_path --directory --exist` + +$echo +$echo "Please enter the out_root for 'libodb'." +$echo + +out_root=`read_path --directory $src_root` + +fi + +echo libodb_installed := $installed >$1 + +if [ "$installed" = "n" ]; then + +echo src_root := $src_root >>$1 +echo scf_root := \$\(src_root\)/build >>$1 +echo out_root := $out_root >>$1 + +fi diff --git a/build/import/libodb/stub.make b/build/import/libodb/stub.make new file mode 100644 index 0000000..9196552 --- /dev/null +++ b/build/import/libodb/stub.make @@ -0,0 +1,30 @@ +# file : build/import/libodb/stub.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(call include-once,$(scf_root)/import/libodb/configuration-rules.make,$(dcf_root)) + +libodb_installed := + +$(call -include,$(dcf_root)/import/libodb/configuration-dynamic.make) + +ifdef libodb_installed + +ifeq ($(libodb_installed),y) + +$(call export,l: -lodb,cpp-options: ) + +else + +# Include export stub. +# +$(call include,$(scf_root)/export/libodb/stub.make) + +endif + +else + +.NOTPARALLEL: + +endif diff --git a/build/import/odb/LICENSE b/build/import/odb/LICENSE new file mode 100644 index 0000000..ed9c55c --- /dev/null +++ b/build/import/odb/LICENSE @@ -0,0 +1,12 @@ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License version 2 as +published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA diff --git a/build/import/odb/configuration-rules.make b/build/import/odb/configuration-rules.make new file mode 100644 index 0000000..817f1b1 --- /dev/null +++ b/build/import/odb/configuration-rules.make @@ -0,0 +1,15 @@ +# file : build/import/odb/configuration-rules.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(dcf_root)/import/odb/configuration-dynamic.make: | $(dcf_root)/import/odb/. + $(call message,,$(scf_root)/import/odb/configure $@) + +ifndef %foreign% + +$(dcf_root)/.disfigure:: + $(call message,rm $(dcf_root)/import/odb/configuration-dynamic.make,\ +rm -f $(dcf_root)/import/odb/configuration-dynamic.make) + +endif diff --git a/build/import/odb/configure b/build/import/odb/configure new file mode 100755 index 0000000..1ba2f09 --- /dev/null +++ b/build/import/odb/configure @@ -0,0 +1,55 @@ +#! /usr/bin/env bash + +# file : build/import/odb/configure +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + + +# $1 - out file +# +# bld_root - build root +# project_name - project name +# + +source $bld_root/dialog.bash + + +$echo +$echo "Configuring external dependency on 'odb' for '$project_name'." +$echo + +$echo +$echo "Would you like to configure dependency on the installed " +$echo "version of 'odb' as opposed to the development build?" +$echo + +installed=`read_y_n y` + +path= + +if [ "$installed" = "n" ]; then + +$echo +$echo "Please enter the src_root for 'odb'." +$echo + +src_root=`read_path --directory --exist` + +$echo +$echo "Please enter the out_root for 'odb'." +$eche + +out_root=`read_path --directory $src_root` + +fi + +echo odb_installed := $installed >$1 + +if [ "$installed" = "n" ]; then + +echo src_root := $src_root >>$1 +echo scf_root := \$\(src_root\)/build >>$1 +echo out_root := $out_root >>$1 + +fi diff --git a/build/import/odb/hxx-cxx.make b/build/import/odb/hxx-cxx.make new file mode 100644 index 0000000..4d16e5a --- /dev/null +++ b/build/import/odb/hxx-cxx.make @@ -0,0 +1,58 @@ +# file : build/import/odb/hxx-cxx.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +# Here we are operating in the importing project's space, not in odb's. +# + +# Get the C++ configuration (file extensions, and extra CPP options). +# +$(call include,$(bld_root)/cxx/configuration.make) + +odb_pattern := \ +$(out_base)/%-odb.$(cxx_s_suffix) \ +$(out_base)/%-odb.$(cxx_h_suffix) \ +$(out_base)/%-odb.$(cxx_i_suffix) \ +$(out_base)/%.sql + +$(odb_pattern): odb_options := \ +--hxx-suffix .$(cxx_h_suffix) \ +--ixx-suffix .$(cxx_i_suffix) \ +--cxx-suffix .$(cxx_s_suffix) + +$(odb_pattern): odb-expand-cpp-options-impl = \ +$(if $1,$(shell sed -e 's%include: \(.*\)%\1%' -e t -e d $1)) + +$(odb_pattern): odb-expand-cpp-options = \ +$(call odb-expand-cpp-options-impl,$(filter %.cpp-options,$1)) + +.PRECIOUS: $(odb_pattern) + +ifeq ($(out_base),$(src_base)) + +$(odb_pattern): $(src_base)/%.$(cxx_h_suffix) + $(call message,odb $<,$(odb) $(cpp_options) \ +$(call expand-cpp-options,$^) $(cxx_pp_extra_options) $(odb_options) \ +--output-dir $(dir $@) $<) + +else + +$(odb_pattern): $(src_base)/%.$(cxx_h_suffix) | $$(dir $$@). + $(call message,odb $<,$(odb) $(cpp_options) \ +$(call expand-cpp-options,$^) $(cxx_pp_extra_options) $(odb_options) \ +--output-dir $(dir $@) $<) + +$(odb_pattern): $(out_base)/%.$(cxx_h_suffix) | $$(dir $$@). + $(call message,odb $<,$(odb) $(cpp_options) \ +$(call expand-cpp-options,$^) $(cxx_pp_extra_options) $(odb_options) \ +--output-dir $(dir $@) $<) +endif + +.PHONY: $(out_base)/%-odb.cxx.hxx.clean + +$(out_base)/%-odb.cxx.hxx.clean: + $(call message,rm $$1,rm -f $$1,$(@:.cxx.hxx.clean=.$(cxx_s_suffix))) + $(call message,rm $$1,rm -f $$1,$(@:.cxx.hxx.clean=.$(cxx_h_suffix))) + $(call message,rm $$1,rm -f $$1,$(@:.cxx.hxx.clean=.$(cxx_i_suffix))) + $(call message,rm $$1,rm -f $$1,$(@:-odb.cxx.hxx.clean=.sql)) diff --git a/build/import/odb/stub.make b/build/import/odb/stub.make new file mode 100644 index 0000000..48585f0 --- /dev/null +++ b/build/import/odb/stub.make @@ -0,0 +1,30 @@ +# file : build/import/odb/stub.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(call include-once,$(scf_root)/import/odb/configuration-rules.make,$(dcf_root)) + +odb_installed := + +$(call -include,$(dcf_root)/import/odb/configuration-dynamic.make) + +ifdef odb_installed + +ifeq ($(odb_installed),y) + +$(call export,odb: odb,odb-rules: $(scf_root)/import/odb/hxx-cxx.make) + +else + +# Include export stub. +# +$(call include,$(scf_root)/export/odb/stub.make) + +endif + +else + +.NOTPARALLEL: + +endif -- cgit v1.1