3 SRC_DWM = dwm/dwm.c dwm/drw.c dwm/util.c
4 HDR_DWM = dwm/drw.h dwm/util.h dwm/config.h master.h
6 SRC_ST = st/st.c st/x.c
7 HDR_ST = st/arg.h st/st.h st/win.h st/config.h master.h
9 SRC_BS = bedstatus/bedstatus.c
10 HDR_BS = bedstatus/bedstatus.h \
11 bedstatus/unsupported.c \
16 SRC_DMENU = dmenu/dmenu.c dmenu/drw.c dmenu/util.c
17 HDR_DMENU = dmenu/arg.h dmenu/config.h dmenu/drw.h dmenu/util.h master.h
19 SRC_STEST = dmenu/stest.c
20 HDR_STEST = dmenu/arg.h
22 SRC_SLOCK = slock/slock.c
23 HDR_SLOCK = slock/arg.h slock/config.h
25 SRC_PD2 = pinentry-dmenu2.sh
27 SRC_NETRIS = netris/input.c \
33 HDR_NETRIS = netris/input.h \
39 SRC_TMR = bedstatus/timer
41 MAN = dwm/dwm.1 st/st.1 dmenu/dmenu.1 dmenu/stest.1 slock/slock.1 netris/netris.6
43 all: bin/dwm bin/st bin/bedstatus bin/dmenu bin/stest bin/xbgcd bin/slock bin/pinentry-dmenu2 bin/netris bin/timer
46 find etc/common etc/$$(uname) -not -type d | awk '{a=$$0; sub(/etc\/[^\/]+/, "/etc", a); system("diff -u " $$0 " " a)}'
49 find dotfiles/ -not -type d -exec sh -c 'diff -u {} "$$HOME/$$(echo "{}" | sed 's@^dotfiles/@@')"' \;
55 mkdir -p ${DESTDIR}${PREFIX}/bin \
56 ${DESTDIR}${MANPREFIX}/man1 \
57 ${DESTDIR}${MANPREFIX}/man6 \
58 ${DESTDIR}${SCRIPTDIR} \
60 cp -f bin/* ${DESTDIR}${PREFIX}/bin/
61 for f in scripts/*; do \
62 sed 's#@PREFIX@#${PREFIX}#g; s#@SCRIPTS@#${SCRIPTDIR}#; s#@TERM@#${TERM}#' < $$f \
63 > ${DESTDIR}${SCRIPTDIR}/$$(basename $$f); \
64 chmod +x ${DESTDIR}${SCRIPTDIR}/$$(basename $$f); \
67 s=$$(echo "$$f" | sed 's/^[^.]*.\([0-9]\)$$/\1/'); \
68 sed 's/VERSION/${VERSION}/g' < $$f > ${DESTDIR}${MANPREFIX}/man$$s/$$(basename "$$f"); \
70 touch ${DESTDIR}${GAMESDIR}/netris.scores
71 chgrp games ${DESTDIR}${PREFIX}/bin/netris ${DESTDIR}${GAMESDIR}/netris.scores
72 chmod u+s ${DESTDIR}${PREFIX}/bin/slock
73 chmod g+s ${DESTDIR}${PREFIX}/bin/netris
74 chmod g+rw ${DESTDIR}${GAMESDIR}/netris.scores
77 mkdir -p ${DESTDIR}/etc
78 cp -rf etc/common/* etc/$$(uname)/* ${DESTDIR}/etc/
81 find dotfiles -mindepth 1 -maxdepth 1 | xargs -I '{}' cp -rf '{}' "$$HOME/"
86 bin/dwm: ${SRC_DWM} ${HDR_DWM}
88 ${CC} -o $@ ${SRC_DWM} ${CFLAGS} `pkg-config --cflags --libs fontconfig freetype2 x11 xft xinerama`
90 bin/st: ${SRC_ST} ${HDR_ST}
92 ${CC} -o $@ ${SRC_ST} ${CFLAGS} `pkg-config --cflags --libs fontconfig freetype2 x11 xft xrender` -lm -lutil
94 bin/bedstatus: ${SRC_BS} ${HDR_BS}
96 ${CC} -o $@ bedstatus/bedstatus.c ${CFLAGS} `pkg-config --cflags --libs x11`
98 bin/dmenu: ${SRC_DMENU} ${HDR_DMENU}
100 ${CC} -o $@ ${SRC_DMENU} ${CFLAGS} `pkg-config --cflags --libs fontconfig freetype2 x11 xft xinerama` -lm
102 bin/stest: ${SRC_STEST} ${HDR_STEST}
104 ${CC} -o $@ ${SRC_STEST} ${CFLAGS}
106 bin/xbgcd: xbgcd/xbgcd.c xbgcd/config.h
108 ${CC} -o $@ xbgcd/xbgcd.c ${CFLAGS} `pkg-config --cflags --libs x11`
110 bin/slock: ${SRC_SLOCK} ${HDR_SLOCK}
112 ${CC} -o $@ ${SRC_SLOCK} ${CFLAGS} `pkg-config --cflags --libs x11 xext xrandr` -lpthread
114 bin/pinentry-dmenu2: ${SRC_PD2}
119 bin/netris: ${SRC_NETRIS} ${HDR_NETRIS}
121 ${CC} -o $@ ${SRC_NETRIS} ${CFLAGS} -lncurses
123 bin/timer: ${SRC_TMR}
128 .PHONY: all clean install