12345678910111213141516171819202122232425262728293031323334353637383940 |
- # Generates the contents of "components_defs.mk".
- from components import (
- EmulationCore, iterBuildableComponents, iterComponents,
- requiredLibrariesFor
- )
- from makeutils import extractMakeVariables
- from outpututils import rewriteIfChanged
- import sys
- def iterComponentDefs(probeMakePath):
- probeVars = extractMakeVariables(probeMakePath)
- yield '# Automatically generated by build process.'
- yield ''
- yield 'LIBRARY_COMPILE_FLAGS:='
- yield 'LIBRARY_LINK_FLAGS:='
- for libName in requiredLibrariesFor(iterBuildableComponents(probeVars)):
- yield '# %s' % libName
- yield 'LIBRARY_COMPILE_FLAGS+=' + probeVars.get(libName + '_CFLAGS', '')
- yield 'LIBRARY_LINK_FLAGS+=' + probeVars.get(libName + '_LDFLAGS', '')
- yield ''
- for component in iterComponents():
- yield 'COMPONENT_%s:=%s' % (
- component.makeName,
- str(component.canBuild(probeVars)).lower()
- )
- if len(sys.argv) == 3:
- rewriteIfChanged(sys.argv[1], iterComponentDefs(sys.argv[2]))
- else:
- print(
- 'Usage: python3 components2defs.py COMPONENTS_DEFS PROBE_MAKE',
- file=sys.stderr
- )
- sys.exit(2)
|