Nicole Portas преди 1 месец
родител
ревизия
09c3fa2b19
променени са 1 файла, в които са добавени 40 реда и са изтрити 0 реда
  1. 40 0
      Makefile

+ 40 - 0
Makefile

@@ -0,0 +1,40 @@
+# Compiler and Linker
+CXX = g++
+CXXFLAGS = -std=c++17 -Wall -Wextra `pkg-config --cflags gtkmm-3.0`
+LDFLAGS = `pkg-config --libs gtkmm-3.0`
+
+# Target Executable Name
+TARGET = visual-renamer
+
+# Directories
+SRC_DIR = src
+OBJ_DIR = obj
+
+# Source and Object Files
+SOURCES = $(wildcard $(SRC_DIR)/*.cpp)
+OBJECTS = $(SOURCES:$(SRC_DIR)/%.cpp=$(OBJ_DIR)/%.o)
+
+# Default Rule
+all: $(TARGET)
+
+# Link the executable
+$(TARGET): $(OBJECTS)
+	@echo "Linking $@..."
+	$(CXX) -o $@ $(OBJECTS) $(LDFLAGS)
+
+# Compile source files to object files
+$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp | $(OBJ_DIR)
+	@echo "Compiling $<..."
+	$(CXX) $(CXXFLAGS) -c $< -o $@
+
+# Create object directory if it doesn't exist
+$(OBJ_DIR):
+	mkdir -p $(OBJ_DIR)
+
+# Clean build artifacts
+clean:
+	@echo "Cleaning up..."
+	rm -rf $(OBJ_DIR) $(TARGET)
+
+# Phonies
+.PHONY: all clean