Makefile (view raw)
1# dwm - dynamic window manager
2# (C)opyright MMVI Anselm R. Garbe
3
4include config.mk
5
6SRC = client.c draw.c event.c main.c tag.c util.c
7OBJ = ${SRC:.c=.o}
8MAN1 = dwm.1
9BIN = dwm
10
11all: options dwm
12 @echo finished
13
14options:
15 @echo dwm build options:
16 @echo "CFLAGS = ${CFLAGS}"
17 @echo "LDFLAGS = ${LDFLAGS}"
18 @echo "CC = ${CC}"
19
20.c.o:
21 @echo CC $<
22 @${CC} -c ${CFLAGS} $<
23
24${OBJ}: dwm.h config.h
25
26config.h:
27 @echo missing config.h created
28 @cp config.default.h $@
29
30dwm: ${OBJ}
31 @echo LD $@
32 @${CC} -o $@ ${OBJ} ${LDFLAGS}
33
34clean:
35 rm -f dwm *.o dwm-${VERSION}.tar.gz
36
37dist: clean
38 mkdir -p dwm-${VERSION}
39 cp -R Makefile README LICENSE config.mk *.h *.c ${MAN1} dwm-${VERSION}
40 tar -cf dwm-${VERSION}.tar dwm-${VERSION}
41 gzip dwm-${VERSION}.tar
42 rm -rf dwm-${VERSION}
43
44install: all
45 @mkdir -p ${DESTDIR}${PREFIX}/bin
46 @cp -f ${BIN} ${DESTDIR}${PREFIX}/bin
47 @for i in ${BIN}; do \
48 chmod 755 ${DESTDIR}${PREFIX}/bin/`basename $$i`; \
49 done
50 @echo installed executable files to ${DESTDIR}${PREFIX}/bin
51 @mkdir -p ${DESTDIR}${MANPREFIX}/man1
52 @cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1
53 @for i in ${MAN1}; do \
54 chmod 444 ${DESTDIR}${MANPREFIX}/man1/`basename $$i`; \
55 done
56 @echo installed manual pages to ${DESTDIR}${MANPREFIX}/man1
57
58uninstall:
59 for i in ${BIN}; do \
60 rm -f ${DESTDIR}${PREFIX}/bin/`basename $$i`; \
61 done
62 for i in ${MAN1}; do \
63 rm -f ${DESTDIR}${MANPREFIX}/man1/`basename $$i`; \
64 done
65
66.PHONY: all options clean dist install uninstall