Xinqi Bao's Git

6f1349f008523e1fa91bf47969aa59384b44abd2
[dwm.git] / Makefile
1 # dwm - dynamic window manager
2
3 include config.mk
4
5 SRC = dwm.c
6 OBJ = ${SRC:.c=.o}
7
8 all: options dwm
9
10 options:
11 @echo dwm build options:
12 @echo "CFLAGS = ${CFLAGS}"
13 @echo "LDFLAGS = ${LDFLAGS}"
14 @echo "CC = ${CC}"
15
16 .c.o:
17 @echo CC $<
18 @${CC} -c ${CFLAGS} $<
19
20 ${OBJ}: config.h config.mk
21
22 config.h:
23 @echo creating $@ from config.def.h
24 @cp config.def.h $@
25
26 dwm: ${OBJ}
27 @echo CC -o $@
28 @${CC} -o $@ ${OBJ} ${LDFLAGS}
29
30 clean:
31 @echo cleaning
32 @rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz
33
34 dist: clean
35 @echo creating dist tarball
36 @mkdir -p dwm-${VERSION}
37 @cp -R LICENSE Makefile README config.def.h config.mk \
38 dwm.1 ${SRC} dwm-${VERSION}
39 @tar -cf dwm-${VERSION}.tar dwm-${VERSION}
40 @gzip dwm-${VERSION}.tar
41 @rm -rf dwm-${VERSION}
42
43 install: all
44 @echo installing executable file to ${DESTDIR}${PREFIX}/bin
45 @mkdir -p ${DESTDIR}${PREFIX}/bin
46 @cp -f dwm ${DESTDIR}${PREFIX}/bin
47 @chmod 755 ${DESTDIR}${PREFIX}/bin/dwm
48 @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
49 @mkdir -p ${DESTDIR}${MANPREFIX}/man1
50 @sed "s/VERSION/${VERSION}/g" < dwm.1 > ${DESTDIR}${MANPREFIX}/man1/dwm.1
51 @chmod 644 ${DESTDIR}${MANPREFIX}/man1/dwm.1
52
53 uninstall:
54 @echo removing executable file from ${DESTDIR}${PREFIX}/bin
55 @rm -f ${DESTDIR}${PREFIX}/bin/dwm
56 @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
57 @rm -f ${DESTDIR}${MANPREFIX}/man1/dwm.1
58
59 .PHONY: all options clean dist install uninstall