vlad-refactor
This commit is contained in:
51
vlad/lab_3/Makefile
Normal file
51
vlad/lab_3/Makefile
Normal file
@@ -0,0 +1,51 @@
|
||||
# Компилятор и флаги
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -Wextra -std=c99 -pedantic
|
||||
|
||||
# Целевые файлы
|
||||
TARGET_PARENT = parent
|
||||
TARGET_TASK11 = task11
|
||||
|
||||
# Исходные файлы
|
||||
SRC_PARENT = parent.c
|
||||
SRC_TASK11 = task11.c
|
||||
|
||||
# Объектные файлы
|
||||
OBJ_PARENT = $(SRC_PARENT:.c=.o)
|
||||
OBJ_TASK11 = $(SRC_TASK11:.c=.o)
|
||||
|
||||
.PHONY: all clean help test
|
||||
|
||||
all: $(TARGET_PARENT) $(TARGET_TASK11)
|
||||
|
||||
$(TARGET_PARENT): $(OBJ_PARENT)
|
||||
$(CC) $(CFLAGS) -o $@ $^
|
||||
@echo "Родительская программа собрана: $@"
|
||||
|
||||
$(TARGET_TASK11): $(OBJ_TASK11)
|
||||
$(CC) $(CFLAGS) -o $@ $^
|
||||
@echo "Программа лаб. работы №11 собрана: $@"
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET_PARENT) $(TARGET_TASK11) $(OBJ_PARENT) $(OBJ_TASK11) input* output*
|
||||
@echo "Очистка завершена"
|
||||
|
||||
help:
|
||||
@echo "Доступные цели:"
|
||||
@echo " all - собрать все"
|
||||
@echo " clean - удалить все скомпилированные файлы"
|
||||
@echo " test - запустить тестирование программы"
|
||||
|
||||
test: all
|
||||
@echo "Создаем тестовые файлы..."
|
||||
@echo "abbaabbccdd" > input1.txt
|
||||
@echo "hello world !!" > input2.txt
|
||||
@echo "Запуск parent..."
|
||||
./$(TARGET_PARENT) 5 input1.txt output1.txt input2.txt output2.txt
|
||||
@echo "Содержимое output1.txt:"
|
||||
@cat output1.txt || echo "Файл output1.txt не найден"
|
||||
@echo "Содержимое output2.txt:"
|
||||
@cat output2.txt || echo "Файл output2.txt не найден"
|
||||
Reference in New Issue
Block a user