Пример #1
0
Файл: gcc.py Проект: srp/mem
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)
Пример #2
0
Файл: gcc.py Проект: srp/mem
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)