From 104d65113d4a73e4f38cc976e70a3afeb743d52a Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Tue, 5 Jan 2021 02:49:30 -0600 Subject: [PATCH] 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. --- .github/workflows/test.yml | 14 +------------- Makefile | 4 ++-- scripts/test.py | 7 +++++-- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d49e839..7966784 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -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 \ diff --git a/Makefile b/Makefile index 1aa5dbc..763a0ce 100644 --- a/Makefile +++ b/Makefile @@ -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) diff --git a/scripts/test.py b/scripts/test.py index 8f49791..0ffcb7f 100755 --- a/scripts/test.py +++ b/scripts/test.py @@ -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