aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 9b507f4d9aebab9e34c076880c62d44ddd610057 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
PW_SHA256 := 7361c87eb5e55240a3afbf7f41bc2a08f93e392414103075d3929b5fd53e021c
DARWIN = $(findstring Darwin,$(shell uname))
NEEDED_CFLAGS := -std=c99 -D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__
NEEDED_CFLAGS += $(if $(DARWIN),-D_DARWIN_C_SOURCE)
ifeq ($(shell sha256sum pw.c),$(PW_SHA256)  pw.c)
PW_VERSION := 3
else
PW_VERSION := 3-$(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)