makefile, deletion and for flakes

This commit is contained in:
Rorikstr | Rust Dev 2025-09-25 21:31:59 +03:00
parent 1feb55f404
commit e20765d252
4 changed files with 150 additions and 0 deletions

View file

@ -0,0 +1,48 @@
CC = gcc
CFLAGS = -std=c11 -Wall -Wextra -Werror -g
LDFLAGS = -lncurses
TETRISDIR = brick_game/tetris
CLIDIR = gui/cli
# Файлы
TETRIS_SRC = $(TETRISDIR)/tetris.c
CLI_SRC = $(CLIDIR)/main.c $(CLIDIR)/display.c
OBJ = $(TETRIS_SRC:.c=.o) $(CLI_SRC:.c=.o)
# Имя исполняемого файла
TARGET = tetris
# Установка
PREFIX ?= /usr/local
BINDIR = $(PREFIX)/bin
.PHONY: all install uninstall clean test gcov_report
all: $(TARGET)
$(TARGET): $(OBJ)
$(CC) $(OBJ) -o $@ $(LDFLAGS)
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
install: $(TARGET)
install -m 755 $(TARGET) $(BINDIR)/
uninstall:
rm -f $(BINDIR)/$(TARGET)
clean:
rm -f $(OBJ) $(TARGET) *.gcda *.gcno *.gcov
test:
@echo "Running tests..."
# Здесь будет вызов тестов, если они есть
gcov_report: CFLAGS += --coverage
gcov_report: clean $(TARGET)
./$(TARGET)
gcov $(TETRIS_SRC)
lcov --capture --directory . --output-file coverage.info
genhtml coverage.info --output-directory coverage_report
@echo "Coverage report generated in coverage_report/index.html"