diff -r 31e63e25b4cc -r 64beb9e9c749 targets/toolchain_makefile.py --- 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 -