-
Notifications
You must be signed in to change notification settings - Fork 106
/
Makefile
64 lines (51 loc) · 1.77 KB
/
Makefile
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
include config.mk
SRC = dvtm.c vt.c
BIN = dvtm dvtm-status dvtm-editor dvtm-pager
MANUALS = dvtm.1 dvtm-editor.1 dvtm-pager.1
VERSION = $(shell git describe --always --dirty 2>/dev/null || echo "0.15-git")
CFLAGS += -DVERSION=\"${VERSION}\"
DEBUG_CFLAGS = ${CFLAGS} -UNDEBUG -O0 -g -ggdb -Wall -Wextra -Wno-unused-parameter
all: dvtm dvtm-editor
config.h:
cp config.def.h config.h
dvtm: config.h config.mk *.c *.h
${CC} ${CFLAGS} ${SRC} ${LDFLAGS} ${LIBS} -o $@
dvtm-editor: dvtm-editor.c
${CC} ${CFLAGS} $^ ${LDFLAGS} -o $@
man:
@for m in ${MANUALS}; do \
echo "Generating $$m"; \
sed -e "s/VERSION/${VERSION}/" "$$m" | mandoc -W warning -T utf8 -T xhtml -O man=%N.%S.html -O style=mandoc.css 1> "$$m.html" || true; \
done
debug: clean
@$(MAKE) CFLAGS='${DEBUG_CFLAGS}'
clean:
@echo cleaning
@rm -f dvtm
@rm -f dvtm-editor
dist: clean
@echo creating dist tarball
@git archive --prefix=dvtm-${VERSION}/ -o dvtm-${VERSION}.tar.gz HEAD
install: all
@mkdir -p ${DESTDIR}${PREFIX}/bin
@for b in ${BIN}; do \
echo "installing ${DESTDIR}${PREFIX}/bin/$$b"; \
cp -f "$$b" "${DESTDIR}${PREFIX}/bin" && \
chmod 755 "${DESTDIR}${PREFIX}/bin/$$b"; \
done
@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
@mkdir -p ${DESTDIR}${MANPREFIX}/man1
@for m in ${MANUALS}; do \
sed -e "s/VERSION/${VERSION}/" < "$$m" > "${DESTDIR}${MANPREFIX}/man1/$$m" && \
chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; \
done
@echo installing terminfo description
@TERMINFO=${TERMINFO} tic -s dvtm.info
uninstall:
@for b in ${BIN}; do \
echo "removing ${DESTDIR}${PREFIX}/bin/$$b"; \
rm -f "${DESTDIR}${PREFIX}/bin/$$b"; \
done
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
@rm -f ${DESTDIR}${MANPREFIX}/man1/dvtm.1
.PHONY: all clean dist install uninstall debug