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


      1 #
      2 # Cross Platform Makefile
      3 # Compatible with MSYS2/MINGW, Ubuntu 14.04.1 and Mac OS X
      4 #
      5 # Linux:
      6 #   apt-get install freeglut3-dev
      7 #
      8 
      9 #CXX = g++
     10 #CXX = clang++
     11 
     12 EXE = example_glut_opengl2
     13 IMGUI_DIR = ../..
     14 SOURCES = main.cpp
     15 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
     16 SOURCES += $(IMGUI_DIR)/backends/imgui_impl_glut.cpp $(IMGUI_DIR)/backends/imgui_impl_opengl2.cpp
     17 OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES))))
     18 UNAME_S := $(shell uname -s)
     19 
     20 CXXFLAGS = -I$(IMGUI_DIR) -I$(IMGUI_DIR)/backends
     21 CXXFLAGS += -g -Wall -Wformat
     22 LIBS =
     23 
     24 ##---------------------------------------------------------------------
     25 ## BUILD FLAGS PER PLATFORM
     26 ##---------------------------------------------------------------------
     27 
     28 ifeq ($(UNAME_S), Linux) #LINUX
     29 	ECHO_MESSAGE = "Linux"
     30 	LIBS += -lGL -lglut
     31 	CFLAGS = $(CXXFLAGS)
     32 endif
     33 
     34 ifeq ($(UNAME_S), Darwin) #APPLE
     35 	ECHO_MESSAGE = "Mac OS X"
     36 	LIBS += -framework OpenGL -framework GLUT
     37 	LIBS += -L/usr/local/lib -L/opt/local/lib
     38 
     39 	CXXFLAGS += -I/usr/local/include -I/opt/local/include
     40 	CFLAGS = $(CXXFLAGS)
     41 endif
     42 
     43 ifeq ($(OS), Windows_NT)
     44 	ECHO_MESSAGE = "MinGW"
     45 	LIBS += -lgdi32 -lopengl32 -limm32
     46 ifeq ($(shell pkg-config freeglut --exists 2> /dev/null && echo yes || echo no),yes)
     47 	CXXFLAGS += $(shell pkg-config freeglut --cflags)
     48 	LIBS += $(shell pkg-config freeglut --libs)
     49 else
     50 	LIBS += -lglut
     51 endif
     52 	CFLAGS = $(CXXFLAGS)
     53 endif
     54 
     55 ##---------------------------------------------------------------------
     56 ## BUILD RULES
     57 ##---------------------------------------------------------------------
     58 
     59 %.o:%.cpp
     60 	$(CXX) $(CXXFLAGS) -c -o $@ $<
     61 
     62 %.o:$(IMGUI_DIR)/%.cpp
     63 	$(CXX) $(CXXFLAGS) -c -o $@ $<
     64 
     65 %.o:$(IMGUI_DIR)/backends/%.cpp
     66 	$(CXX) $(CXXFLAGS) -c -o $@ $<
     67 
     68 all: $(EXE)
     69 	@echo Build complete for $(ECHO_MESSAGE)
     70 
     71 $(EXE): $(OBJS)
     72 	$(CXX) -o $@ $^ $(CXXFLAGS) $(LIBS)
     73 
     74 clean:
     75 	rm -f $(EXE) $(OBJS)