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 65 66 67 68 69 70 71 72 73 74 75 76
|
.POSIX:
NAME = tabbed
VERSION = 0.8
# paths
PREFIX = /usr/local
MANPREFIX = ${PREFIX}/share/man
DOCPREFIX = ${PREFIX}/share/doc/${NAME}
# use system flags.
CFLAGS += $(shell $(PKG_CONFIG) --cflags fontconfig xft)
LDFLAGS += -lX11 $(shell $(PKG_CONFIG) --libs fontconfig xft)
CPPFLAGS += -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700L
# OpenBSD (uncomment)
#TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 ${CFLAGS}
SRC = tabbed.c xembed.c
OBJ = tabbed.default.o tabbed.meta.o
BIN = ${OBJ:.o=}
MAN1 = tabbed.1
HDR = arg.h config.def.h
DOC = LICENSE README
all: ${BIN}
%.default.o: %.c
@${CC} -o $@ -c ${CFLAGS} ${CPPFLAGS} $<
%.meta.o: %.c
@${CC} -o $@ -c -DMODKEY=Mod4Mask ${CFLAGS} ${CPPFLAGS} $<
xembed.o: xembed.c
@${CC} -o $@ -c ${CFLAGS} ${CPPFLAGS} $<
${OBJ}: config.h
config.h:
cp config.def.h $@
tabbed.%: tabbed.%.o
@${CC} -o $@ $< ${LDFLAGS}
xembed: xembed.o
${CC} -o $@ $< ${LDFLAGS}
clean:
rm -f ${BIN} ${OBJ} "${NAME}-${VERSION}.tar.gz"
dist: clean
mkdir -p "${NAME}-${VERSION}"
cp -fR Makefile ${MAN1} ${DOC} ${HDR} ${SRC} "${NAME}-${VERSION}"
tar -cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
rm -rf ${NAME}-${VERSION}
install: all
# installing executable files.
mkdir -p "${DESTDIR}${PREFIX}/bin"
cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"
for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
# installing manual pages for general commands: section 1.
mkdir -p "${DESTDIR}${MANPREFIX}/man1"
for m in ${MAN1}; do sed "s/VERSION/${VERSION}/g" < $$m > "${DESTDIR}${MANPREFIX}/man1/$$m"; done
uninstall:
# removing executable files.
for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
# removing doc files.
rm -f "${DESTDIR}${DOCPREFIX}/README"
# removing manual pages.
for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
-rmdir "${DESTDIR}${DOCPREFIX}"
.PHONY: all clean dist install uninstall
|