dominus icon

Untitled

dominus | PRO | 04/27/25 01:42:58 PM UTC | 0 โญ | 9002 ๐Ÿ‘๏ธ | Never โฐ | []
Make |

1.26 KB

|

None

|

0 ๐Ÿ‘

/

0 ๐Ÿ‘Ž

# 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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    ๐Ÿ‘

    /

    ๐Ÿ‘Ž

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    ๐Ÿ‘

    /

    ๐Ÿ‘Ž

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    ๐Ÿ‘

    /

    ๐Ÿ‘Ž

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    ๐Ÿ‘

    /

    ๐Ÿ‘Ž

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    ๐Ÿ‘

    /

    ๐Ÿ‘Ž