#!/usr/bin/env python
# encoding: utf-8
#
-# This file is part of slimqc.
+# This file is part of BeRTOS.
#
# Bertos is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
# Copyright 2010 Develer S.r.l. (http://www.develer.com/)
#
-# $Id$
#
# Author: Lorenzo Berni <duplo@develer.com>
#
import os
from bertos_utils import replaceSeparators, csrcGenerator
-def _userMkGenerator(project_info, destination):
+def _userMkGenerator(project_info):
makefile = open(os.path.join(const.DATA_DIR, "mktemplates/old/template.mk"), "r").read()
+ destination = os.path.join(project_info.prjdir, os.path.basename(project_info.prjdir) + ".mk")
# Deadly performances loss was here :(
mk_data = {}
mk_data["$pname"] = os.path.basename(project_info.info("PROJECT_PATH"))
mk_data["$main"] = os.path.basename(project_info.info("PROJECT_PATH")) + "/main.c"
for key in mk_data:
- while makefile.find(key) != -1:
- makefile = makefile.replace(key, mk_data[key])
+ makefile = makefile.replace(key, mk_data[key])
open(destination, "w").write(makefile)
-def _mkGenerator(project_info, destination):
+def _mkGenerator(project_info):
"""
Generates the mk file for the current project.
"""
makefile = open(os.path.join(const.DATA_DIR, "mktemplates/old/template_wiz.mk"), "r").read()
+ destination = os.path.join(project_info.prjdir, os.path.basename(project_info.prjdir) + "_wiz.mk")
mk_data = {}
mk_data["$pname"] = project_info.info("PROJECT_NAME")
mk_data["$cpuclockfreq"] = project_info.info("SELECTED_FREQ")
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:
- makefile = makefile.replace(key, mk_data[key])
+ makefile = makefile.replace(key, mk_data[key])
open(destination, "w").write(makefile)
-def _makefileGenerator(project_info, destination):
+def _makefileGenerator(project_info):
"""
Generate the Makefile for the current project.
"""
makefile = open(os.path.join(const.DATA_DIR, "mktemplates/old/Makefile"), "r").read()
+ destination = os.path.join(project_info.maindir, "Makefile")
# TODO write a general function that works for both the mk file and the Makefile
- while makefile.find("$pname") != -1:
- makefile = makefile.replace("$pname", project_info.info("PROJECT_NAME"))
+ makefile = makefile.replace("$pname", project_info.info("PROJECT_NAME"))
open(destination, "w").write(makefile)
def updateProject(project_data):
bertos_utils.mkGenerator = _mkGenerator
bertos_utils.userMkGenerator = _userMkGenerator
bertos_utils.makefileGenerator = _makefileGenerator
+ if wizard_version < 4:
+ # Use default PROJECT_SRC_PATH_FROM_MAKEFILE and
+ # PROJECT_HW_PATH_FROM_MAKEFILE
+ project_data["PROJECT_SRC_PATH_FROM_MAKEFILE"] = project_data["PROJECT_SRC_PATH"]
+ project_data["PROJECT_HW_PATH_FROM_MAKEFILE"] = project_data["PROJECT_HW_PATH"]
return project_data