-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
49 lines (35 loc) · 960 Bytes
/
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
VERSION = 1.2.0
SRC_DIR = src
OBJ_DIR = obj
MAN_DIR = doc
INC_DIR = include
CC = cc
DEBUG = -g
LIBS = -l alpm
CMPTIME = -DVERSION=\"${VERSION}\"
CFLAGS = ${CMPTIME} ${DEBUG} ${LIBS} -I${INC_DIR} -std=c99 -pedantic -Wall
BIN = lspac
PREFIX = /usr
MANPREFIX = ${PREFIX}/share/man
SRC = ${wildcard ${SRC_DIR}/*.c}
OBJ = ${SRC:${SRC_DIR}/%.c=${OBJ_DIR}/%.o}
all: ${OBJ_DIR} ${BIN}
${OBJ_DIR}:
mkdir -p $@
${OBJ_DIR}/%.o: ${SRC_DIR}/%.c
${CC} -c ${CFLAGS} $< -o $@
${BIN}: ${OBJ}
${CC} ${CFLAGS} ${LIBS} -o $@ ${OBJ}
clean:
rm -rf ${BIN} ${OBJ_DIR}
install: all
mkdir -p ${DESTDIR}${PREFIX}/bin
cp -f ${BIN} ${DESTDIR}${PREFIX}/bin
chmod 755 ${DESTDIR}${PREFIX}/bin/${BIN}
mkdir -p ${DESTDIR}${MANPREFIX}/man1
cp -f ${MAN_DIR}/${BIN}.1 ${DESTDIR}${MANPREFIX}/man1
chmod 644 ${DESTDIR}${MANPREFIX}/man1/${BIN}.1
uninstall:
rm -f ${DESTDIR}${PREFIX}/bin/${BIN}
rm -f ${DESTDIR}${MANPREFIX}/man1/${BIN}.1
.PHONY: all clean install uninstall