imgui

FORK: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
git clone https://git.neptards.moe/neptards/imgui.git
Log | Files | Refs

Makefile (2082B)


      1 #
      2 # Cross Platform Makefile
      3 # Compatible with MSYS2/MINGW, Ubuntu 14.04.1 and Mac OS X
      4 #
      5 # You will need SDL2 (http://www.libsdl.org):
      6 # Linux:
      7 #   apt-get install libsdl2-dev
      8 # Mac OS X:
      9 #   brew install sdl2
     10 # MSYS2:
     11 #   pacman -S mingw-w64-i686-SDL2
     12 #
     13 
     14 #CXX = g++
     15 #CXX = clang++
     16 
     17 EXE = example_sdl_opengl2
     18 IMGUI_DIR = ../..
     19 SOURCES = main.cpp
     20 SOURCES += $(IMGUI_DIR)/imgui.cpp $(IMGUI_DIR)/imgui_demo.cpp $(IMGUI_DIR)/imgui_draw.cpp $(IMGUI_DIR)/imgui_tables.cpp $(IMGUI_DIR)/imgui_widgets.cpp
     21 SOURCES += $(IMGUI_DIR)/backends/imgui_impl_sdl.cpp $(IMGUI_DIR)/backends/imgui_impl_opengl2.cpp
     22 OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES))))
     23 UNAME_S := $(shell uname -s)
     24 
     25 CXXFLAGS = -I$(IMGUI_DIR) -I$(IMGUI_DIR)/backends
     26 CXXFLAGS += -g -Wall -Wformat
     27 LIBS =
     28 
     29 ##---------------------------------------------------------------------
     30 ## BUILD FLAGS PER PLATFORM
     31 ##---------------------------------------------------------------------
     32 
     33 ifeq ($(UNAME_S), Linux) #LINUX
     34 	ECHO_MESSAGE = "Linux"
     35 	LIBS += -lGL -ldl `sdl2-config --libs`
     36 
     37 	CXXFLAGS += `sdl2-config --cflags`
     38 	CFLAGS = $(CXXFLAGS)
     39 endif
     40 
     41 ifeq ($(UNAME_S), Darwin) #APPLE
     42 	ECHO_MESSAGE = "Mac OS X"
     43 	LIBS += -framework OpenGL -framework Cocoa -framework IOKit -framework CoreVideo `sdl2-config --libs`
     44 	LIBS += -L/usr/local/lib -L/opt/local/lib
     45 
     46 	CXXFLAGS += `sdl2-config --cflags`
     47 	CXXFLAGS += -I/usr/local/include -I/opt/local/include
     48 	CFLAGS = $(CXXFLAGS)
     49 endif
     50 
     51 ifeq ($(OS), Windows_NT)
     52 	ECHO_MESSAGE = "MinGW"
     53 	LIBS += -lgdi32 -lopengl32 -limm32 `pkg-config --static --libs sdl2`
     54 
     55 	CXXFLAGS += `pkg-config --cflags sdl2`
     56 	CFLAGS = $(CXXFLAGS)
     57 endif
     58 
     59 ##---------------------------------------------------------------------
     60 ## BUILD RULES
     61 ##---------------------------------------------------------------------
     62 
     63 %.o:%.cpp
     64 	$(CXX) $(CXXFLAGS) -c -o $@ $<
     65 
     66 %.o:$(IMGUI_DIR)/%.cpp
     67 	$(CXX) $(CXXFLAGS) -c -o $@ $<
     68 
     69 %.o:$(IMGUI_DIR)/backends/%.cpp
     70 	$(CXX) $(CXXFLAGS) -c -o $@ $<
     71 
     72 all: $(EXE)
     73 	@echo Build complete for $(ECHO_MESSAGE)
     74 
     75 $(EXE): $(OBJS)
     76 	$(CXX) -o $@ $^ $(CXXFLAGS) $(LIBS)
     77 
     78 clean:
     79 	rm -f $(EXE) $(OBJS)