blob: 6d3224584039fed20f489002e2c3a0086a132757 (
plain)
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
SHELL = /bin/sh
CC = gcc
SRC_DIR = src
BUILD_DIR = build
SHARE_DIR = share
FONT_DIR = ${SHARE_DIR}/fonts
SHADER_DIR = ${SHARE_DIR}/shaders
PREFIX=/usr/local
BINDIR=/bin
LIBDIR=/lib64
SHADERDIR=/share/shaders
FONTDIR=/share/fonts
INSTALL_PROGRAM = install
INSTALL_DATA = install -m 644
SO_FLAGS = -fPIC -shared
COMMON_CFLAGS = -Wall -Wextra -O2 -ggdb
CFLAGS = `pkg-config --cflags raylib` $(COMMON_CFLAGS)
LDFLAGS = `pkg-config --libs raylib` -lm -lpthread -ldl -L${BUILD_DIR} -lplug -Wl,-R,'$$ORIGIN'
FONTS = ${wildcard ${FONT_DIR}/*.ttf}
SHADERS = ${wildcard ${SHADER_DIR}/*.fs}
SRC = ${SRC_DIR}/main.c
LIB = ${SRC_DIR}/plug.c
OBJ = ${SRC:${SRC_DIR}/%.c=${BUILD_DIR}/%.o}
SOBJ = ${LIB:${SRC_DIR}/%.c=${BUILD_DIR}/lib%.so}
BIN = mvis
all: options ${BIN}
options:
@echo ${BIN} build options:
@echo "SO_FLAGS = ${SO_FLAGS}"
@echo "CFLAGS = ${CFLAGS}"
@echo "LDFLAGS = ${LDFLAGS}"
${BUILD_DIR}/%.so: ${LIB} | ${BUILD_DIR}
${CC} ${SO_FLAGS} ${CFLAGS} -Wl,-soname,libplug.so $< -o $@
${BUILD_DIR}/%.o: ${SRC} | ${BUILD_DIR}
${CC} ${CFLAGS} -c $< -o $@
mvis: ${OBJ} ${SOBJ} | ${BUILD_DIR}
${CC} ${OBJ} ${LDFLAGS} -o ${BUILD_DIR}/${BIN}
dev: ${SRC} ${SOBJ} | ${BUILD_DIR}
${CC} -c ${SRC} ${CFLAGS} -DHOTRELOAD -o ${OBJ}
${CC} ${OBJ} ${LDFLAGS} -o ${BUILD_DIR}/${BIN}
${BUILD_DIR}:
mkdir -p ${PREFIX}$@
${BINDIR}:
mkdir -p ${PREFIX}$@
${LIBDIR}:
mkdir -p ${PREFIX}$@
${SHADERDIR}:
mkdir -p ${PREFIX}$@
${FONTDIR}:
mkdir -p ${PREFIX}$@
install: ${BINDIR} ${LIBDIR} ${SHADERDIR} ${FONTDIR}
${INSTALL_PROGRAM} ${BUILD_DIR}/${BIN} ${PREFIX}${BINDIR}/${BIN}
${INSTALL_PROGRAM} ${SOBJ} ${PREFIX}${LIBDIR}/${subst ${BUILD_DIR}/,,${SOBJ}}
${INSTALL_DATA} ${FONTS} ${subst ${FONT_DIR},${PREFIX}${FONTDIR},${FONTS}}
@for font in ${FONTS}; do \
dest="${PREFIX}${FONTDIR}/$$(basename $$font)"; \
echo "install -m 644 $$font $$dest"; \
${INSTALL_DATA} $$font $$dest; \
done
@for shader in ${SHADERS}; do \
dest="${PREFIX}${SHADERDIR}/$$(basename $$shader)"; \
echo "install -m 644 $$shader $$dest"; \
${INSTALL_DATA} $$shader $$dest; \
done
uninstall:
${RM} ${PREFIX}${BINDIR}/${BIN}
${RM} ${PREFIX}${LIBDIR}/${subst ${BUILD_DIR}/,,${SOBJ}}
@for font in ${FONTS}; do \
dest="${PREFIX}${FONTDIR}/$$(basename $$font)"; \
echo "rm -f $$dest"; \
${RM} $$dest; \
done
@for shader in ${SHADERS}; do \
dest="${PREFIX}${SHADERDIR}/$$(basename $$shader)"; \
echo "rm -f $$dest"; \
${RM} $$dest; \
done
clean:
${RM} ${BUILD_DIR}/${BIN}
${RM} ${OBJ}
${RM} ${SOBJ}
|