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
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()
"""
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))
+ 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])
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):
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