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 (2143B)


      1 #
      2 # Cross Platform Makefile
      3 # Compatible with MSYS2/MINGW, Ubuntu 14.04.1 and Mac OS X
      4 #
      5 # You will need GLFW (http://www.glfw.org):
      6 # Linux:
      7 #   apt-get install libglfw-dev
      8 # Mac OS X:
      9 #   brew install glfw
     10 # MSYS2:
     11 #   pacman -S --noconfirm --needed mingw-w64-x86_64-toolchain mingw-w64-x86_64-glfw
     12 #
     13 
     14 #CXX = g++
     15 #CXX = clang++
     16 
     17 EXE = example_glfw_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_glfw.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 `pkg-config --static --libs glfw3`
     36 
     37 	CXXFLAGS += `pkg-config --cflags glfw3`
     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
     44 	LIBS += -L/usr/local/lib -L/opt/local/lib -L/opt/homebrew/lib
     45 	#LIBS += -lglfw3
     46 	LIBS += -lglfw
     47 
     48 	CXXFLAGS += -I/usr/local/include -I/opt/local/include -I/opt/homebrew/include
     49 	CFLAGS = $(CXXFLAGS)
     50 endif
     51 
     52 ifeq ($(OS), Windows_NT)
     53 	ECHO_MESSAGE = "MinGW"
     54 	LIBS += -lglfw3 -lgdi32 -lopengl32 -limm32
     55 
     56 	CXXFLAGS += `pkg-config --cflags glfw3`
     57 	CFLAGS = $(CXXFLAGS)
     58 endif
     59 
     60 ##---------------------------------------------------------------------
     61 ## BUILD RULES
     62 ##---------------------------------------------------------------------
     63 
     64 %.o:%.cpp
     65 	$(CXX) $(CXXFLAGS) -c -o $@ $<
     66 
     67 %.o:$(IMGUI_DIR)/%.cpp
     68 	$(CXX) $(CXXFLAGS) -c -o $@ $<
     69 
     70 %.o:$(IMGUI_DIR)/backends/%.cpp
     71 	$(CXX) $(CXXFLAGS) -c -o $@ $<
     72 
     73 all: $(EXE)
     74 	@echo Build complete for $(ECHO_MESSAGE)
     75 
     76 $(EXE): $(OBJS)
     77 	$(CXX) -o $@ $^ $(CXXFLAGS) $(LIBS)
     78 
     79 clean:
     80 	rm -f $(EXE) $(OBJS)
     81