30 lines
		
	
	
		
			566 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			566 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)
 | 
						|
OBJ_FILES = $(addprefix $(OBJ_DIR)/,$(notdir $(SRC_FILES:.cpp=.o)))
 | 
						|
 | 
						|
CXXFLAGS += -Wall -std=c++2a -fopenmp -O3 -Ofast -march=native
 | 
						|
 | 
						|
all: bin/raytracer
 | 
						|
 | 
						|
$(OBJ_DIR)/%.o: src/%.cpp
 | 
						|
	$(CXX) $(CXXFLAGS) -c -o $@ $^
 | 
						|
 | 
						|
bin/raytracer: $(OBJ_FILES)
 | 
						|
	@mkdir -p $(OBJ_DIR)
 | 
						|
	$(CXX) $(CXXFLAGS) -o $@ $^
 | 
						|
 | 
						|
.PHONY: debug
 | 
						|
debug: CXXFLAGS += -O0 -g
 | 
						|
debug: clean bin/raytracer
 | 
						|
 | 
						|
.PHONY: clean
 | 
						|
clean:
 | 
						|
	$(RM) -r obj/*.o
 | 
						|
	$(RM) bin/*
 |