JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied Sanders LD and resize patches
[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
9 all: options dwm
10         @echo finished
11
12 options:
13         @echo dwm build options:
14         @echo "CFLAGS   = ${CFLAGS}"
15         @echo "LDFLAGS  = ${LDFLAGS}"
16         @echo "CC       = ${CC}"
17         @echo "LD       = ${LD}"
18
19 .c.o:
20         @echo CC $<
21         @${CC} -c ${CFLAGS} $<
22
23 ${OBJ}: dwm.h config.h config.mk
24
25 config.h:
26         @echo creating $@ from config.default.h
27         @cp config.default.h $@
28
29 dwm: ${OBJ}
30         @echo LD $@
31         @${LD} -o $@ ${OBJ} ${LDFLAGS}
32         @strip $@
33
34 clean:
35         @echo cleaning
36         @rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz
37
38 dist: clean
39         @echo creating dist tarball
40         @mkdir -p dwm-${VERSION}
41         @cp -R LICENSE Makefile README config.*.h config.mk \
42                 dwm.1 dwm.h ${SRC} dwm-${VERSION}
43         @tar -cf dwm-${VERSION}.tar dwm-${VERSION}
44         @gzip dwm-${VERSION}.tar
45         @rm -rf dwm-${VERSION}
46
47 install: all
48         @echo installing executable file to ${DESTDIR}${PREFIX}/bin
49         @mkdir -p ${DESTDIR}${PREFIX}/bin
50         @cp -f dwm ${DESTDIR}${PREFIX}/bin
51         @chmod 755 ${DESTDIR}${PREFIX}/bin/dwm
52         @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
53         @mkdir -p ${DESTDIR}${MANPREFIX}/man1
54         @sed 's/VERSION/${VERSION}/g' < dwm.1 > ${DESTDIR}${MANPREFIX}/man1/dwm.1
55         @chmod 644 ${DESTDIR}${MANPREFIX}/man1/dwm.1
56
57 uninstall:
58         @echo removing executable file from ${DESTDIR}${PREFIX}/bin
59         @rm -f ${DESTDIR}${PREFIX}/bin/dwm
60         @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
61         @rm -f ${DESTDIR}${MANPREFIX}/man1/dwm.1
62
63 .PHONY: all options clean dist install uninstall