dvtm

Fork of dvtm, a minimal terminal multiplexer
git clone git://git.laack.co/dvtm.git
Log | Files | Refs | README | LICENSE

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