~kaction/dvtm

ref: 68d08a5ba688c7a74a7ba6e1b7d87bcaa1374ab5 dvtm/Makefile -rw-r--r-- 1.8 KiB
68d08a5b — Dmitry Bogatov Release 0.15.1 8 months ago
                                                                                
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.1-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