From e11b4db2a3bd4fea77ad67569196055f241d1649 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Tue, 23 Feb 2021 00:12:27 -0300 Subject: Use plain Makefile over ./configure + Makefile.in --- .gitignore | 1 - Makefile | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile.in | 83 ------------------------------------------------------------- configure | 42 ------------------------------- 4 files changed, 83 insertions(+), 126 deletions(-) create mode 100644 Makefile delete mode 100644 Makefile.in delete mode 100755 configure diff --git a/.gitignore b/.gitignore index 864deb7..b02b65a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ /public/ /tests/test-profiles/ -/Makefile /remembering /remembering-c /run-tests diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3688316 --- /dev/null +++ b/Makefile @@ -0,0 +1,83 @@ +.POSIX: +CC = c99 +CFLAGS = -std=c99 -Wall -Wextra -Wpedantic -fPIC -g -DVERSION='"$(VERSION)"' -DDATE='"$(DATE)"' +LDFLAGS = +LDLIBS = +PREFIX = /usr/local +MANPREFIX = $(PREFIX)/share/man +VERSION = 0.2.0 +DATE = 2021-02-21 + +sources = src/remembering.c + +manpages = \ + doc/remembering.1 \ + doc/remembering.5 + +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 + ./run-tests + sh tests/cli-opts.sh + sh tests/ranking.sh + sh tests/signals.sh + if [ -d .git ]; then \ + echo 'Assuming Git repository, running development checks.'; \ + $(MAKE) dev-check; \ + fi + +VALGRIND_FLAGS= \ + --show-error-list=yes \ + --show-leak-kinds=all \ + --leak-check=full \ + --track-origins=yes \ + --error-exitcode=1 + +dev-check: all 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 + +clean: + rm -rf public/ tests/test-profiles/ remembering remembering-c run-tests fallible* vgcore* + +do_subst = sed \ + -e 's:[@]VERSION[@]:$(VERSION):g' \ + -e 's:[@]DATE[@]:$(DATE):g' + +install: all + install -m 755 -D remembering $(DESTDIR)$(PREFIX)/bin/remembering + for m in $(manpages); do \ + n=$${m##*.}; \ + mkdir -p $(DESTDIR)$(MANPREFIX)/man$$n; \ + $(do_subst) < $$m | gzip > $(DESTDIR)$(MANPREFIX)/man$$n/`basename $$m`.gz; \ + done + +uninstall: + rm -f $(DESTDIR)$(PREFIX)/bin/remembering + for m in $(manpages); do rm -f $(DESTDIR)$(MANPREFIX)/man$${##*.}/`basename $$m`.gz; done + +dist: + sh aux/workflow/dist.sh $(DATE) $(VERSION) + +public: README.md TODOs.md CHANGELOG.md $(manpages) + sh aux/workflow/public.sh Remembering remembering public-inbox + for m in $(manpages); do groff -m man -Thtml $$m > public/`basename $$m`.html; done + +.PHONY: all clean check dev-check dist install uninstall diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 0f3c5ed..0000000 --- a/Makefile.in +++ /dev/null @@ -1,83 +0,0 @@ -.POSIX: -CC = c99 -CFLAGS = -std=c99 -Wall -Wextra -Wpedantic -fPIC -g -DVERSION='"$(VERSION)"' -DDATE='"$(DATE)"' -LDFLAGS = -LDLIBS = -PREFIX = @PREFIX@ -MANPREFIX = $(PREFIX)/share/man -VERSION = @VERSION@ -DATE = @DATE@ - -sources = src/remembering.c - -manpages = \ - doc/remembering.1 \ - doc/remembering.5 - -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 - ./run-tests - sh tests/cli-opts.sh - sh tests/ranking.sh - sh tests/signals.sh - if [ -d .git ]; then \ - echo 'Assuming Git repository, running development checks.'; \ - $(MAKE) dev-check; \ - fi - -VALGRIND_FLAGS= \ - --show-error-list=yes \ - --show-leak-kinds=all \ - --leak-check=full \ - --track-origins=yes \ - --error-exitcode=1 - -dev-check: all 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 - -clean: - rm -rf public/ tests/test-profiles/ remembering remembering-c run-tests fallible* vgcore* - -do_subst = sed \ - -e 's:[@]VERSION[@]:$(VERSION):g' \ - -e 's:[@]DATE[@]:$(DATE):g' - -install: all - install -m 755 -D remembering $(DESTDIR)$(PREFIX)/bin/remembering - for m in $(manpages); do \ - n=$${m##*.}; \ - mkdir -p $(DESTDIR)$(MANPREFIX)/man$$n; \ - $(do_subst) < $$m | gzip > $(DESTDIR)$(MANPREFIX)/man$$n/`basename $$m`.gz; \ - done - -uninstall: - rm -f $(DESTDIR)$(PREFIX)/bin/remembering - for m in $(manpages); do rm -f $(DESTDIR)$(MANPREFIX)/man$${##*.}/`basename $$m`.gz; done - -dist: - sh aux/workflow/dist.sh $(DATE) $(VERSION) - -public: README.md TODOs.md CHANGELOG.md $(manpages) - sh aux/workflow/public.sh Remembering remembering public-inbox - for m in $(manpages); do groff -m man -Thtml $$m > public/`basename $$m`.html; done - -.PHONY: all clean check dev-check dist install uninstall diff --git a/configure b/configure deleted file mode 100755 index 021c992..0000000 --- a/configure +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -set -eu - -DATE=2021-02-21 -VERSION=0.2.0 - -# shellcheck disable=2068 -for f in $@; do - case "$f" in - --prefix) - shift - CLI_PREFIX="$1" - shift - ;; - --prefix=*) - CLI_PREFIX="${f#--prefix=}" - shift - ;; - *) - if [ -n "${1:-}" ]; then - shift - fi - ;; - esac -done - -PREFIX="${CLI_PREFIX:-/usr/local}" - -OUT_FILES=' -Makefile -' - -for f in $OUT_FILES; do - printf 'generating "%s"...\n' "$f" - sed "$f.in" \ - -e "s:@PREFIX@:$PREFIX:g" \ - -e "s:@VERSION@:$VERSION:g" \ - -e "s:@DATE@:$DATE:g" \ - > "$f" -done - -echo Done. >&2 -- cgit v1.2.3