-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
72 lines (53 loc) · 1.34 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
# See LICENSE file for copyright and license details.
include config.mk
SRCDIR = XCB-TRL
BIN = binary
SRC = $(wildcard *.c)
SRC += $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.c))
SRCH= $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.h))
OBJ = $(patsubst %.c,${BIN}/%.o,$(SRC))
VERSION = 2.1.2
EXE = dwm
EXEPATH = ${BIN}/${EXE}
CMACROS += -DVERSION=\"${VERSION}\" -DNAME=\"${EXE}\"
CFLAGS += ${CMACROS}
all: options default
${BIN}:
mkdir -p ${BIN}
options:
@echo ${EXE} build options:
@echo "CFLAGS = ${CFLAGS}"
@echo "LDFLAGS = ${LDFLAGS}"
@echo "CC = ${CC}"
${BIN}/%.o: %.c | ${BIN}
@${CC} ${CFLAGS} -c $< -o $@
@echo "Building:" $<
default: ${OBJ}
@echo "_Linking:" ${OBJ}
@${CC} -o ${BIN}/${EXE} ${OBJ} ${LDFLAGS}
@echo "Done."
__CLEANARGS = ${RM} ${BIN}/*.o ${BIN}/XCB-TRL/*.o ${EXEPATH}
clean:
${__CLEANARGS}
claen:
${__CLEANARGS}
clen:
${__CLEANARGS}
clena:
${__CLEANARGS}
clane:
${__CLEANARGS}
clear: clean
rebuild: clean default
release:
rm -rf -f -- ${EXE}-${VERSION}
cp -R . ${EXE}-${VERSION}
# tar -cf ${EXE}-${VERSION}.tar ${EXE}-${VERSION}
# gzip ${EXE}-${VERSION}.tar
install: all
mkdir -p ${DESTDIR}${PREFIX}/bin
cp -f ${EXEPATH} ${DESTDIR}${PREFIX}/bin
chmod 755 ${DESTDIR}${PREFIX}/bin/${EXE}
uninstall:
rm -f ${DESTDIR}${PREFIX}/bin/${EXE}
.PHONY: all options clean clear release dist install uninstall