]> git.dkaiser.de - 42/Philosophers.git/commitdiff
Setup project structure
authorDominik Kaiser <dkaiser@3-E-1.42heilbronn.de>
Tue, 14 Jan 2025 16:17:27 +0000 (17:17 +0100)
committerDominik Kaiser <dkaiser@3-E-1.42heilbronn.de>
Tue, 14 Jan 2025 16:17:27 +0000 (17:17 +0100)
philo/Makefile [new file with mode: 0644]
philo/src/main.c [new file with mode: 0644]

diff --git a/philo/Makefile b/philo/Makefile
new file mode 100644 (file)
index 0000000..b3af4fb
--- /dev/null
@@ -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 (file)
index 0000000..bca80b5
--- /dev/null
@@ -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;
+}