summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authoryuzu-eva <cafebabe@disroot.org>2025-06-08 14:33:02 +0200
committeryuzu-eva <cafebabe@disroot.org>2025-06-08 14:33:02 +0200
commit390cbf31635951e46a49ed8657cd2a1635757f19 (patch)
tree89f1d51b926017cc5bbcdd88ad503fb20743223c /Makefile
parentb7e05ac5c2cb8f169b1cf66926faddcf7f15b7cc (diff)
changed project structure, adjusted Makefilerefactor
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile22
1 files changed, 14 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index aaf0f79..47d1b05 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,9 @@
SHELL = /bin/sh
CC = gcc
+SRC_DIR := src
+BUILD_DIR := build
+
PREFIX = /usr/local
BINDIR = /bin
@@ -9,8 +12,8 @@ INSTALL_DATA = install -m 644
CFLAGS = -Wall -Wextra
LIBS = -lsqlite3
-SRC = main.c dbhandling.c enum.c
-OBJ = ${SRC:.c=.o}
+SRC = ${wildcard ${SRC_DIR}/*.c}
+OBJ = ${SRC:${SRC_DIR}/%.c=${BUILD_DIR}/%.o}
BIN = libman
all: options ${BIN}
@@ -20,17 +23,20 @@ options:
@echo "CFLAGS = ${CFLAGS}"
@echo "CC = ${CC}"
-.c.o:
- ${CC} -c ${CFLAGS} ${SRC}
+${BUILD_DIR}/%.o: ${SRC_DIR}/%.c | ${BUILD_DIR}
+ ${CC} ${CFLAGS} -c $< -o $@
+
+libman: ${OBJ} | ${BUILD_DIR}
+ ${CC} ${CFLAGS} ${LIBS} ${OBJ} -o ${BUILD_DIR}/${BIN}
-libman: .c.o
- ${CC} ${CFLAGS} ${LIBS} ${OBJ} -o ${BIN}
+${BUILD_DIR}:
+ mkdir -p $@
install:
- ${INSTALL_PROGRAM} ${BIN} ${PREFIX}${BINDIR}/${BIN}
+ ${INSTALL_PROGRAM} ${BUILD_DIR}/${BIN} ${PREFIX}${BINDIR}/${BIN}
clean:
- ${RM} ${BIN}
+ ${RM} ${BUILD_DIR}/${BIN}
${RM} ${OBJ}
uninstall: