Makefile (1810B)
1 include config.mk 2 3 SRC = dvtm.c vt.c 4 BIN = dvtm dvtm-status dvtm-editor #dvtm-pager 5 MANUALS = dvtm.1 dvtm-editor.1 #dvtm-pager.1 6 7 VERSION = $(shell git describe --always --dirty 2>/dev/null || echo "0.15-git") 8 CFLAGS += -DVERSION=\"${VERSION}\" 9 DEBUG_CFLAGS = ${CFLAGS} -UNDEBUG -O0 -g -ggdb -Wall -Wextra -Wno-unused-parameter 10 11 all: dvtm dvtm-editor 12 13 config.h: 14 cp config.def.h config.h 15 16 dvtm: config.h config.mk *.c *.h 17 ${CC} ${CFLAGS} ${SRC} ${LDFLAGS} ${LIBS} -o $@ 18 19 dvtm-editor: dvtm-editor.c 20 ${CC} ${CFLAGS} $^ ${LDFLAGS} -o $@ 21 22 man: 23 @for m in ${MANUALS}; do \ 24 echo "Generating $$m"; \ 25 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; \ 26 done 27 28 debug: clean 29 @$(MAKE) CFLAGS='${DEBUG_CFLAGS}' 30 31 clean: 32 @echo cleaning 33 @rm -f dvtm 34 @rm -f dvtm-editor 35 36 dist: clean 37 @echo creating dist tarball 38 @git archive --prefix=dvtm-${VERSION}/ -o dvtm-${VERSION}.tar.gz HEAD 39 40 install: all 41 @mkdir -p ${DESTDIR}${PREFIX}/bin 42 @for b in ${BIN}; do \ 43 echo "installing ${DESTDIR}${PREFIX}/bin/$$b"; \ 44 cp -f "$$b" "${DESTDIR}${PREFIX}/bin" && \ 45 chmod 755 "${DESTDIR}${PREFIX}/bin/$$b"; \ 46 done 47 @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 48 @mkdir -p ${DESTDIR}${MANPREFIX}/man1 49 @for m in ${MANUALS}; do \ 50 sed -e "s/VERSION/${VERSION}/" < "$$m" > "${DESTDIR}${MANPREFIX}/man1/$$m" && \ 51 chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; \ 52 done 53 @echo installing terminfo description 54 @TERMINFO=${TERMINFO} tic -s dvtm.info 55 56 uninstall: 57 @for b in ${BIN}; do \ 58 echo "removing ${DESTDIR}${PREFIX}/bin/$$b"; \ 59 rm -f "${DESTDIR}${PREFIX}/bin/$$b"; \ 60 done 61 @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 62 @rm -f ${DESTDIR}${MANPREFIX}/man1/dvtm.1 63 64 .PHONY: all clean dist install uninstall debug