From f00465eecdcf50965e8ca455527a49759bfcddbd Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 26 Aug 2010 14:39:08 +0200 Subject: Add meta-build subsystem Meta-build is used to create (or, more precisely, maintain) other build systems. The idea is to create templates for other build systems (automake, VC++ projects) which are then processed by meta-build to fill in the details such as files to compile, etc. The template system is built on top of GNU m4. Currently supported build systems are autoconf, automake, VC++ 9, and VC++ 10. --- build/meta/vc9proj-functions.make | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 build/meta/vc9proj-functions.make (limited to 'build/meta/vc9proj-functions.make') diff --git a/build/meta/vc9proj-functions.make b/build/meta/vc9proj-functions.make new file mode 100644 index 0000000..8329230 --- /dev/null +++ b/build/meta/vc9proj-functions.make @@ -0,0 +1,21 @@ +# file : build/meta/vc9proj-functions.make +# author : Boris Kolpackov +# copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +# Process VC++ project file template and write output to $(dist_prefix)/. +# Where path is computed as difference between src_base and src_root. +# +# Arguments: +# +# $1 - template path +# +$(out_base)/%: meta-vc9proj = \ +$(call meta-vc9proj-body,$1,$(subst $(src_root),,$(src_base))) + +# $1 - template +# $2 - difference between src_base and src_root with leading '\' +# +$(out_base)/%: meta-vc9proj-body = \ +$(call message,meta $(dist_prefix)$2/$(notdir $1),$(bld_root)/meta/vc9proj \ +-o $(dist_prefix)$2/$(notdir $1) $1) -- cgit v1.1