2026-03-19 23:55:05 +01:00

37 lines
629 B
Makefile

MAKEFLAGS += -j16
CFLAGS=-std=c17 -pedantic-errors -Wall -Wextra -Wconversion -g
LDFLAGS=
# CFLAGS+=-fsanitize=address
build_dir = build
obj_dir = $(build_dir)/obj
sources = \
src/main.c \
src/json_parse.c \
src/json_value.c \
src/collections.c
target=$(build_dir)/jq
all: $(target)
debug: $(target)
gdb tui -ex 'b main.c:254' -ex 'b collections.c:161' -ex 'r' --args build/jq '.' data.json
$(target): $(sources:%.c=$(obj_dir)/%.o)
gcc -o $@ $(CFLAGS) $(LDFLAGS) $^
$(obj_dir)/%.o: %.c
@mkdir -p $(dir $@)
gcc $< -c -o $@ -MMD -MP $(CFLAGS)
clean:
rm -rf $(build_dir)
-include $(sources:%.c=$(obj_dir)/%.d)