1
0
Fork 0
mirror of https://github.com/ocornut/imgui.git synced 2026-01-11 00:04:24 +00:00

Backends: Refactor Makefile for example_sdl2_surface to improve cross-platform compatibility

This commit is contained in:
moonpower 2025-12-25 21:53:27 +01:00
parent eeb20d048b
commit 9084ab8861

View file

@ -1,9 +1,7 @@
# Makefile for example_sdl2_surface (MinGW)
# Makefile for example_sdl2_surface
CXX = g++
CXXFLAGS = -std=c++17 -Wall -Wformat
INCLUDES = -I../.. -I../../backends -I/mingw64/include/SDL2
LIBS = -lmingw32 -lSDL2main -lSDL2 -lgdi32
IMGUI_DIR = ../..
SOURCES = main.cpp
@ -13,6 +11,32 @@ SOURCES += $(IMGUI_DIR)/backends/imgui_impl_sdlsurface2.cpp
OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES))))
UNAME_S := $(shell uname -s)
SDL_CFLAGS := $(shell pkg-config --cflags sdl2 2>/dev/null)
SDL_LIBS := $(shell pkg-config --libs sdl2 2>/dev/null)
EXEEXT :=
RM = rm -f
ifneq (,$(findstring MINGW,$(UNAME_S)))
INCLUDES = -I../.. -I../../backends -I/mingw64/include/SDL2
LIBS = -lmingw32 -lSDL2main -lSDL2 -lgdi32
EXEEXT = .exe
RM = del /Q
else
ifeq ($(UNAME_S),Darwin)
ifeq ($(SDL_CFLAGS),)
SDL_CFLAGS = -F/Library/Frameworks -I/Library/Frameworks/SDL2.framework/Headers
SDL_LIBS = -F/Library/Frameworks -framework SDL2
endif
endif
INCLUDES = -I../.. -I../../backends $(SDL_CFLAGS)
LIBS = $(SDL_LIBS)
endif
TARGET = example_sdl2_surface$(EXEEXT)
%.o:%.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $<
@ -22,10 +46,10 @@ OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES))))
%.o:$(IMGUI_DIR)/backends/%.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $<
all: example_sdl2_surface.exe
all: $(TARGET)
example_sdl2_surface.exe: $(OBJS)
$(TARGET): $(OBJS)
$(CXX) -o $@ $^ $(LIBS)
clean:
del /Q *.o *.exe
$(RM) *.o $(TARGET)