As a follow up to c461e20df3 ("make: Remove version from build output
path"), only support building a single version of a single board by
default. The build directory can still be specified by passing `BUILD`.
Fixes running the `clean` target when `BUILD` is a custom value or
`BOARD` isn't set.
Fixes: b03c960b4f ("make: Reduce build output")
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Default to silent builds, only outputting the file being generated. This
gives output similar to Linux/coreboot output when building. `VERBOSE=1`
can be passed to show the actual commands.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
SDCC supports the `-MMD` option. Use it instead of having every file
depend on *all* the headers. Reduces incremental build time after
modifying headers as it will now only rebuild the actual dependents and
not the entire project.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Replace use of wildcard with list of source files to include. The `-y`
suffix is added, but has no significance since conditional compilation
has not been added yet.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Replace custom SDCC tool with the more standard binutils tool.
scratch.rom and flash.rom are different (no unnecessary padding), but
resulting ec.rom is the same.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
ROMs produced of Pop!_OS 20.10 and Fedora 33 with SDCC 4.0.0 cause
uecflash to crash after verifying the block write, leaving the system
unbootable until all power is removed to force an EC reset.
Sorting object files appears to resolve this issue, creates a smaller
binary (~200 bytes from 20.04), and gives up more reproducible builds.
* Move configuration for battery into board.mk
* lemp9: remove tcpm code
* Move touchpad to its own module
* Add kbled_reset to all platforms, move items to run on CPU reset to a function
* Add defines for battery and charger address
* Add I2C_0 export to it5570e
* Move common system76 board functions into src/board/system76/common