# Compiler and flags CC = gcc CXX = g++ CFLAGS = -w CXXFLAGS = $(CFLAGS) -std=c++20 -I/opt/arm64/include LDFLAGS = -L/opt/arm64/lib SYSLIBS = -framework CoreFoundation ย # Find SDL3 packages using pkg-config PKGS = sdl3 sdl3-image sdl3-ttf libxml-2.0 CFLAGS += $(shell pkg-config --cflags $(PKGS)) CXXFLAGS += $(shell pkg-config --cflags $(PKGS)) LIBS = $(shell pkg-config --libs $(PKGS)) ย # Directories SRC_DIR = SDL3Test OBJ_DIR = obj BIN_DIR = bin ย # Find all source files SRCS = $(wildcard $(SRC_DIR)/*.c) $(wildcard $(SRC_DIR)/*.cpp) OBJS = $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(filter %.c,$(SRCS))) \ ย ย $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(filter %.cpp,$(SRCS))) ย # Target executable name TARGET = $(BIN_DIR)/LairwareSDL3 ย # Default target all: dirs $(TARGET) ย # Create necessary directories dirs: ย ย @mkdir -p $(OBJ_DIR) $(BIN_DIR) ย # Link object files $(TARGET): $(OBJS) ย ย $(CXX) -o $@ $^ $(LDFLAGS) $(LIBS) $(SYSLIBS) ย # Compile C source files $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c ย ย $(CC) $(CFLAGS) -c $< -o $@ ย # Compile C++ source files $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp ย ย $(CXX) $(CXXFLAGS) -c $< -o $@ ย # Clean up clean: ย ย rm -rf $(OBJ_DIR) $(BIN_DIR) ย # Run the application run: all ย ย $(TARGET) ย .PHONY: all dirs clean run
Comments
0 B
|๐
/๐
0 B
|๐
/๐
0 B
|๐
/๐
0 B
|๐
/๐
0 B
|๐
/๐