PW_SHA256 := 2faedc2915507276304d7bb9b28231cb46c6bc6c57c6ad27dc1aafe19ca32969 DARWIN = $(findstring Darwin,$(shell uname)) NEEDED_CFLAGS := -std=c99 -D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ NEEDED_CFLAGS += $(if $(DARWIN),-D_DARWIN_C_SOURCE) SHA256TOOL := $(if $(DARWIN),shasum -a 256,sha256sum) ifeq ($(shell $(SHA256TOOL) pw.c),$(PW_SHA256) pw.c) PW_VERSION := 4 else PW_VERSION := 4-$(shell git rev-parse --short HEAD) PW_VERSION := $(PW_VERSION)$(shell git diff --quiet || printf -- "-dirty") endif CFLAGS ?= -g -O2 -W -Wall override CFLAGS += $(NEEDED_CFLAGS) -DCONFIG_PW_VER=\"$(PW_VERSION)\" DESTDIR ?= /usr/local .PHONY: all fixver all: pw fixver pw: $(if $(DARWIN),macpoll.o) clean:; rm -f pw macpoll.o install:; install pw $(DESTDIR)/bin/pw; \ install -D pw.1 $(DESTDIR)/share/man/man1/pw.1; \ install -D pw-relnotes.5 $(DESTDIR)/share/man/man5/pw-relnotes.5 define FIXVER sed -e '/^\.TH/s/Version [^"]\+/Version $(PW_VERSION)/' $1 > pw.tmp ; cmp -s $1 pw.tmp && rm pw.tmp || mv pw.tmp $1 endef fixver:; @$(call FIXVER,pw.1); $(call FIXVER, pw-relnotes.5)