def t_cpp_obj(target, source_list, CXXFLAGS, CPPPATH): inc_dirs = set() if len(source_list) > 1: combine_opt=['-combine'] else: combine_opt=[] for source in source_list: inc_dirs.add("-I" + os.path.dirname(source)) if not os.path.exists(str(source)): Mem.instance().fail("%s does not exist" % source) mem.add_dep(util.convert_to_file(source)) mem.add_deps([nodes.File(f) for f in make_depends(target, source_list, CFLAGS=CXXFLAGS, CPPPATH=CPPPATH, inc_dirs = list(inc_dirs))]) includes = ["-I" + path for path in CPPPATH] args = util.convert_cmd(["g++"] + CXXFLAGS + includes + target_inc_flag(target, source_list) + list(inc_dirs) + combine_opt + ["-c", "-o", target] + source_list) util.ensure_file_dir(target) if util.run("Compiling", source_list, args) != 0: Mem.instance().fail() return nodes.File(target)
def make_depends_single(target, source, CC, CFLAGS, includes, target_inc, inc_dirs): mem.add_dep(util.convert_to_file(source)) args = util.convert_cmd([CC] + CFLAGS + includes + target_inc + inc_dirs + ["-M", "-o", "-", source]) return util.make_depends("GCC depends", source, args)