34 lines
		
	
	
		
			608 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			608 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
SHELL = /bin/bash
 | 
						|
 | 
						|
SRC_DIR = ./src
 | 
						|
INC_DIR = ./include
 | 
						|
OBJ_DIR = ./obj
 | 
						|
 | 
						|
HEADERS   = $(wildcard $(INC_DIR)/*.hpp)
 | 
						|
SRC_FILES = $(wildcard $(SRC_DIR)/*.cpp)
 | 
						|
DEP_FILES = $(OBJ_FILES:.o=.d)
 | 
						|
OBJ_FILES = $(addprefix $(OBJ_DIR)/,$(notdir $(SRC_FILES:.cpp=.o)))
 | 
						|
 | 
						|
CXXFLAGS += -Wall -std=c++20 -O2 -I $(INC_DIR)
 | 
						|
 | 
						|
all: bin/swarm
 | 
						|
 | 
						|
bin/swarm: $(OBJ_FILES)
 | 
						|
	@mkdir -p bin
 | 
						|
	$(CXX) $(CXXFLAGS) -o $@ $^
 | 
						|
 | 
						|
.PHONY: debug
 | 
						|
debug: CXXFLAGS += -O0 -g
 | 
						|
debug: clean bin/swarm
 | 
						|
 | 
						|
.PHONY: clean
 | 
						|
clean:
 | 
						|
	$(RM) obj/*.o
 | 
						|
	$(RM) bin/swarm
 | 
						|
 | 
						|
-include $(DEP_FILES)
 | 
						|
 | 
						|
$(OBJ_DIR)/%.o : src/%.cpp
 | 
						|
	mkdir -p $(@D)
 | 
						|
	$(CXX) $(CXXFLAGS) -MMD -c $< -o $@
 |