summaryrefslogtreecommitdiff
path: root/Makefile
blob: c401a6506d20e291ea8409f1859f346283bd6dba (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
SHELL = /bin/sh
CC = gcc

PREFIX=/usr/local
BINDIR=/bin
LIBDIR=/lib64

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
SRC = main.c
LIB = plug.c
OBJ = main.o
SOBJ = libplug.so
BIN = mvis

all: options ${BIN}

options:
	@echo ${BIN} build options:
	@echo "SO_FLAGS = ${SO_FLAGS}"
	@echo "CFLAGS   = ${CFLAGS}"
	@echo "LDFLAGS  = ${LDFLAGS}"

.c.so:
	${CC} ${LIB} ${SO_FLAGS} ${CFLAGS} -o ${SOBJ}

.c.o:
	${CC} -c ${CFLAGS} ${SRC}

mvis: .c.o .c.so
	${CC} ${OBJ} ${SOBJ} ${CFLAGS} ${LDFLAGS} -o ${BIN}

dev: .c.o .c.so
	${CC} ${OBJ} ${SOBJ} ${CFLAGS} -DHOTRELOAD ${LDFLAGS} -o ${BIN}

install:
	${INSTALL_PROGRAM} ${BIN} ${PREFIX}${BINDIR}/${BIN}
	${INSTALL_DATA} ${SOBJ} ${PREFIX}${LIBDIR}/${SOBJ}

uninstall:
	${RM} ${PREFIX}${BINDIR}/${BIN}
	${RM} ${PREFIX}${LIBDIR}/${SOBJ}

clean:
	${RM} ${BIN}
	${RM} ${OBJ}
	${RM} ${SOBJ}