48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# You will need SDL2 (http://www.libsdl.org):
							 | 
						||
| 
								 | 
							
								#   brew install sdl2
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#CXX = g++
							 | 
						||
| 
								 | 
							
								#CXX = clang++
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								EXE = example_sdl_metal
							 | 
						||
| 
								 | 
							
								IMGUI_DIR = ../..
							 | 
						||
| 
								 | 
							
								SOURCES = main.mm
							 | 
						||
| 
								 | 
							
								SOURCES += $(IMGUI_DIR)/imgui.cpp $(IMGUI_DIR)/imgui_demo.cpp $(IMGUI_DIR)/imgui_draw.cpp $(IMGUI_DIR)/imgui_widgets.cpp
							 | 
						||
| 
								 | 
							
								SOURCES += $(IMGUI_DIR)/backends/imgui_impl_sdl.cpp $(IMGUI_DIR)/backends/imgui_impl_metal.mm
							 | 
						||
| 
								 | 
							
								OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES))))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LIBS = -framework Metal -framework MetalKit -framework Cocoa -framework IOKit -framework CoreVideo -framework QuartzCore
							 | 
						||
| 
								 | 
							
								LIBS += `sdl2-config --libs`
							 | 
						||
| 
								 | 
							
								LIBS += -L/usr/local/lib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								CXXFLAGS = -I$(IMGUI_DIR) -I$(IMGUI_DIR)/backends -I/usr/local/include
							 | 
						||
| 
								 | 
							
								CXXFLAGS += `sdl2-config --cflags`
							 | 
						||
| 
								 | 
							
								CXXFLAGS += -Wall -Wformat
							 | 
						||
| 
								 | 
							
								CFLAGS = $(CXXFLAGS)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								%.o:%.cpp
							 | 
						||
| 
								 | 
							
									$(CXX) $(CXXFLAGS) -c -o $@ $<
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								%.o:$(IMGUI_DIR)/%.cpp
							 | 
						||
| 
								 | 
							
									$(CXX) $(CXXFLAGS) -c -o $@ $<
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								%.o:$(IMGUI_DIR)/backends/%.cpp
							 | 
						||
| 
								 | 
							
									$(CXX) $(CXXFLAGS) -c -o $@ $<
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								%.o:%.mm
							 | 
						||
| 
								 | 
							
									$(CXX) $(CXXFLAGS) -ObjC++ -fobjc-weak -fobjc-arc -c -o $@ $<
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								%.o:$(IMGUI_DIR)/backends/%.mm
							 | 
						||
| 
								 | 
							
									$(CXX) $(CXXFLAGS) -ObjC++ -fobjc-weak -fobjc-arc -c -o $@ $<
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								all: $(EXE)
							 | 
						||
| 
								 | 
							
									@echo Build complete
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$(EXE): $(OBJS)
							 | 
						||
| 
								 | 
							
									$(CXX) -o $@ $^ $(CXXFLAGS) $(LIBS)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								clean:
							 | 
						||
| 
								 | 
							
									rm -f $(EXE) $(OBJS)
							 |