File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11PROJECT = Gwint
22
3- TESTPROJECT = test- $(PROJECT )
3+ TESTPROJECT = test$(PROJECT )
44
55CXX = g++
66
77CXXFLAGS = -I. -std=c++17 -Werror -Wall -Wpedantic -g -fPIC
88
99TESTCXXFLAGS = $(CXXFLAGS ) -lgtest -lgtest_main -lpthread
1010
11- DEPS = $(wildcard * .h)
11+ DEPS = $(wildcard inlude/Gwint/* .h)
12+
13+ SRC = $(wildcard src/* .cpp)
14+ TEST_SRC = $(wildcard tests/* .cpp)
15+
16+ OBJDIR = src/obj
17+ TEST_OBJDIR = tests/obj
18+
19+ OBJ = $(SRC:src/%.cpp=$(OBJDIR ) /%.o )
20+ TEST_OBJ = $(TEST_SRC:tests/%.cpp=$(TEST_OBJDIR ) /%.o )
1221
13- TEST-OBJ = test.o
1422
1523.PHONY : default
1624
1725default : all
1826
19- % .o : % .cpp $(DEPS )
27+ $( OBJDIR ) / % .o : $( SRC ) $(DEPS ) | $( OBJDIR )
2028 $(CXX ) -c -o $@ $< $(CXXFLAGS )
29+
30+ $(TEST_OBJDIR ) /% .o : $(TEST_SRC ) | $(TEST_OBJDIR )
31+ $(CXX ) -c -o $@ $< $(CXXFLAGS )
32+
2133
22- $(PROJECT ) : main.o
23- $(CXX ) -o $@ main.o $(CXXFLAGS )
34+ $(PROJECT ) : $( OBJ )
35+ $(CXX ) -o $@ $^ $(CXXFLAGS )
2436
25- $(TESTPROJECT ) : $(TEST-OBJ )
37+ $(TESTPROJECT ) : $(TEST_OBJ )
2638 $(CXX ) -o $@ $^ $(TESTCXXFLAGS )
2739
40+
41+
42+ $(OBJDIR ) :
43+ mkdir -p $(OBJDIR )
44+ $(TEST_OBJDIR ) :
45+ mkdir -p $(TEST_OBJDIR )
46+
47+
48+
2849.PHONY : test
2950
3051test : $(TESTPROJECT )
3152
3253all : $(PROJECT )
3354
3455clean :
35- rm -f * .o
56+ rm -rf $(OBJDIR )
57+ rm -rf $(TEST_OBJDIR )
3658 rm -f $(PROJECT )
3759 rm -f $(TESTPROJECT )
You can’t perform that action at this time.
0 commit comments