From ed3307e16e7f35849c6c0b3790f9662353e00aa5 Mon Sep 17 00:00:00 2001 From: Maximilian Date: Sat, 1 Nov 2025 12:49:06 +0300 Subject: [PATCH] Update Makefile --- Makefile | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 61636ef..e6facfe 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,32 @@ -CFLAGS=-Wall -I munit -ggdb -unittest_obj=munit/munit.o +CC = gcc +CFLAGS = -Wall -Wextra -std=c99 -I. +MUNIT_DIR = munit -all: str_bin str_test +# Основные цели +all: test example -str_test: $(unittest_obj) str_lib.o str_test.o - $(CC) $(CFLAGS) -o $@ $^ +# Сборка библиотеки munit +$(MUNIT_DIR)/munit.o: $(MUNIT_DIR)/munit.c $(MUNIT_DIR)/munit.h + $(CC) $(CFLAGS) -c $(MUNIT_DIR)/munit.c -o $(MUNIT_DIR)/munit.o -str_bin: str_lib.o str_bin.o - $(CC) $(CFLAGS) -o $@ $^ +# Сборка библиотеки строк +str_lib.o: str_lib.c str_lib.h + $(CC) $(CFLAGS) -c str_lib.c -o str_lib.o -test: ./str_test +# Сборка тестов +str_test: str_test.c str_lib.o $(MUNIT_DIR)/munit.o + $(CC) $(CFLAGS) str_test.c str_lib.o $(MUNIT_DIR)/munit.o -o str_test + +# Сборка примера из munit +example: example.c $(MUNIT_DIR)/munit.o + $(CC) $(CFLAGS) example.c $(MUNIT_DIR)/munit.o -o example + +# Запуск тестов +test: str_test ./str_test +# Очистка clean: - rm *_bin *.o $(unittest_obj) str_test + rm -f *.o str_test example $(MUNIT_DIR)/*.o + +.PHONY: all test clean