35 lines
		
	
	
		
			652 B
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			652 B
		
	
	
	
		
			Makefile
		
	
	
	
| SRC_DIR := src
 | |
| OBJ_DIR := obj
 | |
| BIN_DIR := bin
 | |
| 
 | |
| TARGET := $(BIN_DIR)/dpt_planarizer
 | |
| SRCS := $(wildcard $(SRC_DIR)/*.cpp)
 | |
| OBJS := $(SRCS:$(SRC_DIR)/%.cpp=$(OBJ_DIR)/%.o)
 | |
| DEPS := $(OBJS:.o=.d)
 | |
| 
 | |
| # compiler and flags
 | |
| CXX := g++
 | |
| CPPFLAGS := -Iinclude -MMD -MP
 | |
| CXXFLAGS := -std=c++14 -Wall
 | |
| LDFLAGS := -lOGDF
 | |
| 
 | |
| build: $(TARGET)
 | |
| 
 | |
| # build target executable
 | |
| $(TARGET): $(OBJS) | $(BIN_DIR)
 | |
| 	$(CXX) $^ -o $@ $(LDFLAGS) 
 | |
| 
 | |
| # compile source to object files
 | |
| $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp | $(OBJ_DIR)
 | |
| 	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@
 | |
| 
 | |
| $(BIN_DIR) $(OBJ_DIR):
 | |
| 	mkdir -p $@
 | |
| 
 | |
| # include dependency files
 | |
| -include $(DEPS)
 | |
| 
 | |
| .PHONY: clean
 | |
| clean:
 | |
| 	rm -r $(OBJ_DIR)
 |