MiMo-V2.5-QEdge / Makefile
Qapdex's picture
Create Makefile
661a5de verified
Raw
History Blame Contribute Delete
1.74 kB
# project_natal/Makefile
# Compiler-Definition
CXX = g++
# Compiler-Flags für maximale Hardware-Zerstörung (CPU-Optimierung)
# -O3: Maximale Optimierungsstufe für Geschwindigkeit
# -fopenmp: Aktiviert die Multi-Core-Parallelisierung im C++ Kernel
# -march=native: Optimiert den Code exakt für deine lokale CPU (AVX2/AVX512)
# -ffast-math: Erlaubt dem Compiler aggressive mathematische Abkürzungen
CXXFLAGS = -O3 -fopenmp -march=native -ffast-math -std=c++17 -Wall
# Pfade und Verzeichnisse
SRC_DIR = src
OBJ_DIR = obj
TARGET = project_natal_engine
# Sourcen und Objekte automatisch ermitteln
SRCS = $(SRC_DIR)/main.cpp
OBJS = $(OBJ_DIR)/main.o
# Standard-Target: Baut das gesamte Projekt
all: $(TARGET)
# Linker-Schritt: Erzeugt das ausführbare Binärfile
$(TARGET): $(OBJS)
@echo "[Natal - Linker] Verknüpfe Binärdatei mit OpenMP-Support..."
$(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJS)
@echo "=================================================="
@echo " PROJECT NATAL ERFOLGREICH KOMPILIERT! "
@echo " Starte die Engine mit: ./$(TARGET) "
@echo "=================================================="
# Compiler-Schritt: Kompiliert die C++ Quelldateien in Objektdateien
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
@mkdir -p $(OBJ_DIR)
@echo "[Natal - Compiler] Kompiliere $< mit maximaler Optimierung..."
$(CXX) $(CXXFLAGS) -c $< -o $@
# Clean-Target: Bereinigt das Verzeichnis von alten Build-Dateien
clean:
@echo "[Natal - Clean] Entferne Objektdateien und Binärfiles..."
rm -rf $(OBJ_DIR) $(TARGET)
@echo "[Natal - Clean] Bereinigt."
# Hilfs-Target: Kompiliert und startet das Programm sofort
run: all
@echo "\n[Natal - Launch] Starte Inferenz-Triebwerk...\n"
./$(TARGET)
.PHONY: all clean run