# Literaly only need thos so i can get a compile_commands.json so my clangd lsp stops yelling at me

OUTD ?= ./build

CC = gcc
LD = gcc
AR = ar

# -fblocks
CCARGS = -fpic -Wall -O3 -Wall -Isrc/include
LDARGS = 
# -lBlocksRuntime

srcs = $(wildcard src/**/*.c) $(wildcard src/*.c)
objs = $(patsubst src/%.c,$(OUTD)/obj/%.o,$(srcs))

# $(OUTD)/libmcutil.so
all: $(objs) $(OUTD)/libmcutil.a 
	compiledb -n make

$(OUTD)/libmcutil.so: $(objs)
	$(LD) -o $@ $^ -shared $(LDARGS)

$(OUTD)/libmcutil.a: $(objs)
	$(AR) rcs $@ $^

build/obj/%.o: src/%.c
	mkdir -p $(dir $@)
	$(CC) -c -o $@ $< $(CCARGS)