Xinqi Bao's Git

8c3d904d66f6b7a4361b3b8f86ccdd4d2c461816
[dmenu.git] / Makefile
1 # dmenu - dynamic menu
2 # (C)opyright MMVI Anselm R. Garbe
3
4 include config.mk
5
6 SRC = draw.c main.c util.c
7 OBJ = ${SRC:.c=.o}
8
9 all: options dmenu
10 @echo finished
11
12 options:
13 @echo dmenu 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}: dmenu.h config.h
24
25 config.h:
26 @echo creating $@ from config.default.h
27 @cp config.default.h $@
28
29 dmenu: ${OBJ}
30 @echo LD $@
31 @${LD} -o $@ ${OBJ} ${LDFLAGS}
32 @strip $@
33
34 clean:
35 @echo cleaning
36 @rm -f dmenu ${OBJ} dmenu-${VERSION}.tar.gz
37
38 dist: clean
39 @echo creating dist tarball
40 @mkdir -p dmenu-${VERSION}
41 @cp -R LICENSE Makefile README config.*.h config.mk \
42 dmenu.1 dmenu.h ${SRC} dmenu-${VERSION}
43 @tar -cf dmenu-${VERSION}.tar dmenu-${VERSION}
44 @gzip dmenu-${VERSION}.tar
45 @rm -rf dmenu-${VERSION}
46
47 install: all
48 @echo installing executable file to ${DESTDIR}${PREFIX}/bin
49 @mkdir -p ${DESTDIR}${PREFIX}/bin
50 @cp -f dmenu ${DESTDIR}${PREFIX}/bin
51 @chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu
52 @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
53 @mkdir -p ${DESTDIR}${MANPREFIX}/man1
54 @sed 's/VERSION/${VERSION}/g' < dmenu.1 > ${DESTDIR}${MANPREFIX}/man1/dmenu.1
55 @chmod 644 ${DESTDIR}${MANPREFIX}/man1/dmenu.1
56
57 uninstall:
58 @echo removing executable file from ${DESTDIR}${PREFIX}/bin
59 @rm -f ${DESTDIR}${PREFIX}/bin/dmenu
60 @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
61 @rm -f ${DESTDIR}${MANPREFIX}/man1/dmenu.1
62
63 .PHONY: all options clean dist install uninstall