mirror of
https://github.com/hathach/tinyusb.git
synced 2026-08-18 11:02:16 +00:00
@ -3,11 +3,12 @@
|
||||
# It is self-contained: it #includes src/class/net/ncm_device.c and stubs the
|
||||
# few usbd/glue symbols, so it does not link the whole device stack.
|
||||
#
|
||||
# make # build the libFuzzer target: ./net_ncm
|
||||
# make # build the libFuzzer target: _build/net_ncm
|
||||
# make regression # build + replay the crafted seed under ASan (no engine)
|
||||
# make clean
|
||||
|
||||
TOP := ../../../..
|
||||
BUILD := _build
|
||||
|
||||
CC ?= clang
|
||||
|
||||
@ -21,20 +22,22 @@ FUZZ_FLAGS := -fsanitize=fuzzer
|
||||
|
||||
.PHONY: all regression clean get-deps
|
||||
|
||||
all: net_ncm
|
||||
all: $(BUILD)/net_ncm
|
||||
|
||||
# No external dependencies (the harness only needs the in-tree NCM driver).
|
||||
get-deps:
|
||||
|
||||
# libFuzzer supplies its own main(), so drop the standalone driver here.
|
||||
net_ncm: fuzz.c
|
||||
$(BUILD)/net_ncm: fuzz.c
|
||||
mkdir -p $(@D)
|
||||
$(CC) $(CFLAGS) $(FUZZ_FLAGS) -DNO_MAIN -o $@ $<
|
||||
|
||||
# Standalone build with a plain main(): replays the crafted seed and any extra
|
||||
# corpus files given as arguments. Used as a deterministic regression.
|
||||
regression: fuzz.c
|
||||
$(CC) $(CFLAGS) -o net_ncm_regression $<
|
||||
./net_ncm_regression
|
||||
mkdir -p $(BUILD)
|
||||
$(CC) $(CFLAGS) -o $(BUILD)/net_ncm_regression $<
|
||||
./$(BUILD)/net_ncm_regression
|
||||
|
||||
clean:
|
||||
$(RM) -rf net_ncm net_ncm_regression *.dSYM
|
||||
$(RM) -rf $(BUILD) *.dSYM
|
||||
|
||||
Reference in New Issue
Block a user