pymakelib package¶
Submodules¶
pymakelib.armsize module¶
-
class
pymakelib.armsize.ItemSizeStat(name, size, addr)¶ Bases:
object-
getAddr()¶
-
getSize()¶
-
string()¶
-
-
pymakelib.armsize.getSizeAddr(line)¶
-
pymakelib.armsize.main(argv)¶
-
pymakelib.armsize.printKB(value, decimals=1)¶
-
pymakelib.armsize.printPrtg(value, decimals=1)¶
pymakelib.eclipse_addon module¶
-
class
pymakelib.eclipse_addon.EclipseAddon(projectSettings, compilerSettings)¶ Bases:
pymakelib.addon.AddonAbstractGenerate Eclipse cproject files.
-
generateCProject()¶
-
generateLanguageSettings()¶
-
init()¶
-
pymakelib.eclipse_cproject module¶
-
pymakelib.eclipse_cproject.generate_cproject(listconf: dict)¶
-
pymakelib.eclipse_cproject.generate_languageSettings(compilerSettings: dict)¶
-
pymakelib.eclipse_cproject.writeXmlExcluding(excList)¶
-
pymakelib.eclipse_cproject.writeXmlIncludes(incList)¶
-
pymakelib.eclipse_cproject.writeXmlSymbols(symList)¶
pymakelib.eclipse_files module¶
pymakelib.exclude module¶
pymakelib.git module¶
-
pymakelib.git.getBranchName()¶
-
pymakelib.git.getCommitHash(abbreviated=True)¶
-
pymakelib.git.getDescribe(options='--long')¶
-
pymakelib.git.printRelativePath(filemacro)¶
pymakelib.make_files module¶
pymakelib.module module¶
-
class
pymakelib.module.AbstractModule¶ Bases:
abc.ABCAbstract class of pymaketool module
Parameters: path (str) – path to module, _mk.py file. -
path¶ path of module
Type: str
-
findIncs(inc_type: pymakelib.module.IncType) → list¶ Util method for find includes in module path
Parameters: inc_type (IncType) – Type of includes C or CPP Returns: list of includes paths realtive to project Return type: list
-
findSrcs(src_type: pymakelib.module.SrcType) → list¶ Util method for find sources in module path
Parameters: src_type (SrcType) – Type of sources C, CPP or ASM Returns: list of sources paths realtive to project Return type: list
-
getAllIncsC() → list¶ Ütil method for get all includes in module, type C
Returns: list of includes paths realtive to project Return type: list
-
getAllSrcsC() → list¶ Util method for get all sources in module, type C
Returns: list of sources paths realtive to project Return type: list
-
getCompilerOpts()¶ Get special compiler options for module
-
getIncs() → list¶ Abstract method to get the includes paths of module
Returns: list of includes paths realtive to project Return type: list
-
getSrcs() → list¶ Abstract method to get the sources paths of module
Returns: list of sources paths realtive to project Return type: list
-
get_module_name() → str¶ Module name
Returns: name of module (default: class name) Return type: str
-
get_path()¶ Get path of module in filesystem
Returns: path (default: self.__module__.module_name) Return type: str
-
init()¶ Initialization of module
-
-
class
pymakelib.module.BasicCModule¶ Bases:
pymakelib.module.AbstractModuleBasic C module, find all sources and includes in module path
Parameters: path (str) – path to module, _mk.py file. -
getIncs() → list¶ return list with all includes in module path
Returns: includes path Return type: list
-
getSrcs() → list¶ Return list with all sources in module path
Returns: sources paths Return type: list
-
-
class
pymakelib.module.CompilerOptions(opts: dict)¶ Bases:
object-
addOption(key, value)¶
-
setOption(key, value)¶
-
-
class
pymakelib.module.ExternalModule¶ Bases:
pymakelib.module.AbstractModuleThe ExternalModule object that inherits from AbstractModule for include external pymaketool module
Parameters: path (str) – path to module, _mk.py file. -
remoteModule¶ remote module object.
Type: AbstractModule
Raises: AttributeError– path is not valid-
getCompilerOpts()¶ Call and return getCompilerOpts from remote module
Returns: compiler options Return type: disct
-
getIncs()¶ Call and return getIncs from remote module
Returns: list of includes Return type: list
-
getModulePath() → str¶ Abstract methos to get string path of external module
Returns: path of external module Return type: str
-
getSrcs()¶ Call and return getSrcs from remote module
Returns: list of sources Return type: list
-
init()¶ Call and return init from remote module
Returns: may be StaticLibrary object or None Return type: object
-
-
class
pymakelib.module.GCC_CompilerOpts(copts)¶ Bases:
pymakelib.module.CompilerOptions-
addGeneralOpt(opts: list)¶
-
addMacroOpts(macro, value=None)¶
-
getMacroValue(macro)¶
-
isDefine(macro)¶
-
isMacroValue(macro, value)¶
-
setControlCOpts(opts: list)¶
-
setDebuggingOpts(opts: list)¶
-
setOptimizationOpts(opts: list)¶
-
setWarningdOpts(opts: list)¶
-
-
class
pymakelib.module.Module(srcs, incs, flags, filename, staticLib: pymakelib.module.StaticLibrary = None)¶ Bases:
object-
getDirs()¶
-
isEmpty()¶
-
-
pymakelib.module.ModuleClass(clazz)¶ Add class to modules of pymaketool
Parameters: clazz (class) – Class inheritance of Module.AbstractModule
-
class
pymakelib.module.ModuleHandle(modDir, gCompOpts, goal=None)¶ Bases:
object-
getAllIncs(incType: pymakelib.module.IncType)¶
-
getAllIncsC()¶
-
getAllSrcs(srcType: pymakelib.module.SrcType)¶
-
getAllSrcsC()¶
-
getFileByNames(names)¶
-
getFilesByRegex(regexs, relativePath=None)¶
-
getGeneralCompilerOpts()¶
-
getGoal()¶
-
getRelaptivePath()¶
-
getSrcsByPath(srcs)¶
-
getWorkspace()¶
-
initGitModule= DeprecationWarning(<function ModuleHandle.initGitModule>)¶
-
-
class
pymakelib.module.POJOModule(path)¶ Bases:
pymakelib.module.AbstractModule-
getCompilerOpts()¶ Get special compiler options for module
-
getIncs() → list¶ Abstract method to get the includes paths of module
Returns: list of includes paths realtive to project Return type: list
-
getSrcs() → list¶ Abstract method to get the sources paths of module
Returns: list of sources paths realtive to project Return type: list
-
init()¶ Initialization of module
-
-
class
pymakelib.module.SrcType¶ Bases:
object-
ASM= ['.s', '.S', '.asm']¶
-
C= ['.c']¶
-
CPP= ['.C', '.cc', '.cpp', '.CPP', '.c++', '.cp', '.cxx']¶
-
-
class
pymakelib.module.StaticLibrary(name: str, outputDir: str, rebuild=False, lib_linked_opts=None, orden=1)¶ Bases:
object-
rebuildByCheckStr(checkStr: str)¶
-
setRebuild(rebuild: bool)¶
-
-
class
pymakelib.module.StaticLibraryModule¶ Bases:
object-
decorate_module()¶
-
get_command(key) → str¶
-
get_lib_name() → str¶
-
get_lib_outputdir() → str¶
-
get_linker(key) → str¶
-
get_linker_opts() → str¶
-
get_objects(key) → str¶
-
get_order()¶
-
get_rebuild()¶
-
get_rule(key) → str¶
-
-
pymakelib.module.cleanModuleInstance()¶
-
pymakelib.module.getModuleInstance() → pymakelib.module.AbstractModule¶
pymakelib.moduleignore module¶
-
pymakelib.moduleignore.readIgnoreFile(file=PosixPath('.moduleignore'))¶
-
pymakelib.moduleignore.writeIgnoreFile(ignoreList: list, file=PosixPath('.moduleignore'))¶
pymakelib.preconts module¶
pymakelib.prelib module¶
-
pymakelib.prelib.add_value2list(dstList: list, values)¶
-
pymakelib.prelib.compilerOptsByModuleToLine(compOpts)¶
-
pymakelib.prelib.list2str(l)¶
-
pymakelib.prelib.macrosDictToString(macros)¶
-
pymakelib.prelib.overrideFile(outfile)¶
-
pymakelib.prelib.readGenHeader(headerpath)¶
-
pymakelib.prelib.readModule(modPath, compilerOpts, goals=None)¶
-
pymakelib.prelib.read_Makefilepy(workpath='')¶
-
pymakelib.prelib.read_Makefilepy_obj(workpath='') → pymakelib.AbstractMake¶
-
pymakelib.prelib.read_module(module_path: pathlib.Path, compiler_opts, goals=None) → List[pymakelib.module.AbstractModule]¶
-
pymakelib.prelib.tmp_file_name(file_path: str)¶
-
pymakelib.prelib.wprGetCompilerOpts(mod, modHandle, moduleInstance=None)¶
-
pymakelib.prelib.wprGetIncs(mod, modHandle, moduleInstance=None)¶
-
pymakelib.prelib.wprGetSrcs(mod, modHandle, moduleInstance=None)¶
-
pymakelib.prelib.wprInit(mod, modHandle, moduleInstance=None)¶
pymakelib.preutil module¶
-
pymakelib.preutil.copyFile(file_path_from, file_path_to)¶
-
pymakelib.preutil.getAllIncs(wkmh, incType: pymakelib.module.IncType)¶
-
pymakelib.preutil.getAllIncs_C(wkmh)¶
-
pymakelib.preutil.getAllSrcs(wkmh, srcType: pymakelib.module.SrcType)¶
-
pymakelib.preutil.getAllSrcs_C(wkmh)¶
-
pymakelib.preutil.getFileHash(file_path: str)¶
-
pymakelib.preutil.getSrcsByRgx(wkmh, *regexs)¶
pymakelib.printsrc module¶
-
class
pymakelib.printsrc.bcolors¶ Bases:
object-
BOLD= '\x1b[1m'¶
-
CBEIGE= '\x1b[36m'¶
-
CBEIGE2= '\x1b[96m'¶
-
CBEIGEBG= '\x1b[46m'¶
-
CBEIGEBG2= '\x1b[106m'¶
-
CBLACK= '\x1b[30m'¶
-
CBLACKBG= '\x1b[40m'¶
-
CBLINK= '\x1b[5m'¶
-
CBLINK2= '\x1b[6m'¶
-
CBLUE= '\x1b[34m'¶
-
CBLUE2= '\x1b[94m'¶
-
CBLUEBG= '\x1b[44m'¶
-
CBLUEBG2= '\x1b[104m'¶
-
CBOLD= '\x1b[1m'¶
-
CEND= '\x1b[0m'¶
-
CGREEN= '\x1b[32m'¶
-
CGREEN2= '\x1b[92m'¶
-
CGREENBG= '\x1b[42m'¶
-
CGREENBG2= '\x1b[102m'¶
-
CGREY= '\x1b[90m'¶
-
CGREYBG= '\x1b[100m'¶
-
CITALIC= '\x1b[3m'¶
-
CRED= '\x1b[31m'¶
-
CRED2= '\x1b[91m'¶
-
CREDBG= '\x1b[41m'¶
-
CREDBG2= '\x1b[101m'¶
-
CSELECTED= '\x1b[7m'¶
-
CURL= '\x1b[4m'¶
-
CVIOLET= '\x1b[35m'¶
-
CVIOLET2= '\x1b[95m'¶
-
CVIOLETBG= '\x1b[45m'¶
-
CVIOLETBG2= '\x1b[105m'¶
-
CWHITE= '\x1b[37m'¶
-
CWHITE2= '\x1b[97m'¶
-
CWHITEBG= '\x1b[47m'¶
-
CWHITEBG2= '\x1b[107m'¶
-
CYELLOW= '\x1b[33m'¶
-
CYELLOW2= '\x1b[93m'¶
-
CYELLOWBG= '\x1b[43m'¶
-
CYELLOWBG2= '\x1b[103m'¶
-
ENDC= '\x1b[0m'¶
-
FAIL= '\x1b[91m'¶
-
HEADER= '\x1b[95m'¶
-
OKBLUE= '\x1b[94m'¶
-
OKGREEN= '\x1b[92m'¶
-
UNDERLINE= '\x1b[4m'¶
-
WARNING= '\x1b[93m'¶
-
-
pymakelib.printsrc.colorSrc(pathsrc)¶
pymakelib.project module¶
-
pymakelib.project.define(key) → str¶ Get value of define if exist.
Parameters: key (str) – name of define (macro) Returns: value of define in string, if define value is None return ‘’,if key is not defined return None Return type: str
-
pymakelib.project.getCompilerOpts() → dict¶ Get the project compiler options
Returns: General project compiler options Return type: dict
-
pymakelib.project.getSettings()¶
-
pymakelib.project.get_base_build() → str¶ Get base build folder
Returns: base build folder Return type: str
-
pymakelib.project.isdefined(key) → bool¶ Check if project have define.
Parameters: key (str or D) – name of define or macro Returns: True if key is defined Return type: bool
-
pymakelib.project.setSettings(settings)¶
pymakelib.pycodegen module¶
-
pymakelib.pycodegen.HEADER_FILE(*args, **kwargs)¶
-
pymakelib.pycodegen.comment(value: str)¶
-
pymakelib.pycodegen.enum(names, values=[0])¶
-
pymakelib.pycodegen.enum_sf(strformat, range, init=0)¶
-
pymakelib.pycodegen.enum_str_map(name, strdict: dict)¶
-
pymakelib.pycodegen.out(value)¶
pymakelib.toolchain module¶
-
pymakelib.toolchain.confARMeabiGCC(binLocation='', prefix='arm-none-eabi-', extIncludes=[])¶
-
pymakelib.toolchain.confGCC(binLocation='', prefix='', extIncludes=[], iscpp=False)¶
-
pymakelib.toolchain.confLinuxGCC(binLocation='', extIncludes=[])¶
-
pymakelib.toolchain.confToolchain(cmd_gcc, cmd_gxx, cmd_ld, cmd_ar, cmd_as, cmd_objcopy, cmd_size, cmd_objdump, cmd_nm, cmd_ranlib, cmd_strings, cmd_strip, cmd_cxxfilt, cmd_addr2line, cmd_readelf, cmd_elfedit, includes)¶
-
pymakelib.toolchain.getGCCHeaderFiles(cmd_gcc)¶
-
pymakelib.toolchain.get_c_linux(bin_location='', ext_incs=[]) → dict¶
-
pymakelib.toolchain.get_cpp_linux(bin_location='', ext_incs=[]) → dict¶
-
pymakelib.toolchain.get_gcc_arm_none_eabi(binLocation='', prefix='arm-none-eabi-', extIncludes=[]) → dict¶ Get dictionary with gcc compiler set of arm-none-eabi-
Parameters: - binLocation (str, optional) – Location of toolchain binary. Defaults to ‘’.
- prefix (str, optional) – prefix of ARM toolchain. Defaults to ‘arm-none-eabi-‘.
- extIncludes (list, optional) – list of external includes. Defaults to [].
Returns: set of gcc compiler e.g. {‘CC’: ‘arm-none-eabi-gcc’ … }
Return type: dict
-
pymakelib.toolchain.get_gcc_linux(bin_location='', ext_incs=[]) → dict¶ Get dictionary with gcc compiler set for linux
Parameters: - bin_location (str, optional) – location of toolchain. Defaults to ‘’.
- ext_incs (list, optional) – list of external includes. Defaults to [].
Returns: set of gcc compiler e.g. {‘CC’: ‘gcc’ … }
Return type: dict
-
pymakelib.toolchain.get_gpp_linux(bin_location='', ext_incs=[]) → dict¶ Get dictionary with g++ compiler set for linux
Parameters: - bin_location (str, optional) – location of toolchain. Defaults to ‘’.
- ext_incs (list, optional) – list of external includes. Defaults to [].
Returns: set of gcc compiler e.g. {‘CC’: ‘g++’ … }
Return type: dict
Module contents¶
-
class
pymakelib.AbstractMake¶ Bases:
abc.ABC-
getCompilerOpts(**kwargs) → dict¶
-
getCompilerSet(**kwargs) → dict¶
-
getLinkerOpts(**kwargs) → dict¶
-
getProjectSettings(**kwargs) → dict¶
-
getTargetsScript(**kwargs) → dict¶
-
-
class
pymakelib.Define(value)¶ Bases:
objectDirect define: { ‘__USE_FILE__’: D(‘file.h’) } => -D__USE_FILE__=file.h
-
getDefine()¶
-
-
class
pymakelib.Logger¶ Bases:
object-
static
getInstance()¶ Static access method.
-
static
getLogger() → logging.Logger¶
-
static
-
class
pymakelib.MKVARS¶ Bases:
object-
ADDR2LINE= '$(ADD2LINE)'¶
-
CELFEDIT= '$(ELFEDIT)'¶
-
CXXFILT= '$(CXXFILT)'¶
-
LD= '$(LD)'¶
-
LDFLAGS= '$(LDFLAGS)'¶
-
NM= '$(NM)'¶
-
OBJCOPY= '$(OBJCOPY)'¶
-
OBJECTS= '$(OBJECTS)'¶
-
PROJECT= '$(PROJECT)'¶
-
RANLIB= '$(RANLIB)'¶
-
READELF= '$(READELF)'¶
-
SIZE= '$(SIZE)'¶
-
STATIC_LIBS= '$(SLIBS_NAMES)'¶
-
STRINGS= '$(STRINGS)'¶
-
STRIP= '$(STRIP)'¶
-
TARGET= '$(TARGET)'¶
-
-
pymakelib.MOD_PATH(wk)¶
-
pymakelib.Makeclass(clazz)¶
-
class
pymakelib.Pymaketool(workpath='./')¶ Bases:
object-
getModulesPaths() → list¶
-
readModules(modulesPaths) → list¶
-
read_modules(modulesPaths) → List[pymakelib.module.AbstractModule]¶
-
-
pymakelib.getProjectInstance() → pymakelib.AbstractMake¶