Blob


1 include config.mk
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 \
12 bedstatus/openbsd.c \
13 bedstatus/linux.c \
14 bedstatus/freebsd.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 \
28 netris/screen.c \
29 netris/shapes.c \
30 netris/scores.c \
31 netris/tetris.c
33 HDR_NETRIS = netris/input.h \
34 netris/pathnames.h \
35 netris/scores.h \
36 netris/screen.h \
37 netris/tetris.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
45 check:
46 find etc/common etc/$$(uname) -not -type d | awk '{a=$$0; sub(/etc\/[^\/]+/, "/etc", a); system("diff -u " $$0 " " a)}'
48 check-user:
49 find dotfiles/ -not -type d -exec sh -c 'diff -u {} "$$HOME/$$(echo "{}" | sed 's@^dotfiles/@@')"' \;
51 clean:
52 rm -rf bin
54 install:
55 mkdir -p ${DESTDIR}${PREFIX}/bin \
56 ${DESTDIR}${MANPREFIX}/man1 \
57 ${DESTDIR}${MANPREFIX}/man6 \
58 ${DESTDIR}${SCRIPTDIR} \
59 ${DESTDIR}${GAMESDIR}
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); \
65 done
66 for f in ${MAN}; do \
67 s=$$(echo "$$f" | sed 's/^[^.]*.\([0-9]\)$$/\1/'); \
68 sed 's/VERSION/${VERSION}/g' < $$f > ${DESTDIR}${MANPREFIX}/man$$s/$$(basename "$$f"); \
69 done
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
76 install-etc:
77 mkdir -p ${DESTDIR}/etc
78 cp -rf etc/common/* etc/$$(uname)/* ${DESTDIR}/etc/
80 install-user:
81 find dotfiles -mindepth 1 -maxdepth 1 | xargs -I '{}' cp -rf '{}' "$$HOME/"
83 install-pkgs:
84 pkg_add -l pkgs
86 bin/dwm: ${SRC_DWM} ${HDR_DWM}
87 @mkdir -p bin
88 ${CC} -o $@ ${SRC_DWM} ${CFLAGS} `pkg-config --cflags --libs fontconfig freetype2 x11 xft xinerama`
90 bin/st: ${SRC_ST} ${HDR_ST}
91 @mkdir -p bin
92 ${CC} -o $@ ${SRC_ST} ${CFLAGS} `pkg-config --cflags --libs fontconfig freetype2 x11 xft xrender` -lm -lutil
94 bin/bedstatus: ${SRC_BS} ${HDR_BS}
95 @mkdir -p bin
96 ${CC} -o $@ bedstatus/bedstatus.c ${CFLAGS} `pkg-config --cflags --libs x11`
98 bin/dmenu: ${SRC_DMENU} ${HDR_DMENU}
99 @mkdir -p bin
100 ${CC} -o $@ ${SRC_DMENU} ${CFLAGS} `pkg-config --cflags --libs fontconfig freetype2 x11 xft xinerama` -lm
102 bin/stest: ${SRC_STEST} ${HDR_STEST}
103 @mkdir -p bin
104 ${CC} -o $@ ${SRC_STEST} ${CFLAGS}
106 bin/xbgcd: xbgcd/xbgcd.c xbgcd/config.h
107 @mkdir -p bin
108 ${CC} -o $@ xbgcd/xbgcd.c ${CFLAGS} `pkg-config --cflags --libs x11`
110 bin/slock: ${SRC_SLOCK} ${HDR_SLOCK}
111 @mkdir -p bin
112 ${CC} -o $@ ${SRC_SLOCK} ${CFLAGS} `pkg-config --cflags --libs x11 xext xrandr` -lpthread
114 bin/pinentry-dmenu2: ${SRC_PD2}
115 @mkdir -p bin
116 cp -f ${SRC_PD2} $@
117 chmod +x $@
119 bin/netris: ${SRC_NETRIS} ${HDR_NETRIS}
120 @mkdir -p bin
121 ${CC} -o $@ ${SRC_NETRIS} ${CFLAGS} -lncurses
123 bin/timer: ${SRC_TMR}
124 @mkdir -p bin
125 cp -f ${SRC_TMR} $@
126 chmod +x $@
128 .PHONY: all clean install