targets/toolchain_gcc.py
changeset 1847 6198190bc121
parent 1846 14b40afccd69
child 1881 091005ec69c4
equal deleted inserted replaced
1846:14b40afccd69 1847:6198190bc121
   141         # TODO detect cicular deps.
   141         # TODO detect cicular deps.
   142         return reduce(operator.and_, map(self.check_and_update_hash_and_deps, deps), match)
   142         return reduce(operator.and_, map(self.check_and_update_hash_and_deps, deps), match)
   143 
   143 
   144     def calc_source_md5(self):
   144     def calc_source_md5(self):
   145         wholesrcdata = ""
   145         wholesrcdata = ""
   146         for Location, CFilesAndCFLAGS, DoCalls in self.CTRInstance.LocationCFilesAndCFLAGS:
   146         for _Location, CFilesAndCFLAGS, _DoCalls in self.CTRInstance.LocationCFilesAndCFLAGS:
   147             # Get CFiles list to give it to makefile
   147             # Get CFiles list to give it to makefile
   148             for CFile, CFLAGS in CFilesAndCFLAGS:
   148             for CFile, _CFLAGS in CFilesAndCFLAGS:
   149                 CFileName = os.path.basename(CFile)
   149                 CFileName = os.path.basename(CFile)
   150                 wholesrcdata += self.concat_deps(CFileName)
   150                 wholesrcdata += self.concat_deps(CFileName)
   151         return hashlib.md5(wholesrcdata).hexdigest()
   151         return hashlib.md5(wholesrcdata).hexdigest()
   152 
   152 
   153     def calc_md5(self):
   153     def calc_md5(self):
   162 
   162 
   163         # ----------------- GENERATE OBJECT FILES ------------------------
   163         # ----------------- GENERATE OBJECT FILES ------------------------
   164         obns = []
   164         obns = []
   165         objs = []
   165         objs = []
   166         relink = self.GetBinaryCode() is None
   166         relink = self.GetBinaryCode() is None
   167         for Location, CFilesAndCFLAGS, DoCalls in self.CTRInstance.LocationCFilesAndCFLAGS:
   167         for Location, CFilesAndCFLAGS, _DoCalls in self.CTRInstance.LocationCFilesAndCFLAGS:
   168             if CFilesAndCFLAGS:
   168             if CFilesAndCFLAGS:
   169                 if Location:
   169                 if Location:
   170                     self.CTRInstance.logger.write(".".join(map(str, Location))+" :\n")
   170                     self.CTRInstance.logger.write(".".join(map(str, Location))+" :\n")
   171                 else:
   171                 else:
   172                     self.CTRInstance.logger.write(_("PLC :\n"))
   172                     self.CTRInstance.logger.write(_("PLC :\n"))
   184                     else:
   184                     else:
   185                         relink = True
   185                         relink = True
   186 
   186 
   187                         self.CTRInstance.logger.write("   [CC]  "+bn+" -> "+obn+"\n")
   187                         self.CTRInstance.logger.write("   [CC]  "+bn+" -> "+obn+"\n")
   188 
   188 
   189                         status, result, err_result = ProcessLogger(
   189                         status, _result, _err_result = ProcessLogger(
   190                             self.CTRInstance.logger,
   190                             self.CTRInstance.logger,
   191                             "\"%s\" -c \"%s\" -o \"%s\" %s %s" %
   191                             "\"%s\" -c \"%s\" -o \"%s\" %s %s" %
   192                             (self.compiler, CFile, objectfilename, Builder_CFLAGS, CFLAGS)
   192                             (self.compiler, CFile, objectfilename, Builder_CFLAGS, CFLAGS)
   193                         ).spin()
   193                         ).spin()
   194 
   194 
   211 
   211 
   212             ALLldflags = ' '.join(self.getBuilderLDFLAGS())
   212             ALLldflags = ' '.join(self.getBuilderLDFLAGS())
   213 
   213 
   214             self.CTRInstance.logger.write("   [CC]  " + ' '.join(obns)+" -> " + self.exe + "\n")
   214             self.CTRInstance.logger.write("   [CC]  " + ' '.join(obns)+" -> " + self.exe + "\n")
   215 
   215 
   216             status, result, err_result = ProcessLogger(
   216             status, _result, _err_result = ProcessLogger(
   217                 self.CTRInstance.logger,
   217                 self.CTRInstance.logger,
   218                 "\"%s\" %s -o \"%s\" %s" %
   218                 "\"%s\" %s -o \"%s\" %s" %
   219                 (self.linker,
   219                 (self.linker,
   220                  listobjstring,
   220                  listobjstring,
   221                  self.exe_path,
   221                  self.exe_path,