cfgdir = prjdir + "/cfg"
shutil.rmtree(cfgdir, True)
os.mkdir(cfgdir)
+ # Set to 1 the autoenabled for enabled modules
+ for module, information in project_info.info("MODULES").items():
+ if information["enabled"] and "configuration" in information and information["configuration"] != "":
+ configurations = project_info.info("CONFIGURATIONS")
+ configuration = configurations[information["configuration"]]
+ for start, parameter in configuration["paramlist"]:
+ if "type" in configuration[parameter] and configuration[parameter]["type"] == "autoenabled":
+ configuration[parameter]["value"] = "1"
+ project_info.setInfo("CONFIGURATIONS", configurations)
+ # Copy all the configuration files
for configuration, information in project_info.info("CONFIGURATIONS").items():
string = open(sources_dir + "/" + configuration, "r").read()
for start, parameter in information["paramlist"]:
infos = information[parameter]
value = infos["value"]
- if "type" in infos["informations"] and infos["informations"]["type"] == "autoenabled":
- value = "1"
if "unsigned" in infos["informations"].keys() and infos["informations"]["unsigned"]:
value += "U"
if "long" in infos["informations"].keys() and infos["informations"]["long"]:
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["$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"])
- mk_data["$csrc"], mk_data["$pcsrc"], mk_data["$asrc"], mk_data["$constants"] = csrcGenerator(project_info)
+ 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["$main"] = os.path.basename(project_info.info("PROJECT_PATH")) + "/main.c"
# file to be included in PCSRC variable
pcsrc = []
# files to be included in CPPASRC variable
+ cppasrc = []
+ # files to be included in CXXSRC variable
+ cxxsrc = []
+ # files to be included in ASRC variable
asrc = []
# constants to be included at the beginning of the makefile
constants = {}
pcsrc.append(file)
for file in dependency_files:
csrc.append(file)
+ for file in project_info.info("CPU_INFOS")["C_SRC"]:
+ csrc.append(file)
+ for file in project_info.info("CPU_INFOS")["PC_SRC"]:
+ pcsrc.append(file)
for file in asm_files:
- asrc.append(file)
+ cppasrc.append(file)
+ for file in project_info.info("CPU_INFOS")["CPPA_SRC"]:
+ cppasrc.append(file)
+ for file in project_info.info("CPU_INFOS")["CXX_SRC"]:
+ cxxsrc.append(file)
+ for file in project_info.info("CPU_INFOS")["ASRC"]:
+ asrc.append(file)
csrc = " \\\n\t".join(csrc) + " \\"
pcsrc = " \\\n\t".join(pcsrc) + " \\"
+ cppasrc = " \\\n\t".join(cppasrc) + " \\"
+ cxxsrc = " \\\n\t".join(cxxsrc) + " \\"
asrc = " \\\n\t".join(asrc) + " \\"
constants = "\n".join([os.path.basename(project_info.info("PROJECT_PATH")) + "_" + key + " = " + str(value) for key, value in constants.items()])
- return csrc, pcsrc, asrc, constants
+ return csrc, pcsrc, cppasrc, cxxsrc, asrc, constants
def findModuleFiles(module, project_info):
# Find the files related to the selected module