diff options
Diffstat (limited to 'Makefile.in')
-rw-r--r-- | Makefile.in | 54 |
1 files changed, 25 insertions, 29 deletions
diff --git a/Makefile.in b/Makefile.in index 04c5110..7e0379e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,6 +1,6 @@ .POSIX: CC = c99 -CFLAGS = -std=c99 -Wall -Wextra -Wpedantic +CFLAGS = -std=c99 -Wall -Wextra -Wpedantic -DVERSION='"$(VERSION)"' -DDATE='"$(DATE)"' LDFLAGS = LDLIBS = PREFIX = @PREFIX@ @@ -8,40 +8,30 @@ MANPREFIX = $(PREFIX)/share/man VERSION = @VERSION@ DATE = @DATE@ -headers = \ - src/vendor/sharedc/testing.h - -sources = \ - src/remembering.c +sources = src/remembering.c manpages = \ doc/remembering.1 \ doc/remembering.5 -.SUFFIXES: .c .o .t .t-fallible - -.c.o: - $(CC) -c $(CFLAGS) $(LDFLAGS) - -.c.t: - $(CC) $(CFLAGS) $(LDFLAGS) -DTEST -o $@ $< $(LDLIBS) - -.c.t-fallible: - $(CC) $(CFLAGS) $(LDFLAGS) -DTEST -DFALLIBLE -o $@ $< $(LDLIBS) -lfallible - -objects = $(sources:.c=.o) -tests = $(sources:.c=.t) -fallible-tests = $(sources:.c=.t-fallible) - -all: $(tests) remembering +all: remembering remembering-c run-tests remembering: src/remembering.in $(do_subst) < $? > $@-t chmod +x $@-t mv $@-t $@ +remembering-c: $(sources) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(sources) $(LDLIBS) + +run-tests: $(sources) + $(CC) $(CFLAGS) $(LDFLAGS) -DTEST -o $@ $(sources) $(LDLIBS) + +fallible-tests: $(sources) + $(CC) $(CFLAGS) $(LDFLAGS) -DTEST -DFALLIBLE -o $@ $(sources) $(LDLIBS) + check: all - for t in $(tests); do echo $$t && ./$$t; done + ./run-tests sh tests/cli-opts.sh sh tests/ranking.sh sh tests/signals.sh @@ -50,8 +40,16 @@ check: all $(MAKE) dev-check; \ fi -dev-check: $(fallible-tests) - for t in $(fallible-tests); do fallible-check ./$$t; done +VALGRIND_FLAGS= \ + --show-error-list=yes \ + --show-leak-kinds=all \ + --leak-check=full \ + --track-origins=yes \ + --error-exitcode=1 + +dev-check: run-tests fallible-tests + valgrind $(VALGRIND_FLAGS) ./run-tests + fallible-check ./fallible-tests sh aux/assert-clang-format.sh sh aux/assert-shellcheck.sh sh aux/workflow/assert-todos.sh @@ -70,7 +68,7 @@ dist: git tag v$(VERSION) clean: - rm -rf public/ tests/test-profiles/ remembering $(tests) $(fallible-tests) + rm -rf public/ tests/test-profiles/ remembering remembering-c run-tests fallible* vgcore* do_subst = sed \ -e 's:[@]VERSION[@]:$(VERSION):g' \ @@ -85,9 +83,7 @@ install: all done uninstall: - rm -f $(DESTDIR)$(PREFIX)/bin/remembering \ - $(DESTDIR)$(MANPREFIX)/man1/remembering.1 \ - $(DESTDIR)$(MANPREFIX)/man5/remembering.5 + rm -f $(DESTDIR)$(PREFIX)/bin/remembering for m in $(manpages); do rm -f $(DESTDIR)$(MANPREFIX)/man$${##*.}/`basename $$m`.gz; done NAME_UC = Remembering |