]> git.dkaiser.de - 42/cpp01.git/commitdiff
Setup ex01
authorDominik Kaiser <dkaiser@student.42heilbronn.de>
Mon, 10 Feb 2025 10:13:16 +0000 (11:13 +0100)
committerDominik Kaiser <dkaiser@student.42heilbronn.de>
Mon, 10 Feb 2025 10:13:16 +0000 (11:13 +0100)
ex01/Makefile [new file with mode: 0644]
ex01/Zombie.cpp [new file with mode: 0644]
ex01/Zombie.hpp [new file with mode: 0644]
ex01/main.cpp [new file with mode: 0644]
ex01/zombieHorde.cpp [new file with mode: 0644]

diff --git a/ex01/Makefile b/ex01/Makefile
new file mode 100644 (file)
index 0000000..69a6f72
--- /dev/null
@@ -0,0 +1,50 @@
+################################################################################
+################################## VARIABLES ###################################
+################################################################################
+
+NAME    := moar_brainz
+
+CC      =  c++
+CFLAGS  =  -Wall -Wextra -Werror -std=c++17
+HEADERS =  -I.
+
+SRC     := main.cpp Zombie.cpp zombieHorde.cpp
+
+OBJ_DIR := _obj
+OBJ     := $(addprefix $(OBJ_DIR)/, $(SRC:%.cpp=%.o))
+
+################################################################################
+#################################### RULES #####################################
+################################################################################
+
+all: $(NAME)
+
+$(NAME): $(OBJ)
+       @$(CC) $(CFLAGS) $^ -o $@ $(HEADERS)
+       @echo "[$(NAME)] Created binary."
+
+$(OBJ_DIR)/%.o: %.cpp
+       @if [ ! -d "$(dir $@)" ]; then \
+               mkdir -p $(dir $@); \
+       fi
+       @$(CC) $(CFLAGS) -c $< -o $@ $(HEADERS)
+       @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/ex01/Zombie.cpp b/ex01/Zombie.cpp
new file mode 100644 (file)
index 0000000..bbd0a65
--- /dev/null
@@ -0,0 +1,28 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   Zombie.cpp                                         :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2025/02/10 10:27:11 by dkaiser           #+#    #+#             */
+/*   Updated: 2025/02/10 10:46:03 by dkaiser          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "Zombie.hpp"
+#include <iostream>
+
+Zombie::Zombie(const std::string &name)
+    :name(name)
+{}
+
+Zombie::~Zombie(void)
+{
+    std::cout << name << " died." << std::endl;
+}
+
+void Zombie::announce(void)
+{
+    std::cout << name << ": BraiiiiiiinnnzzzZ..." << std::endl;
+}
diff --git a/ex01/Zombie.hpp b/ex01/Zombie.hpp
new file mode 100644 (file)
index 0000000..5c96e80
--- /dev/null
@@ -0,0 +1,30 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   Zombie.hpp                                         :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2025/02/10 10:26:18 by dkaiser           #+#    #+#             */
+/*   Updated: 2025/02/10 11:12:29 by dkaiser          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#ifndef ZOMBIE_H_
+#define ZOMBIE_H_
+
+#include <string>
+
+class Zombie
+{
+    public:
+        Zombie(const std::string &name);
+        ~Zombie(void);
+        void announce(void);
+    private:
+        std::string name;
+};
+
+Zombie* zombieHorde(int N, std::string name);
+
+#endif
diff --git a/ex01/main.cpp b/ex01/main.cpp
new file mode 100644 (file)
index 0000000..feb3506
--- /dev/null
@@ -0,0 +1,14 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   main.cpp                                           :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2025/02/10 11:09:42 by dkaiser           #+#    #+#             */
+/*   Updated: 2025/02/10 11:09:50 by dkaiser          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+int main(void)
+{}
diff --git a/ex01/zombieHorde.cpp b/ex01/zombieHorde.cpp
new file mode 100644 (file)
index 0000000..462fb34
--- /dev/null
@@ -0,0 +1,16 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   zombieHorde.cpp                                    :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2025/02/10 11:10:08 by dkaiser           #+#    #+#             */
+/*   Updated: 2025/02/10 11:11:04 by dkaiser          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "Zombie.hpp"
+
+Zombie* zombieHorde(int N, std::string name)
+{}