JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied Sanders doc changes, added a PHONY line and changed the output of config...
[dwm.git] / Makefile
1 # dwm - dynamic window manager
2 #   (C)opyright MMVI Anselm R. Garbe
3
4 include config.mk
5
6 SRC = client.c draw.c event.c main.c tag.c util.c
7 OBJ = ${SRC:.c=.o}
8 MAN1 = dwm.1 
9 BIN = dwm
10
11 all: options dwm
12         @echo finished
13
14 options:
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
26 config.h:
27         @echo missing config.h created
28         @cp config.default.h $@
29
30 dwm: ${OBJ}
31         @echo LD $@
32         @${CC} -o $@ ${OBJ} ${LDFLAGS}
33
34 clean:
35         rm -f dwm *.o dwm-${VERSION}.tar.gz
36
37 dist: 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
44 install: 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
58 uninstall:
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