Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CXX=g++
- RM=rm
- Q=@
- QQ=@
- SRC=src
- BUILD=build
- SOURCES=$(wildcard $(SRC)/*.cpp)
- OBJECTS:=$(patsubst $(SRC)/%.cpp,$(BUILD)/%.o,$(SOURCES))
- PCH_SRC:=./include/Headers.h
- PCH_OUT:=./include/Headers.h.gch
- INCLUDE:=./include
- INCLUDE+=./submodules/prefix/include
- INCLUDE:=$(patsubst %,-I%,$(INCLUDE))
- LDFLAGS:=-L./submodules/prefix/lib64
- LDFLAGS+=-lgtest
- LDFLAGS+=-lgmock
- LDFLAGS+=-lpthread
- CFLAGS+=-Wall
- CFLAGS+=-Wextra
- CFLAGS+=-O0
- CFLAGS+=-g
- CFLAGS+=-std=c++17
- TARGET=main
- all: $(PCH_OUT) $(TARGET)
- $(TARGET): $(OBJECTS)
- $(QQ) echo " LD $@"
- $(Q) $(CXX) -o $@ $^ $(CFLAGS) $(LDFLAGS)
- $(OBJECTS): | $(BUILD)
- $(BUILD):
- $(Q) mkdir -p $(BUILD)
- $(BUILD)/%.o: $(SRC)/%.cpp
- $(QQ) echo " CXX $@"
- $(Q) $(CXX) -c -o $@ $< $(INCLUDE) $(CFLAGS)
- $(PCH_OUT): $(PCH_SRC)
- $(QQ) echo " CXX $@"
- $(Q) $(CXX) -c -o $@ $< $(INCLUDE) $(CFLAGS)
- clean:
- $(QQ) echo " RM $(TARGET) $(OBJECTS)"
- $(Q) $(RM) -f $(TARGET) $(OBJECTS)
- mrproper: clean
- $(QQ) echo " RM $(PCH_OUT)"
- $(Q) $(RM) -f $(PCH_OUT)
- .PHONY: clean mrproper all
Add Comment
Please, Sign In to add comment