Reduced build sources to just the core littlefs

Currently this is just lfs.c and lfs_util.c. Previously this included
the block devices, but this meant all of the scripts needed to
explicitly deselect the block devices to avoid reporting build
size/coverage info on them.

Note that test.py still explicitly adds the block devices for compiling
tests, which is their main purpose. Humorously this means the block
devices will probably be compiled into most builds in this repo anyways.
This commit is contained in:
Christopher Haster 2021-01-05 02:49:30 -06:00
parent 6d3e4ac33e
commit 104d65113d
3 changed files with 8 additions and 17 deletions

View File

@ -138,14 +138,7 @@ jobs:
# make test TESTFLAGS+="-nrk \
# -DLFS_READ_SIZE=11 -DLFS_BLOCK_SIZE=704"
# collect coverage
- name: collect-coverage
continue-on-error: true
run: |
# we only care about littlefs's actual source
lcov -e coverage/${{github.job}}-${{matrix.arch}}.info \
$(for f in lfs*.c ; do echo "/$f" ; done) \
-o coverage/${{github.job}}-${{matrix.arch}}.info
# upload coveragefor later coverage
- name: upload-coverage
continue-on-error: true
uses: actions/upload-artifact@v2
@ -159,10 +152,8 @@ jobs:
continue-on-error: true
run: |
mkdir -p results
# TODO remove the need for SRC
make clean
make code \
SRC="$(echo lfs*.c)" \
CFLAGS+=" \
-DLFS_NO_ASSERT \
-DLFS_NO_DEBUG \
@ -175,7 +166,6 @@ jobs:
mkdir -p results
make clean
make code \
SRC="$(echo lfs*.c)" \
CFLAGS+=" \
-DLFS_NO_ASSERT \
-DLFS_NO_DEBUG \
@ -189,7 +179,6 @@ jobs:
mkdir -p results
make clean
make code \
SRC="$(echo lfs*.c)" \
CFLAGS+=" \
-DLFS_NO_ASSERT \
-DLFS_NO_DEBUG \
@ -203,7 +192,6 @@ jobs:
mkdir -p results
make clean
make code \
SRC="$(echo lfs*.c)" \
CFLAGS+=" \
-DLFS_NO_ASSERT \
-DLFS_NO_DEBUG \

View File

@ -24,7 +24,7 @@ CTAGS ?= ctags
NM ?= nm
LCOV ?= lcov
SRC ?= $(wildcard *.c bd/*.c)
SRC ?= $(wildcard *.c)
OBJ := $(SRC:%.c=$(BUILDDIR)%.o)
DEP := $(SRC:%.c=$(BUILDDIR)%.d)
ASM := $(SRC:%.c=$(BUILDDIR)%.s)
@ -71,7 +71,7 @@ size: $(OBJ)
.PHONY: tags
tags:
$(CTAGS) --totals --c-types=+p $(shell find -name '*.h') $(SRC)
$(CTAGS) --totals --c-types=+p $(shell find -H -name '*.h') $(SRC)
.PHONY: code
code: $(OBJ)

View File

@ -22,17 +22,20 @@ import signal
TEST_PATHS = 'tests'
RULES = """
# add block devices to sources
TESTSRC ?= $(SRC) $(wildcard bd/*.c)
define FLATTEN
%(path)s%%$(subst /,.,$(target)): $(target)
./scripts/explode_asserts.py $$< -o $$@
endef
$(foreach target,$(SRC),$(eval $(FLATTEN)))
$(foreach target,$(TESTSRC),$(eval $(FLATTEN)))
-include %(path)s*.d
.SECONDARY:
%(path)s.test: %(path)s.test.o \\
$(foreach t,$(subst /,.,$(SRC:.c=.o)),%(path)s.$t)
$(foreach t,$(subst /,.,$(TESTSRC:.c=.o)),%(path)s.$t)
$(CC) $(CFLAGS) $^ $(LFLAGS) -o $@
# needed in case builddir is different