splex/Makefile

68 lines
1.9 KiB
Makefile

-include config.mk
VERSION = 0.6
CFLAGS_STD ?= -std=c99 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DNDEBUG
CFLAGS_STD += -DVERSION=\"${VERSION}\"
LDFLAGS_STD ?= -lc -lutil
STRIP ?= strip
INSTALL ?= install
PREFIX ?= /usr/local
SHAREDIR ?= ${PREFIX}/share
SRC = splex.c
all: splex
config.h:
cp config.def.h config.h
config.mk:
@touch $@
splex: config.h config.mk splex.c client.c debug.c forkpty-aix.c forkpty-sunos.c server.c
${CC} ${CFLAGS} ${CFLAGS_STD} ${CFLAGS_AUTO} ${CFLAGS_EXTRA} ${SRC} ${LDFLAGS} ${LDFLAGS_STD} ${LDFLAGS_AUTO} -o $@
debug: clean
make CFLAGS_EXTRA='${CFLAGS_DEBUG}'
clean:
@echo cleaning
@rm -f splex splex splex-*.tar.gz
dist: clean
@echo creating dist tarball
@git archive --prefix=splex-${VERSION}/ -o splex-${VERSION}.tar.gz HEAD
installdirs:
@${INSTALL} -d ${DESTDIR}${PREFIX}/bin \
${DESTDIR}${MANPREFIX}/man1
install: splex installdirs
@echo installing executable file to ${DESTDIR}${PREFIX}/bin
@${INSTALL} -m 0755 splex ${DESTDIR}${PREFIX}/bin
@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
@mkdir -p ${DESTDIR}${MANPREFIX}/man1
@sed "s/VERSION/${VERSION}/g" < splex.1 > ${DESTDIR}${MANPREFIX}/man1/splex.1
@chmod 644 ${DESTDIR}${MANPREFIX}/man1/splex.1
install-strip: install
${STRIP} ${DESTDIR}${PREFIX}/bin/splex
install-completion:
@echo installing zsh completion file to ${DESTDIR}${SHAREDIR}/zsh/site-functions
@install -Dm644 contrib/splex.zsh ${DESTDIR}${SHAREDIR}/zsh/site-functions/_splex
uninstall:
@echo removing executable file from ${DESTDIR}${PREFIX}/bin
@rm -f ${DESTDIR}${PREFIX}/bin/splex
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
@rm -f ${DESTDIR}${MANPREFIX}/man1/splex.1
@echo removing zsh completion file from ${DESTDIR}${SHAREDIR}/zsh/site-functions
@rm -f ${DESTDIR}${SHAREDIR}/zsh/site-functions/_splex
.PHONY: all clean dist install installdirs install-strip install-completion uninstall debug