diff options
| author | Randy Palamar <palamar@ualberta.ca> | 2023-07-29 10:21:44 -0600 |
|---|---|---|
| committer | Randy Palamar <palamar@ualberta.ca> | 2023-08-16 08:54:48 -0600 |
| commit | 4360440862bd50525cafdcdc1a4224a1616ab486 (patch) | |
| tree | fc025a45183faca237c4bab14da666fcafeb3074 | |
| parent | 711447afd4a7857d1ecb173893009924b07d4993 (diff) | |
| download | vis-4360440862bd50525cafdcdc1a4224a1616ab486.tar.gz vis-4360440862bd50525cafdcdc1a4224a1616ab486.tar.xz | |
build: support incremental rebuilds
| -rw-r--r-- | .github/workflows/macos.yml | 1 | ||||
| -rw-r--r-- | .github/workflows/ubuntu.yml | 1 | ||||
| -rw-r--r-- | .github/workflows/windows.yml.NOACTIVE | 1 | ||||
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Makefile | 24 | ||||
| -rwxr-xr-x | configure | 2 |
6 files changed, 22 insertions, 8 deletions
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 54efd11..6fc017a 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -18,6 +18,7 @@ jobs: runs-on: ${{ matrix.os }} env: CFLAGS_EXTRA: --coverage + LDFLAGS_EXTRA: --coverage steps: - name: Checkout diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 9baf89c..01132a4 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -20,6 +20,7 @@ jobs: runs-on: ${{ matrix.os }} env: CFLAGS_EXTRA: --coverage + LDFLAGS_EXTRA: --coverage steps: - name: Checkout diff --git a/.github/workflows/windows.yml.NOACTIVE b/.github/workflows/windows.yml.NOACTIVE index 766a472..3b3d982 100644 --- a/.github/workflows/windows.yml.NOACTIVE +++ b/.github/workflows/windows.yml.NOACTIVE @@ -16,6 +16,7 @@ jobs: runs-on: ${{ matrix.os }} env: CFLAGS_EXTRA: --coverage + LDFLAGS_EXTRA: --coverage steps: - name: Dependency @@ -12,3 +12,4 @@ *.gcov *.html *.o +*.d @@ -27,6 +27,7 @@ SRC = array.c \ vis-registers.c \ vis-text-objects.c \ $(REGEX_SRC) +OBJ = $(SRC:.c=.o) ELF = vis vis-menu vis-digraph EXECUTABLES = $(ELF) vis-clipboard vis-complete vis-open @@ -45,7 +46,7 @@ CONFIG_TRE ?= 0 CONFIG_ACL ?= 0 CONFIG_SELINUX ?= 0 -CFLAGS_STD ?= -std=c99 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DNDEBUG +CFLAGS_STD ?= -std=c99 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DNDEBUG -MMD CFLAGS_STD += -DVERSION=\"${VERSION}\" LDFLAGS_STD ?= -lc @@ -73,20 +74,29 @@ DOCKER?=docker all: $(ELF) +.c.o: + ${CC} ${CFLAGS} ${CFLAGS_VIS} ${CFLAGS_EXTRA} -o $@ -c $< + config.h: cp config.def.h config.h config.mk: @touch $@ -vis: config.h config.mk *.c *.h - ${CC} ${CFLAGS} ${CFLAGS_VIS} ${CFLAGS_EXTRA} ${SRC} ${LDFLAGS} ${LDFLAGS_VIS} -o $@ +main.o: config.h + +$(OBJ): config.mk + +-include *.d + +vis: ${OBJ} + ${CC} -o $@ ${OBJ} ${LDFLAGS} ${LDFLAGS_VIS} ${LDFLAGS_EXTRA} vis-menu: vis-menu.c - ${CC} ${CFLAGS} ${CFLAGS_AUTO} ${CFLAGS_STD} ${CFLAGS_EXTRA} $< ${LDFLAGS} ${LDFLAGS_STD} ${LDFLAGS_AUTO} -o $@ + ${CC} ${CFLAGS} ${CFLAGS_AUTO} ${CFLAGS_STD} ${CFLAGS_EXTRA} $< ${LDFLAGS} ${LDFLAGS_STD} ${LDFLAGS_AUTO} ${LDFLAGS_EXTRA} -o $@ vis-digraph: vis-digraph.c - ${CC} ${CFLAGS} ${CFLAGS_AUTO} ${CFLAGS_STD} ${CFLAGS_EXTRA} $< ${LDFLAGS} ${LDFLAGS_STD} ${LDFLAGS_AUTO} -o $@ + ${CC} ${CFLAGS} ${CFLAGS_AUTO} ${CFLAGS_STD} ${CFLAGS_EXTRA} $< ${LDFLAGS} ${LDFLAGS_STD} ${LDFLAGS_AUTO} ${LDFLAGS_EXTRA} -o $@ vis-single-payload.inc: $(EXECUTABLES) lua/* for e in $(ELF); do \ @@ -132,7 +142,7 @@ profile: clean @$(MAKE) CFLAGS_AUTO='' LDFLAGS_AUTO='' CFLAGS_EXTRA='-pg -O2' coverage: clean - @$(MAKE) CFLAGS_EXTRA='--coverage' + @$(MAKE) CFLAGS_EXTRA='--coverage' LDFLAGS_EXTRA='--coverage' test-update: git submodule init @@ -148,7 +158,7 @@ testclean: clean: @echo cleaning - @rm -f $(ELF) vis-single vis-single-payload.inc vis-*.tar.gz *.gcov *.gcda *.gcno + @rm -f $(ELF) $(OBJ) vis-single vis-single-payload.inc vis-*.tar.gz *.gcov *.gcda *.gcno *.d distclean: clean testclean @echo cleaning build configuration @@ -220,7 +220,7 @@ tryflag CFLAGS_TRY -Werror=unused-command-line-argument tryldflag LDFLAGS_TRY -Werror=unknown-warning-option tryldflag LDFLAGS_TRY -Werror=unused-command-line-argument -CFLAGS_STD="-std=c99 -D_POSIX_C_SOURCE=200809L -U_XOPEN_SOURCE -D_XOPEN_SOURCE=700 -DNDEBUG" +CFLAGS_STD="-std=c99 -D_POSIX_C_SOURCE=200809L -U_XOPEN_SOURCE -D_XOPEN_SOURCE=700 -DNDEBUG -MMD" LDFLAGS_STD="-lc" OS=$(uname) |
