--- a/targets/toolchain_makefile.py Mon Aug 21 20:17:19 2017 +0000
+++ b/targets/toolchain_makefile.py Mon Aug 21 23:22:58 2017 +0300
@@ -22,18 +22,21 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-import os, re, operator
+import os
+import re
+import operator
from util.ProcessLogger import ProcessLogger
import hashlib
import time
-includes_re = re.compile('\s*#include\s*["<]([^">]*)[">].*')
+includes_re = re.compile('\s*#include\s*["<]([^">]*)[">].*')
+
class toolchain_makefile():
def __init__(self, CTRInstance):
self.CTRInstance = CTRInstance
- self.md5key = None
+ self.md5key = None
self.buildpath = None
self.SetBuildPath(self.CTRInstance._getBuildPath())
@@ -66,7 +69,7 @@
def concat_deps(self, bn):
# read source
- src = open(os.path.join(self.buildpath, bn),"r").read()
+ src = open(os.path.join(self.buildpath, bn), "r").read()
# update direct dependencies
deps = []
for l in src.splitlines():
@@ -74,16 +77,16 @@
if res is not None:
depfn = res.groups()[0]
if os.path.exists(os.path.join(self.buildpath, depfn)):
- #print bn + " depends on "+depfn
+ # print bn + " depends on "+depfn
deps.append(depfn)
# recurse through deps
# TODO detect cicular deps.
return reduce(operator.concat, map(self.concat_deps, deps), src)
def build(self):
- srcfiles= []
+ srcfiles = []
cflags = []
- wholesrcdata = ""
+ wholesrcdata = ""
for Location, CFilesAndCFLAGS, DoCalls in self.CTRInstance.LocationCFilesAndCFLAGS:
# Get CFiles list to give it to makefile
for CFile, CFLAGS in CFilesAndCFLAGS:
@@ -92,7 +95,7 @@
srcfiles.append(CFileName)
if CFLAGS not in cflags:
cflags.append(CFLAGS)
-
+
oldmd5 = self.md5key
self.md5key = hashlib.md5(wholesrcdata).hexdigest()
@@ -101,28 +104,26 @@
f.write(self.md5key)
f.close()
- if oldmd5 != self.md5key :
+ if oldmd5 != self.md5key:
target = self.CTRInstance.GetTarget().getcontent()
beremizcommand = {"src": ' '.join(srcfiles),
"cflags": ' '.join(cflags),
"md5": self.md5key,
- "buildpath": self.buildpath
- }
-
- # clean sequence of multiple whitespaces
+ "buildpath": self.buildpath}
+
+ # clean sequence of multiple whitespaces
cmd = re.sub(r"[ ]+", " ", target.getCommand().strip())
- command = [ token % beremizcommand for token in cmd.split(' ')]
+ command = [token % beremizcommand for token in cmd.split(' ')]
# Call Makefile to build PLC code and link it with target specific code
status, result, err_result = ProcessLogger(self.CTRInstance.logger,
command).spin()
- if status :
+ if status:
self.md5key = None
self.CTRInstance.logger.write_error(_("C compilation failed.\n"))
return False
return True
- else :
+ else:
self.CTRInstance.logger.write(_("Source didn't change, no build.\n"))
return True
-