| 123456789101112131415161718192021222324252627282930313233343536373839 |
- # Add exiv2 to the pkg-config calls
- CXXFLAGS = -std=c++17 -Wall -Wextra `pkg-config --cflags gtkmm-3.0 exiv2`
- LDFLAGS = `pkg-config --libs gtkmm-3.0 exiv2`
- # 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
|