L
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
CC = gcc
|
||||
|
||||
CFLAGS = -I./include -g
|
||||
LDFLAGS = -lncursesw -lpanel -lmenu
|
||||
|
||||
TARGET = matrix
|
||||
|
||||
SRC_DIR = src
|
||||
OBJ_DIR = .obj
|
||||
|
||||
SRC = $(wildcard $(SRC_DIR)/*.c)
|
||||
OBJ = $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRC))
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): $(OBJ)
|
||||
$(CC) $(OBJ) -o $(TARGET) $(LDFLAGS)
|
||||
|
||||
# Компиляция .c -> .o в .obj/
|
||||
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
# Создание папки для объектов
|
||||
$(OBJ_DIR):
|
||||
mkdir -p $(OBJ_DIR)
|
||||
|
||||
run:
|
||||
./matrix < input > output
|
||||
|
||||
clean:
|
||||
rm -rf $(OBJ_DIR) $(TARGET) output
|
||||
|
||||
.cc: $(OBJ)
|
||||
mkdir -p $(OBJ_DIR)
|
||||
@for src in $(SRC); do \
|
||||
obj=$(OBJ_DIR)/$$(basename $$src .c).o; \
|
||||
bear -- $(CC) $(CFLAGS) -c $$src -o $$obj; \
|
||||
done
|
||||
mv ./compile_commands.json .build/ || true
|
||||
|
||||
Reference in New Issue
Block a user