CC := gcc CFLAGS := -Wall -Wextra -O2 #CFLAGS += -std=c99 # C99 breaks sbrk for some reason (likely toolchain bug) LIBS := -lsqlite3 # Everything links to sqlite rofl SRC := $(wildcard *.c) OBJ := $(SRC:.c=.o) ELF := $(SRC:.c=.elf) %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< %.elf: %.o $(CC) $(LIBS) -o $@ $< all: $(ELF) tags: ctags -R . compile_commands.json: bear -- make format: clang-format -i $(shell git ls-files '*.c' '*.h') clean: rm -rf $(OBJ) $(ELF) *.json .cache .PHONY: format