Makefile 551 B

123456789101112131415161718192021
  1. CXX = g++
  2. COMMONFLAGS := -I tvision/include/ -std=c++23 -fPIE -Wall -Wextra -Werror -pedantic -Wno-unknown-pragmas
  3. #OPTFLAGS := -O0 -g3
  4. OPTFLAGS := -Ofast -flto -fvisibility=hidden
  5. LINKFLAGS := -L tvision/build -fPIE $(OPTFLAGS)
  6. LIBS := -Wl,-Bstatic -ltvision -Wl,-Bdynamic -lncursesw -ltinfow -lgpm
  7. SOURCES = $(wildcard *.cpp)
  8. OBJECTS = $(SOURCES:.cpp=.o)
  9. app: $(OBJECTS)
  10. g++ $(OPTFLAGS) $(LINKFLAGS) $(OBJECTS) $(LIBS) -o ui
  11. %.o: %.cpp
  12. $(CXX) -c $(COMMONFLAGS) $(OPTFLAGS) $< -o $@
  13. clean:
  14. rm -f $(OBJECTS)
  15. format:
  16. clang-format -i *.h *.cpp