First commit
This commit is contained in:
		
							
								
								
									
										51
									
								
								tests/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								tests/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| include ../premake.make | ||||
| LDLIBS += -lboost_unit_test_framework | ||||
|  | ||||
| BIN := $(shell basename $$(pwd)) | ||||
|  | ||||
| SRCS := $(notdir $(wildcard src/*.cpp)) | ||||
| SRCS += $(notdir $(filter-out ../src/main.cpp,$(wildcard ../src/*.cpp))) | ||||
| OBJS := $(SRCS:.cpp=.o) | ||||
| DEPS := $(SRCS:.cpp=.d) | ||||
|  | ||||
| BUILDDIR := build/intermediates/ | ||||
|  | ||||
| CXX ?= g++ | ||||
| RM := /bin/rm -rf | ||||
|  | ||||
| CXXFLAGS += -Wshadow -Wall -Wpedantic -Wextra -Wno-unused-parameter | ||||
| CXXFLAGS += -g3 -std=c++20 -I../src | ||||
| ifeq ($(DEBUG),1) | ||||
| 	CXXFLAGS += -D DEBUG -O0 | ||||
| 	CONFIG := debug | ||||
| else | ||||
| 	CXXFLAGS += -D NDEBUG -O3 | ||||
| 	CONFIG := release | ||||
| endif | ||||
| OUTDIR := build/$(CONFIG)/ | ||||
|  | ||||
| vpath %.cpp src ../src | ||||
| vpath %.d $(BUILDDIR) | ||||
| vpath %.o $(BUILDDIR) | ||||
|  | ||||
| .PHONY: all clean prebuild | ||||
|  | ||||
| all: prebuild $(OUTDIR)$(BIN) | ||||
|  | ||||
| prebuild: | ||||
| 	@mkdir -p $(BUILDDIR) $(OUTDIR) | ||||
|  | ||||
| $(OUTDIR)$(BIN): $(OBJS) | ||||
| 	$(CXX) $(addprefix $(BUILDDIR),$(OBJS)) $(LDFLAGS) $(LDLIBS) -o $(OUTDIR)$(BIN) | ||||
| 	@ln -sf $(OUTDIR)$(BIN) $(BIN) | ||||
|  | ||||
| %.o %.d: %.cpp | ||||
| 	$(CXX) $(CXXFLAGS) -MMD -MP -MT $@ -MF $*.d -c $< | ||||
| 	@mv $@ $*.d $(BUILDDIR) | ||||
|  | ||||
| -include $(addprefix $(BUILDDIR), $(DEPS)) | ||||
|  | ||||
| clean: | ||||
| 	$(RM) build $(BIN) | ||||
|  | ||||
| -include postmake.make | ||||
		Reference in New Issue
	
	Block a user