BIN = bin
OUT = $(BIN)/out
INS = /usr/local/bin/nbtvis

SRC = $(shell find src -type f -name "*.c")
OBJ = $(patsubst %.c,$(BIN)/%.o, $(SRC))

CCFLAGS = -Isrc -std=c2x -Wall -Wextra -pedantic -O0 -g
LDFLAGS = 

CC = gcc
LD = gcc

.PHONY: build

build: $(OUT)

$(OBJ): $(BIN)/%.o : %.c
	@mkdir -p $(@D)
	$(CC) -c $(CCFLAGS) -o $@ $<

$(OUT): $(OBJ) $(ASM_OBJ)
	@mkdir -p $(@D)
	$(LD) -o $(OUT) $(OBJ) $(LDFLAGS)

run:
	$(OUT)

install:
	cp $(OUT) $(INS)
	chown root: $(INS)

clean:
	rm -fr $(BIN)