Added build all command.
This commit is contained in:
		
							parent
							
								
									250930c977
								
							
						
					
					
						commit
						e12f82b6cc
					
				
					 3 changed files with 16 additions and 8 deletions
				
			
		|  | @ -39,10 +39,9 @@ def gen(out: TextIO, context: Context): | ||||||
| 
 | 
 | ||||||
|     writer.separator("Components") |     writer.separator("Components") | ||||||
| 
 | 
 | ||||||
|     for instance in context.instances: |     all: list[str] = [] | ||||||
|         if not instance.enabled: |  | ||||||
|             continue |  | ||||||
| 
 | 
 | ||||||
|  |     for instance in context.enabledInstances(): | ||||||
|         objects = instance.objsfiles(context) |         objects = instance.objsfiles(context) | ||||||
|         writer.comment(f"Component: {instance.manifest.id}") |         writer.comment(f"Component: {instance.manifest.id}") | ||||||
|         writer.comment(f"Resolved: {', '.join(instance.resolved)}") |         writer.comment(f"Resolved: {', '.join(instance.resolved)}") | ||||||
|  | @ -76,8 +75,14 @@ def gen(out: TextIO, context: Context): | ||||||
|             writer.build(instance.binfile(context), "ld", |             writer.build(instance.binfile(context), "ld", | ||||||
|                          list(map(lambda o: o[1], objects)) + libraries) |                          list(map(lambda o: o[1], objects)) + libraries) | ||||||
| 
 | 
 | ||||||
|  |             all.append(instance.binfile(context)) | ||||||
|  | 
 | ||||||
|         writer.newline() |         writer.newline() | ||||||
| 
 | 
 | ||||||
|  |     writer.separator("Phony targets") | ||||||
|  | 
 | ||||||
|  |     writer.build("all", "phony", all) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| def build(componentSpec: str, targetSpec: str, props: Props = {}) -> str: | def build(componentSpec: str, targetSpec: str, props: Props = {}) -> str: | ||||||
|     context = contextFor(targetSpec, props) |     context = contextFor(targetSpec, props) | ||||||
|  |  | ||||||
|  | @ -71,9 +71,9 @@ def buildCmd(args: Args): | ||||||
|     componentSpec = args.consumeArg() |     componentSpec = args.consumeArg() | ||||||
| 
 | 
 | ||||||
|     if componentSpec is None: |     if componentSpec is None: | ||||||
|         raise Exception("Component not specified") |         builder.buildAll(targetSpec) | ||||||
| 
 |     else: | ||||||
|     builder.build(componentSpec, targetSpec) |         builder.build(componentSpec, targetSpec) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| cmds += [Cmd("b", "build", "Build the target", buildCmd)] | cmds += [Cmd("b", "build", "Build the target", buildCmd)] | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| from typing import cast, Protocol | from typing import cast, Protocol, Iterable | ||||||
| from pathlib import Path | from pathlib import Path | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -71,6 +71,9 @@ class Context(IContext): | ||||||
|     instances: list[ComponentInstance] |     instances: list[ComponentInstance] | ||||||
|     tools: Tools |     tools: Tools | ||||||
| 
 | 
 | ||||||
|  |     def enabledInstances(self) -> Iterable[ComponentInstance]: | ||||||
|  |         return filter(lambda x: x.enabled, self.instances) | ||||||
|  | 
 | ||||||
|     def __init__(self, target: TargetManifest, instances: list[ComponentInstance], tools: Tools): |     def __init__(self, target: TargetManifest, instances: list[ComponentInstance], tools: Tools): | ||||||
|         self.target = target |         self.target = target | ||||||
|         self.instances = instances |         self.instances = instances | ||||||
|  | @ -84,7 +87,7 @@ class Context(IContext): | ||||||
| 
 | 
 | ||||||
|     def cincls(self) -> list[str]: |     def cincls(self) -> list[str]: | ||||||
|         includes = list( |         includes = list( | ||||||
|             map(lambda x: x.cinclude(), self.instances)) |             map(lambda x: x.cinclude(), self.enabledInstances())) | ||||||
|         return utils.uniq(includes) |         return utils.uniq(includes) | ||||||
| 
 | 
 | ||||||
|     def cdefs(self) -> list[str]: |     def cdefs(self) -> list[str]: | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue