X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fbertos_utils.py;h=812b728689ff600d11d584f6ba4d5b406e3d8a11;hb=eb31ed26eaba1a9a59d212ecd9f5ba9e967c610e;hp=d22fa7cf786985e37cdb98477420e374bcc88648;hpb=ad1d62f282f0a3245e8b71e8c3795a1d5b51d648;p=bertos.git diff --git a/wizard/bertos_utils.py b/wizard/bertos_utils.py index d22fa7cf..812b7286 100644 --- a/wizard/bertos_utils.py +++ b/wizard/bertos_utils.py @@ -76,7 +76,7 @@ def loadBertosProject(project_file): tag_dict[element] = False infos = project_info.info("CPU_INFOS") for tag in tag_dict: - if tag in infos["CPU_TAGS"] + [infos["CPU_NAME"], infos["CORE_CPU"], infos["TOOLCHAIN"]]: + if tag in infos["CPU_TAGS"] + [infos["CPU_NAME"], infos["TOOLCHAIN"]]: tag_dict[tag] = True else: tag_dict[tag] = False @@ -183,10 +183,15 @@ def createBertosProject(project_info, edit=False): f = open(cfgdir + "/" + os.path.basename(configuration), "w") f.write(string) f.close() - # Destinatio mk file - makefile = open("mktemplates/template.mk", "r").read() + if not edit: + # Destination user mk file (only on project creation) + makefile = open("mktemplates/template.mk", "r").read() + makefile = mkGenerator(project_info, makefile) + open(prjdir + "/" + os.path.basename(prjdir) + ".mk", "w").write(makefile) + # Destination wizard mk file + makefile = open("mktemplates/template_wiz.mk", "r").read() makefile = mkGenerator(project_info, makefile) - open(prjdir + "/" + os.path.basename(prjdir) + ".mk", "w").write(makefile) + open(prjdir + "/" + os.path.basename(prjdir) + "_wiz.mk", "w").write(makefile) # Destination main.c file if not edit: main = open("srctemplates/main.c", "r").read() @@ -210,16 +215,13 @@ def mkGenerator(project_info, makefile): """ mk_data = {} mk_data["$pname"] = os.path.basename(project_info.info("PROJECT_PATH")) - mk_data["$cpuflag"] = project_info.info("CPU_INFOS")["CPU_FLAG_NAME"] - mk_data["$cpuname"] = project_info.info("CPU_INFOS")["CORE_CPU"] mk_data["$cpuclockfreq"] = project_info.info("SELECTED_FREQ") - mk_data["$cflags"] = " ".join(project_info.info("CPU_INFOS")["C_FLAGS"]) - mk_data["$ldflags"] = " ".join(project_info.info("CPU_INFOS")["LD_FLAGS"]) - mk_data["$cppflags"] = " ".join(project_info.info("CPU_INFOS")["CPP_FLAGS"]) - mk_data["$cppaflags"] = " ".join(project_info.info("CPU_INFOS")["CPPA_FLAGS"]) - mk_data["$cxxflags"] = " ".join(project_info.info("CPU_INFOS")["CXX_FLAGS"]) - mk_data["$asflags"] = " ".join(project_info.info("CPU_INFOS")["AS_FLAGS"]) - mk_data["$arflags"] = " ".join(project_info.info("CPU_INFOS")["AR_FLAGS"]) + cpu_mk_parameters = [] + for key, value in project_info.info("CPU_INFOS").items(): + if key.startswith("MK_"): + cpu_mk_parameters.append("%s = %s" %(key.replace("MK", mk_data["$pname"]), value)) + print project_info.info("CPU_INFOS") + mk_data["$cpuparameters"] = "\n".join(cpu_mk_parameters) mk_data["$csrc"], mk_data["$pcsrc"], mk_data["$cppasrc"], mk_data["$cxxsrc"], mk_data["$asrc"], mk_data["$constants"] = csrcGenerator(project_info) mk_data["$prefix"] = replaceSeparators(project_info.info("TOOLCHAIN")["path"].split("gcc")[0]) mk_data["$suffix"] = replaceSeparators(project_info.info("TOOLCHAIN")["path"].split("gcc")[1]) @@ -234,8 +236,8 @@ def makefileGenerator(project_info, makefile): Generate the Makefile for the current project. """ # TODO write a general function that works for both the mk file and the Makefile - while makefile.find("project_name") != -1: - makefile = makefile.replace("project_name", os.path.basename(project_info.info("PROJECT_PATH"))) + while makefile.find("$pname") != -1: + makefile = makefile.replace("$pname", os.path.basename(project_info.info("PROJECT_PATH"))) return makefile def csrcGenerator(project_info): @@ -414,7 +416,6 @@ def getTagSet(cpu_info): for cpu in cpu_info: tag_set |= set([cpu["CPU_NAME"]]) tag_set |= set(cpu["CPU_TAGS"]) - tag_set |= set([cpu["CORE_CPU"]]) tag_set |= set([cpu["TOOLCHAIN"]]) return tag_set