X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fbertos_utils.py;h=5d08f54db01d1ebbadf9cf9d0cbd160572a5d7c8;hb=3001f6f9ca19a6dd354cb1f82425253484c5468b;hp=bfdcc0eefd32130df5e4b565bc752e636d31ad4f;hpb=ffe9b776589ff4004f722d4433fe0fbfa2131ea3;p=bertos.git diff --git a/wizard/bertos_utils.py b/wizard/bertos_utils.py index bfdcc0ee..5d08f54d 100644 --- a/wizard/bertos_utils.py +++ b/wizard/bertos_utils.py @@ -19,7 +19,7 @@ import copytree import pickle import const -from plugins import codelite_project +import plugins import DefineException def isBertosDir(directory): @@ -94,9 +94,10 @@ def createBertosProject(project_info): # Destination main.c file main = open("srctemplates/main.c", "r").read() open(prjdir + "/main.c", "w").write(main) - # Codelite project files - if "codelite" in project_info.info("OUTPUT"): - codelite_project.createProject(project_info) + # Files for selected plugins + for plugin in project_info.info("OUTPUT"): + module = getattr(__import__("plugins", {}, {}, [plugin]), plugin) + module.createProject(project_info) def mkGenerator(project_info, makefile): """ @@ -115,8 +116,8 @@ def mkGenerator(project_info, makefile): mk_data["$asflags"] = " ".join(project_info.info("CPU_INFOS")["AS_FLAGS"]) mk_data["$arflags"] = " ".join(project_info.info("CPU_INFOS")["AR_FLAGS"]) mk_data["$csrc"], mk_data["$pcsrc"], mk_data["$cppasrc"], mk_data["$cxxsrc"], mk_data["$asrc"], mk_data["$constants"] = csrcGenerator(project_info) - mk_data["$prefix"] = project_info.info("TOOLCHAIN")["path"].split("gcc")[0] - mk_data["$suffix"] = project_info.info("TOOLCHAIN")["path"].split("gcc")[1] + mk_data["$prefix"] = replaceSeparators(project_info.info("TOOLCHAIN")["path"].split("gcc")[0]) + mk_data["$suffix"] = replaceSeparators(project_info.info("TOOLCHAIN")["path"].split("gcc")[1]) mk_data["$main"] = os.path.basename(project_info.info("PROJECT_PATH")) + "/main.c" for key in mk_data: while makefile.find(key) != -1: @@ -206,8 +207,7 @@ def findModuleFiles(module, project_info): for filename, path in findDefinitions(module + ".c", project_info) + \ findDefinitions(module + "_" + project_info.info("CPU_INFOS")["TOOLCHAIN"] + ".c", project_info): path = path.replace(project_info.info("SOURCES_PATH") + os.sep, "") - if os.sep != "/": - path = replaceSeparators(path) + path = replaceSeparators(path) cfiles.append(path + "/" + filename) # .s files related to the module and the cpu architecture for filename, path in findDefinitions(module + ".s", project_info) + \ @@ -215,8 +215,7 @@ def findModuleFiles(module, project_info): findDefinitions(module + ".S", project_info) + \ findDefinitions(module + "_" + project_info.info("CPU_INFOS")["TOOLCHAIN"] + ".S", project_info): path = path.replace(project_info.info("SOURCES_PATH") + os.sep, "") - if os.sep != "/": - path = replaceSeparators(path) + path = replaceSeparators(path) sfiles.append(path + "/" + filename) # .c and .s files related to the module and the cpu tags for tag in project_info.info("CPU_INFOS")["CPU_TAGS"]: @@ -228,8 +227,7 @@ def findModuleFiles(module, project_info): for filename, path in findDefinitions(module + "_" + tag + ".s", project_info) + \ findDefinitions(module + "_" + tag + ".S", project_info): path = path.replace(project_info.info("SOURCES_PATH") + os.sep, "") - if os.sep != "/": - path = replaceSeparators(path) + path = replaceSeparators(path) sfiles.append(path + "/" + filename) return cfiles, sfiles @@ -237,8 +235,9 @@ def replaceSeparators(path): """ Replace the separators in the given path with unix standard separator. """ - while path.find(os.sep) != -1: - path = path.replace(os.sep, "/") + if os.sep != "/": + while path.find(os.sep) != -1: + path = path.replace(os.sep, "/") return path def getSystemPath():