aboutsummaryrefslogtreecommitdiff
path: root/build/cxx/rule
diff options
context:
space:
mode:
Diffstat (limited to 'build/cxx/rule')
-rw-r--r--build/cxx/rule40
1 files changed, 40 insertions, 0 deletions
diff --git a/build/cxx/rule b/build/cxx/rule
new file mode 100644
index 0000000..d4412e4
--- /dev/null
+++ b/build/cxx/rule
@@ -0,0 +1,40 @@
+// file : build/cxx/rule -*- C++ -*-
+// copyright : Copyright (c) 2014-2015 Code Synthesis Tools CC
+// license : MIT; see accompanying LICENSE file
+
+#ifndef BUILD_CXX_RULE
+#define BUILD_CXX_RULE
+
+#include <build/rule>
+
+namespace build
+{
+ namespace cxx
+ {
+ // @@ Can't we do match(obj&) and then registration code extracts
+ // that. And no virtuals.
+ //
+
+ class compile: public rule
+ {
+ public:
+ virtual recipe
+ match (target&) const;
+
+ static target_state
+ update (target&);
+ };
+
+ class link: public rule
+ {
+ public:
+ virtual recipe
+ match (target&) const;
+
+ static target_state
+ update (target&);
+ };
+ }
+}
+
+#endif // BUILD_CXX_RULE