tabbed

tab interface for application supporting Xembed
git clone git://git.suckless.org/tabbed
Log | Files | Refs | README | LICENSE

Makefile (1863B)


      1 .POSIX:
      2 
      3 NAME = tabbed
      4 VERSION = 0.8
      5 
      6 # paths
      7 PREFIX = /usr/local
      8 MANPREFIX = ${PREFIX}/share/man
      9 DOCPREFIX = ${PREFIX}/share/doc/${NAME}
     10 
     11 # use system flags.
     12 TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/include/freetype2 ${CFLAGS}
     13 TABBED_LDFLAGS = -L/usr/X11R6/lib -lX11 -lfontconfig -lXft ${LDFLAGS}
     14 TABBED_CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700L
     15 
     16 # OpenBSD (uncomment)
     17 #TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 ${CFLAGS}
     18 
     19 SRC = tabbed.c xembed.c
     20 OBJ = ${SRC:.c=.o}
     21 BIN = ${OBJ:.o=}
     22 MAN1 = ${BIN:=.1}
     23 HDR = arg.h config.def.h
     24 DOC = LICENSE README
     25 
     26 all: ${BIN}
     27 
     28 .c.o:
     29 	${CC} -o $@ -c $< ${TABBED_CFLAGS} ${TABBED_CPPFLAGS}
     30 
     31 ${OBJ}: config.h
     32 
     33 config.h:
     34 	cp config.def.h $@
     35 
     36 .o:
     37 	${CC} -o $@ $< ${TABBED_LDFLAGS}
     38 
     39 clean:
     40 	rm -f ${BIN} ${OBJ} "${NAME}-${VERSION}.tar.gz"
     41 
     42 dist: clean
     43 	mkdir -p "${NAME}-${VERSION}"
     44 	cp -fR Makefile ${MAN1} ${DOC} ${HDR} ${SRC} "${NAME}-${VERSION}"
     45 	tar -cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
     46 	rm -rf ${NAME}-${VERSION}
     47 
     48 install: all
     49 	# installing executable files.
     50 	mkdir -p "${DESTDIR}${PREFIX}/bin"
     51 	cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"
     52 	for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
     53 	# installing doc files.
     54 	mkdir -p "${DESTDIR}${DOCPREFIX}"
     55 	cp -f README "${DESTDIR}${DOCPREFIX}"
     56 	# installing manual pages for general commands: section 1.
     57 	mkdir -p "${DESTDIR}${MANPREFIX}/man1"
     58 	for m in ${MAN1}; do sed "s/VERSION/${VERSION}/g" < $$m > "${DESTDIR}${MANPREFIX}/man1/$$m"; done
     59 
     60 uninstall:
     61 	# removing executable files.
     62 	for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
     63 	# removing doc files.
     64 	rm -f "${DESTDIR}${DOCPREFIX}/README"
     65 	# removing manual pages.
     66 	for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
     67 	-rmdir "${DESTDIR}${DOCPREFIX}"
     68 
     69 .PHONY: all clean dist install uninstall