mips/makefile.mk
2024-09-20 21:16:07 -04:00

38 lines
697 B
Makefile

# needed cflags
CFLAGS += -std=gnu2x
# add include directory
CFLAGS += -isystem ../include
INCLUDE += ../include
# add lib directory
SRC += ../lib
H_SRC = $(shell find $(SRC) $(INCLUDE) -type f -name "*.h")
C_SRC = $(shell find $(SRC) -type f -name "*.c")
C_OBJ = $(patsubst %.c,$(BIN)/%.o,$(C_SRC))
.PHONY: clean build run
build: $(BIN)/$(OUT)
clean:
rm -fr $(BIN)
rm -fr ../bin/lib
run: build
$(BIN)/$(OUT)
test:
make -C ../test $(OUT)
mkdir -p ../fuzz
afl-fuzz -i ../test/$(OUT) -o ../fuzz -- $(BIN)/$(OUT) @@
$(C_OBJ): $(BIN)/%.o : %.c
@mkdir -p $(@D)
$(CC) -c $(CFLAGS) -o $@ $<
$(BIN)/$(OUT): $(C_OBJ) $(H_SRC)
@mkdir -p $(@D)
$(LD) $(LDFLAGS) -o $(BIN)/$(OUT) $(C_OBJ)