/
Xakka
/
C8
Обзор
Документация
Войти
/
Xakka
/
C8
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/Makefile
107 строк
3 KB
moshedur
master: release 1.0
05 янв 2025, 00:25
05 янв 2025, 00:25
ed17595
Код
Авторство
О чём код?
SHELL = /bin/sh CC=gcc FLAGS=-Wall -Wextra -Werror -std=c11 CFLAGS:=$(FLAGS) GCOV:=$(FLAGS) --coverage GTK=`pkg-config --cflags --libs gtk4` -Wl,--export-dynamic -lGLEW -lm -lGL BLD=../build/ INST_DIR=~/3DViewer_1.0 NAME=3DViewer VER=_1.0 all: $(BLD)$(NAME) .PHONY: all $(BLD)$(NAME): $(BLD)main.o $(BLD)viewer3d.o $(CC) $(CFLAGS) $^ -o $@ $(GTK) $(BLD)main.o: main.c main.h $(CC) $(CFLAGS) -c main.c -o $@ $(GTK) $(BLD)viewer3d.o: viewer3d.c viewer3d.h $(CC) $(CFLAGS) -c viewer3d.c -o $@ $(GTK) $(BLD)test.o: tests/test.c $(CC) $(CFLAGS) -c $^ -o $@ $(GTK) 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: cp docs/Doxyfile . cp docs/README.md . doxygen Doxyfile 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 .PHONY: dvi clean: -rm -rf $(BLD)*.* $(BLD)*_* *.gcno *.gcda *.info $(BLD)test $(BLD)3DViewer *.gch *.out .PHONY: clean tests: test .PHONY: tests test: tests/test.c viewer3d.c viewer3d.h main.c main.h $(CC) $(CFLAGS) tests/test.c viewer3d.c main.c -DTEST -o $(BLD)test -lcheck -lm -lsubunit $(GTK) -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 $(BLD)main.o $(BLD)viewer3d.o $(BLD)test.o clean test -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/*" "src/main.c" "src/dependencies/" -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 CFLAGS:=$(GCOV)) .PHONY: gcov_flag dependencies: sudo apt update sudo apt install libgtk-4-dev libglew-dev libcglm-dev libcglm-dev sudo wget -e use_proxy=yes https://raw.githubusercontent.com/syoyo/tinyobjloader-c/master/tinyobj_loader_c.h -O /usr/include/tinyobj_loader_c.h .PHONY: dependencies dev: dependencies .PHONY: dev link: -mkdir -p ../cmake-build-debug/ -ln -f MainWindow.ui ../cmake-build-debug/MainWindow.ui -ln -f settings.bin ../cmake-build-debug/settings.bin -mkdir -p ../cmake-build-debug-coverage/ -ln -f MainWindow.ui ../cmake-build-debug-coverage/MainWindow.ui -ln -f settings.bin ../cmake-build-debug-coverage/settings.bin -ln -f CMakeLists.txt ../CMakeLists.txt .PHONY: link clang: clang-format -i *.c tests/*.c