summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authoryuzu-eva <cafebabe@disroot.org>2025-04-23 11:21:04 +0200
committeryuzu-eva <cafebabe@disroot.org>2025-04-23 11:21:04 +0200
commita029d434b3f67c37bb4663be8e9b4d6623a32955 (patch)
tree44872c7797ff3b2b27a53ead3f9ca4ce80b5b30c /Makefile
parent083dc7097143385e55ca14372194da7e05fb8c19 (diff)
restructure project
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile59
1 files changed, 36 insertions, 23 deletions
diff --git a/Makefile b/Makefile
index 8add25b..c401a65 100644
--- a/Makefile
+++ b/Makefile
@@ -1,39 +1,52 @@
-SHELL=/bin/bash
-CC=gcc
+SHELL = /bin/sh
+CC = gcc
-SRCDIR=./src
PREFIX=/usr/local
BINDIR=/bin
LIBDIR=/lib64
-INSTALL_PROGRAM=install
-INSTALL_DATA=install -m 644
+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
-BIN=mvis
+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: $(BIN)
+all: options ${BIN}
-mvis: $(SRCDIR)/main.c plug
- $(CC) $(SRCDIR)/main.c $(SRCDIR)/plug.c $(CFLAGS) $(LDFLAGS) -o mvis
+options:
+ @echo ${BIN} build options:
+ @echo "SO_FLAGS = ${SO_FLAGS}"
+ @echo "CFLAGS = ${CFLAGS}"
+ @echo "LDFLAGS = ${LDFLAGS}"
-dev: $(SRCDIR)/main.c plug
- $(CC) $(SRCDIR)/main.c $(CFLAGS) -DHOTRELOAD $(LDFLAGS) -o mvis
+.c.so:
+ ${CC} ${LIB} ${SO_FLAGS} ${CFLAGS} -o ${SOBJ}
-plug: $(SRCDIR)/plug.c
- $(CC) $(SRCDIR)/plug.c $(SO_FLAGS) $(CFLAGS) $(LDFLAGS) -o libplug.so
+.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) mvis $(PREFIX)$(BINDIR)/mvis
- $(INSTALL_DATA) libplug.so $(PREFIX)$(LIBDIR)/libplug.so
+ ${INSTALL_PROGRAM} ${BIN} ${PREFIX}${BINDIR}/${BIN}
+ ${INSTALL_DATA} ${SOBJ} ${PREFIX}${LIBDIR}/${SOBJ}
uninstall:
- $(RM) /usr/local/bin/mvis
- $(RM) /usr/local/lib64/libplug.so
+ ${RM} ${PREFIX}${BINDIR}/${BIN}
+ ${RM} ${PREFIX}${LIBDIR}/${SOBJ}
clean:
- $(RM) mvis
- $(RM) libplug.so
+ ${RM} ${BIN}
+ ${RM} ${OBJ}
+ ${RM} ${SOBJ}