Instead of compiling the different source files into object files
and then linking those, we switch to compiling the binaries in a
single go. This fixes some dependency tracking issues. Speed is not
an issue since the files are relatively small.
Additional changes:
We also split out the build configs (path and CFLAGS) into a
default_config.inc and user_config.inc file that are included
from the main Makefile.
The user_config.inc file serves as a documentation as all lines
are commented out. It's still part of .gitignore, so that changes
aren't picked up by default.
Only one i2c type is built from the all target (depending on
CONFIG_I2C_TYPE).
The user has the option of providing a custom user_config.inc
to further customize the build.
Updated Circle CI script to build both the empty stubs and the
Linux user space sample implementation for both hw_i2c and
sw_i2c.
Instead of compiling the different source files into object files and then linking those, we switch to compiling the binaries in a single go. This fixes some dependency tracking issues. Speed is not an issue since the files are relatively small.
Additional changes:
We also split out the build configs (path and CFLAGS) into a default_config.inc and user_config.inc file that are included from the main Makefile. The
user_config.inc
file serves as a documentation as all lines are commented out. It's still part of .gitignore, so that changes aren't picked up by default.Only one i2c type is built from the
all
target (depending onCONFIG_I2C_TYPE
).The user has the option of providing a custom
user_config.inc
to further customize the build.Updated Circle CI script to build both the empty stubs and the Linux user space sample implementation for both hw_i2c and sw_i2c.