Makefile (1722B)
1 SHOD_OBJS = shod.o config.o xhints.o xmon.o xdraw.o xevents.o \ 2 xcontainer.o xmenu.o xbar.o xdock.o xsplash.o xnotif.o xprompt.o 3 SHODC_OBJS = shodc.o 4 SHARED_OBJS = xutil.o 5 PROGS = shod shodc 6 OBJS = ${SHOD_OBJS} ${SHODC_OBJS} ${SHARED_OBJS} 7 SRCS = ${OBJS:.o=.c} 8 MAN = shod.1 9 10 PREFIX ?= /usr/local 11 MANPREFIX ?= ${PREFIX}/share/man 12 LOCALINC ?= /usr/local/include 13 LOCALLIB ?= /usr/local/lib 14 X11INC ?= /usr/X11R6/include 15 X11LIB ?= /usr/X11R6/lib 16 17 # includes and libs 18 DEFS = -D_POSIX_C_SOURCE=200809L -DGNU_SOURCE -D_BSD_SOURCE 19 INCS = -I${LOCALINC} -I${X11INC} -I/usr/include/freetype2 -I${X11INC}/freetype2 20 LIBS = -L${LOCALLIB} -L${X11LIB} -lfontconfig -lXft -lX11 -lXrandr -lXrender 21 22 bindir = ${DESTDIR}${PREFIX}/bin 23 mandir = ${DESTDIR}${MANPREFIX}/man1 24 25 all: ${PROGS} 26 27 shod: ${SHOD_OBJS} ${SHARED_OBJS} 28 ${CC} -o $@ ${SHOD_OBJS} ${SHARED_OBJS} ${LIBS} ${LDFLAGS} 29 30 shodc: ${SHODC_OBJS} ${SHARED_OBJS} 31 ${CC} -o $@ ${SHODC_OBJS} ${SHARED_OBJS} ${LIBS} ${LDFLAGS} 32 33 ${SHOD_OBJS}: shod.h xutil.h 34 35 ${SHODC_OBJS}: xutil.h 36 37 ${SHARED_OBJS}: xutil.h 38 39 .c.o: 40 ${CC} -std=c99 -pedantic ${DEFS} ${INCS} ${CFLAGS} ${CPPFLAGS} -o $@ -c $< 41 42 tags: ${SRCS} 43 ctags ${SRCS} 44 45 lint: ${SRCS} 46 -mandoc -T lint -W warning ${MAN} 47 -clang-tidy ${SRCS} -- -std=c99 ${DEFS} ${INCS} ${CPPFLAGS} 48 49 test: ${PROGS} 50 xinit ${XINITRC} -- `which Xephyr` :1 -screen 1024x768 +xinerama 51 52 install: all 53 mkdir -p ${bindir} 54 mkdir -p ${mandir} 55 for file in ${PROGS} ; do install -m 755 "$$file" ${bindir}/"$$file" ; done 56 install -m 644 ${MAN} ${mandir}/${MAN} 57 58 uninstall: 59 -for file in ${PROGS} ; do rm ${bindir}/"$$file" ; done 60 -rm ${mandir}/${MAN} 61 62 clean: 63 rm -f ${PROGS} ${PROGS:=.core} ${OBJS} tags 64 65 .PHONY: all clean install uninstall lint