vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit 4b3cbc0c9967cb5cfd5a46f1f41670ceca85c97e
parent e0a184249b1c60ff0b1afb951b50f2d92765ee27
Author: Randy Palamar <palamar@ualberta.ca>
Date:   Thu, 17 Aug 2023 15:13:14 -0600

build: don't pollute base dir with .o and .d files

some users were (rightfully) annoyed by this

Diffstat:
M.gitignore | 2+-
MMakefile | 18++++++++++--------
2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -1,6 +1,7 @@ /config.h /config.mk /dependency +/obj /vis /vis-menu /vis-single @@ -11,5 +12,4 @@ *.gcno *.gcov *.html -*.o *.d diff --git a/Makefile b/Makefile @@ -27,7 +27,7 @@ SRC = array.c \ vis-registers.c \ vis-text-objects.c \ $(REGEX_SRC) -OBJ = $(SRC:.c=.o) +OBJ = $(SRC:%.c=obj/%.o) ELF = vis vis-menu vis-digraph EXECUTABLES = $(ELF) vis-clipboard vis-complete vis-open @@ -74,20 +74,21 @@ 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 $@ -main.o: config.h +obj: + mkdir obj + +obj/main.o: config.h | obj -$(OBJ): config.mk +$(OBJ): config.mk | obj + ${CC} ${CFLAGS} ${CFLAGS_VIS} ${CFLAGS_EXTRA} -o $@ -c $(@:obj/%.o=%.c) --include *.d +-include obj/*.d vis: ${OBJ} ${CC} -o $@ ${OBJ} ${LDFLAGS} ${LDFLAGS_VIS} ${LDFLAGS_EXTRA} @@ -158,7 +159,8 @@ testclean: clean: @echo cleaning - @rm -f $(ELF) $(OBJ) vis-single vis-single-payload.inc vis-*.tar.gz *.gcov *.gcda *.gcno *.d + @rm -rf obj + @rm -f $(ELF) vis-single vis-single-payload.inc vis-*.tar.gz *.gcov *.gcda *.gcno *.d distclean: clean testclean @echo cleaning build configuration