diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2014-12-10 10:20:26 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2014-12-10 10:20:26 +0200 |
commit | 5e9eb843f6ccadfb47fa603260783425da9e7805 (patch) | |
tree | 3778f76de37f5258a07a8fae0e58a843b8a49f1d /build/target.cxx | |
parent | 20e3aedeb7df742c38276fb41cae8f3eb027b6dd (diff) |
Add rules
g++-4.9 -std=c++11 -g -I.. -o bd bd.cxx target.cxx native.cxx rule.cxx cxx/rule.cxx cxx/target.cxx process.cxx timestamp.cxx path.cxx
Diffstat (limited to 'build/target.cxx')
-rw-r--r-- | build/target.cxx | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/build/target.cxx b/build/target.cxx new file mode 100644 index 0000000..e3e3d4d --- /dev/null +++ b/build/target.cxx @@ -0,0 +1,38 @@ +// file : build/target.cxx -*- C++ -*- +// copyright : Copyright (c) 2014-2015 Code Synthesis Tools CC +// license : MIT; see accompanying LICENSE file + +#include <build/target> + +#include <ostream> + +using namespace std; + +namespace build +{ + // target + // + ostream& + operator<< (ostream& os, const target& t) + { + return os << t.type_id ().name << '{' << t.name () << '}'; + } + + // path_target + // + timestamp path_target:: + load_mtime () const + { + assert (!path_.empty ()); + return path_mtime (path_); + } + + using type_info = target::type_info; + + const type_info target::ti_ {typeid (target), "target", nullptr}; + const type_info mtime_target::ti_ { + typeid (mtime_target), "mtime_target", &target::ti_}; + const type_info path_target::ti_ { + typeid (path_target), "path_target", &mtime_target::ti_}; + const type_info file::ti_ {typeid (file), "file", &path_target::ti_}; +} |