CXX := g++ IMGUI_DIR := third_party/imgui CXXFLAGS := -std=c++20 -Wall -Wextra -g \ -I$(IMGUI_DIR) -I$(IMGUI_DIR)/backends LDFLAGS := -lglfw -lGL -ldl -lpthread SRCS := main.cpp \ engine/engine.cpp \ engine/transmission.cpp \ engine/vehicle.cpp \ engine/simulation.cpp \ gui/gui.cpp \ $(IMGUI_DIR)/imgui.cpp \ $(IMGUI_DIR)/imgui_draw.cpp \ $(IMGUI_DIR)/imgui_tables.cpp \ $(IMGUI_DIR)/imgui_widgets.cpp \ $(IMGUI_DIR)/imgui_demo.cpp \ $(IMGUI_DIR)/backends/imgui_impl_glfw.cpp \ $(IMGUI_DIR)/backends/imgui_impl_opengl3.cpp OBJS := $(SRCS:.cpp=.o) TARGET := engine_sim $(TARGET): $(OBJS) $(CXX) $(OBJS) -o $(TARGET) $(LDFLAGS) %.o: %.cpp $(CXX) $(CXXFLAGS) -c $< -o $@ clean: rm -f $(OBJS) $(TARGET) run: make ./engine_sim .PHONY: clean