-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
44 lines (27 loc) · 1.08 KB
/
Makefile
File metadata and controls
44 lines (27 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Компилятор:
CC = gcc
#Фалги компиляции:
CFLAGS = -Wall -Wextra -g -std=c11 -DDEBUG
# Объектные файлы(.о-файлы)
OBJ_MAIN = internal/app/app.o pkg/services/bitset/bitset.o pkg/services/output/output.o cmd/bitset/main.o
OBJ_TEST = pkg/services/bitset/bitset.o pkg/services/output/output.o tests/tests.o
# Имена для финальных исполняемых файлов
TARGET = build/package/bitset_main
TEST_TARGET = build/tests/bitset_tests
# Компиляция main-исполняемого файла:
$(TARGET): $(OBJ_MAIN)
$(CC) $(CFLAGS) $(OBJ_MAIN) -o $(TARGET)
# Компиляция tests-исполняемого файла:
$(TEST_TARGET): $(OBJ_TEST)
$(CC) $(CFLAGS) $(OBJ_TEST) -o $(TEST_TARGET)
# Правила компиляции каждого .c-файла в .o-файл
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
# Очистка
clean:
rm -f $(OBJ_MAIN) $(OBJ_TEST)
all-clean:
rm -f $(OBJ_MAIN) $(OBJ_TEST) $(TARGET) $(TEST_TARGET)
# Перекомпиляция
rebuild:
clean $(TARGET) $(TEST_TARGET)