aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Kaiser2025-01-14 17:17:27 +0100
committerDominik Kaiser2025-01-14 17:17:27 +0100
commit7f62b82b1fcf64b1bb4fc6e536706a91ed99c492 (patch)
tree59073367a437907a469be4f641c053951a2759cd
downloadPhilosophers-7f62b82b1fcf64b1bb4fc6e536706a91ed99c492.tar.gz
Philosophers-7f62b82b1fcf64b1bb4fc6e536706a91ed99c492.zip
Setup project structure
-rw-r--r--philo/Makefile51
-rw-r--r--philo/src/main.c18
2 files changed, 69 insertions, 0 deletions
diff --git a/philo/Makefile b/philo/Makefile
new file mode 100644
index 0000000..b3af4fb
--- /dev/null
+++ b/philo/Makefile
@@ -0,0 +1,51 @@
+################################################################################
+################################## VARIABLES ###################################
+################################################################################
+
+NAME := philo
+
+CC = cc
+CFLAGS = -Wall -Wextra -Werror
+HEADERS = -Iinclude
+
+VPATH := src
+SRC := main.c
+
+OBJ_DIR := _obj
+OBJ := $(addprefix $(OBJ_DIR)/, $(SRC:%.c=%.o))
+
+################################################################################
+#################################### RULES #####################################
+################################################################################
+
+all: $(NAME)
+
+$(NAME): $(OBJ)
+ @$(CC) $(CFLAGS) $(HEADERS) $^ -o $@
+ @echo "[$(NAME)] Created binary."
+
+$(OBJ_DIR)/%.o: %.c
+ @if [ ! -d "$(dir $@)" ]; then \
+ mkdir -p $(dir $@); \
+ fi
+ @$(CC) $(CFLAGS) $(HEADERS) -c $< -o $@
+ @echo "[$(NAME)] Compiled $<."
+
+clean:
+ @if [ -d "$(OBJ_DIR)" ]; then \
+ rm -rf $(OBJ_DIR); \
+ echo "[$(NAME)] Removed object files."; \
+ fi
+
+fclean: clean
+ @if [ -f "$(NAME)" ]; then \
+ rm -f $(NAME); \
+ echo "[$(NAME)] Removed binary."; \
+ fi
+
+re: fclean all
+
+.PHONY: all clean fclean re
+
+################################################################################
+################################################################################
diff --git a/philo/src/main.c b/philo/src/main.c
new file mode 100644
index 0000000..bca80b5
--- /dev/null
+++ b/philo/src/main.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* main.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2025/01/14 17:13:30 by dkaiser #+# #+# */
+/* Updated: 2025/01/14 17:14:12 by dkaiser ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "philo.h"
+
+int main(int argc, char *argv[])
+{
+ return 0;
+}