/
Xakka
/
CPP4
Обзор
Документация
Войти
/
Xakka
/
CPP4
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/Makefile
153 строки
4 KB
moshedur
master: release 1.0
05 янв 2025, 00:19
05 янв 2025, 00:19
c27b78a
Код
Авторство
О чём код?
SHELL = /bin/sh СХХ=g++ FLAGS=-Wall -Wextra -Werror CXXFLAGS:=$(FLAGS) -std=c++17 GCOV:=$(FLAGS) --coverage GTK=`pkg-config --cflags --libs gtkmm-4.0` -Wl,--export-dynamic -lGLEW -lm -lGL BLD=../build/ DIR_BUILD:=../build/qt INST_DIR=~/3DViewer_2.0 NAME=3DViewer VER=_2.0 all: $(BLD)$(NAME) .PHONY: all $(BLD)$(NAME): $(BLD)gtk.o $(CXX) $(CXXFLAGS) $^ -o $@ $(GTK) $(BLD)gtk.o: gtk.cpp gtk.h $(CXX) $(CXXFLAGS) -c gtk.cpp -o $@ $(GTK) $(BLD)test.o: tests/test.cpp $(CXX) $(CXXFLAGS) -c $^ -o $@ install: all mkdir -p $(INST_DIR) cp $(BLD)$(NAME) $(INST_DIR) .PHONY: install uninstall: rm -f $(INST_DIR)/$(NAME) rmdir $(INST_DIR) .PHONY: uninstall dvi: # sudo apt-get install texlive-xetex # sudo apt-get install texlive-lang-cyrillic cp docs/Doxyfile . cp docs/README.md . doxygen Doxyfile cd latex && make # open latex/refman.pdf rm -rf Doxyfile README.md latex/*.tex latex/*.tmp latex/*.aux latex/*.log latex/*.out latex/*.dot latex/*.sty latex/*.idx latex/*.toc latex/*.jpg latex/*.png latex/*.ilg latex/*.ind latex/Makefile mv latex ../build mv html ../build .PHONY: dvi clean: -rm -rf $(BLD)*.* $(BLD)*_* *.gcno *.gcda *.info $(BLD)test .PHONY: clean tests: test .PHONY: tests test: $(CXX) $(CXXFLAGS) tests/test.cpp -o $(BLD)$@ $(GTK) -lgtest -clear $(BLD)test .PHONY: test dist: $(BLD)$(NAME) rm -rf $(BLD)$(NAME)$(VER) mkdir $(BLD)$(NAME)$(VER) cp -p $^ $(BLD)$(NAME)$(VER) cd $(BLD) && tar chozf $(NAME).tar.gz $(NAME)$(VER) rm -rf $(BLD)$(NAME)$(VER) .PHONY: dist run: all $(BLD)$(NAME) .PHONY: all gcov_report: clean gcov_flag test clean -rm -rf report/ -lcov --rc geninfo_unexecuted_blocks=1 --ignore-errors mismatch -t "3dviewer_report" -o $(BLD)3dviewer_report2.info -c -d $(BLD) -lcov -r $(BLD)3dviewer_report2.info "*src/tests*" "*/usr/*" -o $(BLD)3dviewer_report.info -genhtml -o report $(BLD)3dviewer_report.info -make clean .PHONY: gcov_report vg: test -clear -valgrind --tool=memcheck --leak-check=yes $(BLD)test .PHONY: vg gcov_flag: $(eval CXXFLAGS:=$(GCOV)) .PHONY: gcov_flag dependencies: sudo apt update sudo apt install cmake gcc clang gdb build-essential libgtkmm-4.0-dev libglew-dev libglm-dev libtinyobjloader-dev libgtest-dev doxygen qt6-base-dev qtcreator .PHONY: dependencies dev: dependencies .PHONY: dev link: -mkdir -p ../cmake-build-debug/ -ln -f MainWindow.ui ../cmake-build-debug/MainWindow.ui -ln -f vertex_shader.glsl ../cmake-build-debug/vertex_shader.glsl -ln -f fragment_shader.glsl ../cmake-build-debug/fragment_shader.glsl -ln -f settings.bin ../cmake-build-debug/settings.bin -ln -f CMakeLists.txt ../CMakeLists.txt .PHONY: linkSHELL = /bin/sh #======================FOR QT======================== # QT_QPA_PLATFORM="xcb" nano -> /etc/environment: SRC=$(wildcard *.cpp) OBJS = $(DESKTOP_SRC:.cpp=.o) DIR_BUILD:=../build/qt %.o: %.cpp $(CXX) $(CXXFLAGS) -c $? -o $(DIR_BUILD)/$(*F).o all_qt: prepare make s21_3dviewer_qt_build make s21_3dviewer_qt_run .PHONY: all_qt install_lib_qt: sudo apt install qt6-base-dev sudo apt install libqt5quickcontrols2-5 sudo apt install qtquickcontrols2-5-dev .PHONY: install_lib_qt s21_3dviewer_qt_build: /usr/bin/qmake6 qt/3dviewer.pro -o $(DIR_BUILD)/Makefile -spec linux-g++ CONFIG+=debug CONFIG-=qml_debug make -C $(DIR_BUILD) clean first -rm $(DIR_BUILD)/*.o $(DIR_BUILD)/Makefile $(DIR_BUILD)/*.cpp $(DIR_BUILD)/*.h .PHONY: s21_3dviewer_qt_build s21_3dviewer_qt_run: ./$(DIR_BUILD)/3dviewer .PHONY: s21_3dviewer_qt_run prepare: clean_qt mkdir -p $(DIR_BUILD) .PHONY: prepare clean_qt: -rm -f $(DIR_BUILD)/* .PHONY: clean_qt 1: run .PHONY: 1 2: all_qt .PHONY: 2