- def export(self, out_dir):
- path = os.path.join(out_dir, "sources.list")
- with open(path, "w") as f:
- f.write("\n".join(self.__sources))
-
- path = os.path.join(out_dir, "headers.list")
- with open(path, "w") as f:
- f.write("\n".join(self.__headers))
-
- path = os.path.join(out_dir, "includes.list")
- with open(path, "w") as f:
- f.write("\n".join(self.__inc_dir))
\ No newline at end of file
+ def export(self):
+ self.__generator.generate(self)
+
+ def get_object(self, key, _default=None):
+ return _default if key not in self.__ext_object else self.__ext_object[key]
+
+ def set_object(self, key, object):
+ self.__ext_object[key] = object
+
+ def srcs(self):
+ return list(self.__sources)
+
+ def headers(self):
+ return list(self.__headers)
+
+ def includes(self):
+ return list(self.__inc_dir)
+
+ def add_external_func(self, function):
+ name = function.__name__
+ invk = lambda *args, **kwargs: function(self, *args, **kwargs)
+ self.__ext_function[name] = invk
+
+ def external_func_table(self):
+ return self.__ext_function
\ No newline at end of file