forked from LukeSmithxyz/dmenu
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
80 lines (63 loc) · 2.23 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# dmenu - dynamic menu
include config.mk
MANSYS = ${SYS}/${MANDIR}
MANPREFIX = ${PREFIX}/${MANDIR}
BINFILE = ${SYS}/bin/${BINNAME}
CFILES = ${SRC}/${BINNAME}.c ${DEPS}
OFILES = $(patsubst ${SRC}%.c,${BLD}%.o,${CFILES})
MFILES = ${MANSYS}/man1/${BINNAME}.1
INSTALLED = ${DESTDIR}${PREFIX}/bin/${BINNAME} ${DESTDIR}${MANPREFIX}/man1/${BINNAME}.1
SCRIPTS = ${SYS}/bin/dmenu_path ${SYS}/bin/dmenu_run
.PHONY: all man install dist
all: ${BINFILE} ${SCRIPTS} man stest
dist: clean
install: install-bin install-man
man: ${MFILES}
################################################################################
# DMENU SPECIFIC
################################################################################
MFILES += ${MANSYS}/man1/stest.1
INSTALLED += ${DESTDIR}${PREFIX}/bin/dmenu_path ${DESTDIR}${PREFIX}/bin/dmenu_run ${DESTDIR}${PREFIX}/bin/stest ${DESTDIR}${MANPREFIX}/man1/stest.1
TOINSTALL += ${SYS}/bin/dmenu_path ${SYS}/bin/dmenu_run ${SYS}/bin/stest
${BLD}/stest.o: ${SRC}/stest.c
mkdir -p ${BLD}
${CC} ${CFLAGS} -o $@ -c ${@:${BLD}%.o=${SRC}%.c}
.PHONY: stest
stest: ${SYS}/bin/stest
${SYS}/bin/dmenu_path ${SYS}/bin/dmenu_run: ${SRC}/scripts/dmenu_path ${SRC}/scripts/dmenu_run
mkdir -p ${SYS}/bin
cp -ft ${SYS}/bin $^
chmod 755 $^
${SYS}/bin/stest: ${BLD}/stest.o
mkdir -p ${SYS}/bin
${CC} ${LDFLAGS} -o $@ $^
chmod 755 $@
################################################################################
# END DMENU SPECIFIC
################################################################################
${BLD}/%.o: ${CFILES} ${WATCH}
mkdir -p ${BLD}
${CC} ${CFLAGS} -o $@ -c ${@:${BLD}%.o=${SRC}%.c}
${BINFILE}: ${OFILES} ${WATCH}
echo "HOSTNAME: '$(SYSTEM)'"
mkdir -p ${SYS}/bin
${CC} ${LDFLAGS} -o $@ $(filter %.o,$^)
chmod 755 $@
${MFILES}: ${MAN}/dmenu.1 ${MAN}/stest.1
mkdir -p ${MANSYS}/man1/
sed "s/VERSION/${VERSION}/g" < ${@:${MANSYS}/man1/%=${MAN}/%} > $@
chmod 644 $@
.PHONY: install-bin
install-bin: ${BINFILE} ${TOINSTALL}
mkdir -p "${DESTDIR}${PREFIX}"
cp -ft ${DESTDIR}${PREFIX}/bin $^
.PHONY: install-man
install-man: ${MFILES}
mkdir -p "${DESTDIR}${MANPREFIX}"
cp -ft ${DESTDIR}${MANPREFIX} $^
.PHONY: uninstall
uninstall: ${INSTALLED}
rm -f $^
.PHONY: clean
clean:
rm -rf ${BLD} ${SYS}