Files
2026-06-08 01:42:56 +02:00

44 lines
757 B
Makefile

CC = gcc
CFLAGS = -g -MD -MP
TARGET = build/storectl
SRC := $(wildcard src/*.c)
OBJ := $(patsubst src/%.c,build/%.o,$(SRC))
INC = ./include ../shared/include
LIBS = readline
HDR_FLG = $(foreach D, $(INC), -I$(D))
DEP_FILES = $(wildcard build/*.d)
LIB_FLG = $(foreach D, $(LIBS), -l$(D))
all: $(TARGET)
# link step
$(TARGET): $(OBJ)
@mkdir -p build
$(CC) $(CFLAGS) $(LIB_FLG) -o $@ $^
# compile step
build/%.o: src/%.c
@mkdir -p build
$(CC) $(CFLAGS) $(HDR_FLG) -c $< -o $@
clean:
rm -rf build
re: clean all
run: all
@./$(TARGET)
cloc:
@cloc --exclude-ext=d,json --fullpath --not-match-d='(.*)deps(.*)' .
monitor:
@watch -t -n 0.1 "ls /dev/mqueue/ /tmp | grep -E 'store|:'"
-include $(DEP_FILES)
.PHONY: all clean re run cloc monitor