Kronos/src/Makefile

34 lines
704 B
Makefile

.PHONY: clean
CXX=g++
CXXFLAGS_DEBUG:=$(CXXFLAGS) -Wall -std=c++17 -g
CXXFLAGS:=$(CXXFLAGS) -Wall -std=c++17 -O2 -s
LDFLAGS:=$(LDFLAGS)
INC_CXXFLAGS=-I../vendor/nvenc
LIBS=-lX11 -lnvidia-encode
TARGETS=kronos
TARGETS_DEBUG=kronos_dbg
SRC=main.cpp Exception.cpp Logger.cpp XDisplayConnection.cpp XWindow.cpp
OBJ=$(SRC:.cpp=.o)
OBJ_DEBUG=$(SRC:.cpp=.odbg)
all: $(TARGETS)
debug: $(TARGETS_DEBUG)
kronos: $(OBJ)
$(CXX) $(LDFLAGS) $(LIBS) $^ -o $@
kronos_dbg: $(OBJ_DEBUG)
$(CXX) $(LDFLAGS) $(LIBS) $^ -o $@
%.o: %.cpp
$(CXX) $(CXXFLAGS) $(INC_CXXFLAGS) -c $^ -o $@
%.odbg: %.cpp
$(CXX) $(CXXFLAGS_DEBUG) $(INC_CXXFLAGS) -c $^ -o $@
clean:
rm -f $(TARGETS) $(TARGETS_DEBUG) $(OBJ) $(OBJ_DEBUG)