@@ -34,13 +34,13 @@ ZSTDDIR = ../../lib
3434PRGDIR = ../../programs
3535CONTRIBDIR = ../../contrib
3636
37- # TODO(embg) make it possible to plug in an arbitrary matchfinder as a .o file
38- MATCHFINDER_DIR = $(CONTRIBDIR ) /externalSequenceProducer
39- MATCHFINDER_SRC = $( MATCHFINDER_DIR ) /sequence_producer.c
37+ DEFAULT_SEQ_PROD_DIR = $( CONTRIBDIR ) /externalSequenceProducer
38+ DEFAULT_SEQ_PROD_SRC = $(DEFAULT_SEQ_PROD_DIR ) /sequence_producer.c
39+ THIRD_PARTY_SEQ_PROD_OBJ ?=
4040
4141FUZZ_CPPFLAGS := -I$(ZSTDDIR ) -I$(ZSTDDIR ) /common -I$(ZSTDDIR ) /compress \
4242 -I$(ZSTDDIR ) /dictBuilder -I$(ZSTDDIR ) /deprecated -I$(ZSTDDIR ) /legacy \
43- -I$(CONTRIBDIR ) /seekable_format -I$(PRGDIR ) -I$(MATCHFINDER_DIR ) \
43+ -I$(CONTRIBDIR ) /seekable_format -I$(PRGDIR ) -I$(DEFAULT_SEQ_PROD_DIR ) \
4444 -DZSTD_MULTITHREAD -DZSTD_LEGACY_SUPPORT=1 $(CPPFLAGS )
4545FUZZ_EXTRA_FLAGS := -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \
4646 -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement \
@@ -75,7 +75,7 @@ FUZZ_SRC := \
7575 $(ZSTDCOMP_SRC ) \
7676 $(ZSTDDICT_SRC ) \
7777 $(ZSTDLEGACY_SRC ) \
78- $(MATCHFINDER_SRC )
78+ $(DEFAULT_SEQ_PROD_SRC )
7979FUZZ_SRC := $(sort $(wildcard $(FUZZ_SRC ) ) )
8080
8181FUZZ_D_OBJ1 := $(subst $(ZSTDDIR ) /common/,d_lib_common_,$(FUZZ_SRC ) )
@@ -84,21 +84,23 @@ FUZZ_D_OBJ3 := $(subst $(ZSTDDIR)/decompress/,d_lib_decompress_,$(FUZZ_D_OBJ2))
8484FUZZ_D_OBJ4 := $(subst $(ZSTDDIR ) /dictBuilder/,d_lib_dictBuilder_,$(FUZZ_D_OBJ3 ) )
8585FUZZ_D_OBJ5 := $(subst $(ZSTDDIR ) /legacy/,d_lib_legacy_,$(FUZZ_D_OBJ4 ) )
8686FUZZ_D_OBJ6 := $(subst $(PRGDIR ) /,d_prg_,$(FUZZ_D_OBJ5 ) )
87- FUZZ_D_OBJ7 := $(subst $(MATCHFINDER_DIR ) /,d_matchfinder_ ,$(FUZZ_D_OBJ6 ) )
87+ FUZZ_D_OBJ7 := $(subst $(DEFAULT_SEQ_PROD_DIR ) /,d_default_seq_prod_ ,$(FUZZ_D_OBJ6 ) )
8888FUZZ_D_OBJ8 := $(subst $\./,d_fuzz_,$(FUZZ_D_OBJ7 ) )
8989FUZZ_D_OBJ9 := $(FUZZ_D_OBJ8:.c=.o )
90- FUZZ_DECOMPRESS_OBJ := $(FUZZ_D_OBJ9:.S=.o )
90+ FUZZ_D_OBJ10 := $(THIRD_PARTY_SEQ_PROD_OBJ ) $(FUZZ_D_OBJ9 )
91+ FUZZ_DECOMPRESS_OBJ := $(FUZZ_D_OBJ10:.S=.o )
9192
9293FUZZ_RT_OBJ1 := $(subst $(ZSTDDIR ) /common/,rt_lib_common_,$(FUZZ_SRC ) )
9394FUZZ_RT_OBJ2 := $(subst $(ZSTDDIR ) /compress/,rt_lib_compress_,$(FUZZ_RT_OBJ1 ) )
9495FUZZ_RT_OBJ3 := $(subst $(ZSTDDIR ) /decompress/,rt_lib_decompress_,$(FUZZ_RT_OBJ2 ) )
9596FUZZ_RT_OBJ4 := $(subst $(ZSTDDIR ) /dictBuilder/,rt_lib_dictBuilder_,$(FUZZ_RT_OBJ3 ) )
9697FUZZ_RT_OBJ5 := $(subst $(ZSTDDIR ) /legacy/,rt_lib_legacy_,$(FUZZ_RT_OBJ4 ) )
9798FUZZ_RT_OBJ6 := $(subst $(PRGDIR ) /,rt_prg_,$(FUZZ_RT_OBJ5 ) )
98- FUZZ_RT_OBJ7 := $(subst $(MATCHFINDER_DIR ) /,rt_matchfinder_ ,$(FUZZ_RT_OBJ6 ) )
99+ FUZZ_RT_OBJ7 := $(subst $(DEFAULT_SEQ_PROD_DIR ) /,rt_default_seq_prod_ ,$(FUZZ_RT_OBJ6 ) )
99100FUZZ_RT_OBJ8 := $(subst $\./,rt_fuzz_,$(FUZZ_RT_OBJ7 ) )
100101FUZZ_RT_OBJ9 := $(FUZZ_RT_OBJ8:.c=.o )
101- FUZZ_ROUND_TRIP_OBJ := $(FUZZ_RT_OBJ9:.S=.o )
102+ FUZZ_RT_OBJ10 := $(THIRD_PARTY_SEQ_PROD_OBJ ) $(FUZZ_RT_OBJ9 )
103+ FUZZ_ROUND_TRIP_OBJ := $(FUZZ_RT_OBJ10:.S=.o )
102104
103105.PHONY : default all clean cleanall
104106
@@ -151,7 +153,7 @@ rt_prg_%.o: $(PRGDIR)/%.c
151153rt_fuzz_% .o : % .c
152154 $(CC ) $(FUZZ_CPPFLAGS ) $(FUZZ_CFLAGS ) $(FUZZ_ROUND_TRIP_FLAGS ) $< -c -o $@
153155
154- rt_matchfinder_ % .o : $(MATCHFINDER_DIR ) /% .c
156+ rt_default_seq_prod_ % .o : $(DEFAULT_SEQ_PROD_DIR ) /% .c
155157 $(CC ) $(FUZZ_CPPFLAGS ) $(FUZZ_CFLAGS ) $(FUZZ_ROUND_TRIP_FLAGS ) $< -c -o $@
156158
157159d_lib_common_% .o : $(ZSTDDIR ) /common/% .c
@@ -178,7 +180,7 @@ d_prg_%.o: $(PRGDIR)/%.c
178180d_fuzz_% .o : % .c
179181 $(CC ) $(FUZZ_CPPFLAGS ) $(FUZZ_CFLAGS ) $< -c -o $@
180182
181- d_matchfinder_ % .o : $(MATCHFINDER_DIR ) /% .c
183+ d_default_seq_prod_ % .o : $(DEFAULT_SEQ_PROD_DIR ) /% .c
182184 $(CC ) $(FUZZ_CPPFLAGS ) $(FUZZ_CFLAGS ) $< -c -o $@
183185
184186simple_round_trip : $(FUZZ_HEADERS ) $(FUZZ_ROUND_TRIP_OBJ ) rt_fuzz_simple_round_trip.o
0 commit comments