mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-23 01:53:47 +08:00
2869485be9
The fuzzers from oss-fuzz in projects/e2fsprogs/fuzz (as of commit 78ecd3f07fca with some slight modifications for better error reporting) have been placed in the tests/fuzz directory and the configure script now supports a new option --enable-fuzzing which will build these fuzzers using clang's -fsanitize=fuzzer command line option. In general, some sanitizer such as --enable-addrsan or --enable-ubsan (to enable ASAN or UBSAN, respectively) should be enabled alongside --enable-fuzzing. A typical configure command to build the fuzzers might be: configure CC=clang CXX=clang++ CFLAGS=-g --enable-fuzzing --enable-addrsan Signed-off-by: Theodore Ts'o <tytso@mit.edu>
171 lines
5.0 KiB
Makefile
171 lines
5.0 KiB
Makefile
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
VPATH = @srcdir@
|
|
top_builddir = .
|
|
my_dir = .
|
|
INSTALL = @INSTALL@
|
|
MKDIR_P = @MKDIR_P@
|
|
|
|
@MCONFIG@
|
|
|
|
% : %.sh
|
|
|
|
@RESIZER_CMT@RESIZE_DIR= resize
|
|
@DEBUGFS_CMT@DEBUGFS_DIR= debugfs
|
|
@UUID_CMT@UUID_LIB_SUBDIR= lib/uuid
|
|
@BLKID_CMT@BLKID_LIB_SUBDIR= lib/blkid
|
|
@E2SCRUB_CMT@E2SCRUB_DIR= scrub
|
|
@ALL_CMT@SUPPORT_LIB_SUBDIR= lib/support
|
|
@ALL_CMT@E2P_LIB_SUBDIR= lib/e2p
|
|
@ALL_CMT@EXT2FS_LIB_SUBDIR= lib/ext2fs
|
|
|
|
LIB_SUBDIRS=lib/et lib/ss $(E2P_LIB_SUBDIR) $(UUID_LIB_SUBDIR) \
|
|
$(BLKID_LIB_SUBDIR) $(SUPPORT_LIB_SUBDIR) $(EXT2FS_LIB_SUBDIR)
|
|
|
|
PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs \
|
|
tests/fuzz po $(E2SCRUB_DIR)
|
|
|
|
SUBDIRS=util $(LIB_SUBDIRS) $(PROG_SUBDIRS) tests
|
|
|
|
SUBS= util/subst.conf lib/config.h $(top_builddir)/lib/dirpaths.h \
|
|
lib/ext2fs/ext2_types.h lib/blkid/blkid_types.h lib/uuid/uuid_types.h
|
|
|
|
TAR=tar
|
|
|
|
all:: subs
|
|
$(MAKE) libs
|
|
@ALL_CMT@ $(MAKE) progs
|
|
@ALL_CMT@ $(MAKE) docs
|
|
|
|
all-static::
|
|
$(MAKE) libs
|
|
@ALL_CMT@ $(MAKE) static-progs
|
|
|
|
subs: $(DEP_SUBSTITUTE)
|
|
@for i in $(SUBS) ; do if test -d `dirname $$i` ; \
|
|
then $(MAKE) $$i || exit $$? ; fi ; done
|
|
@(if test -d lib/et ; then cd lib/et && $(MAKE) compile_et; fi)
|
|
@(if test -d lib/ext2fs ; then cd lib/ext2fs && $(MAKE) ext2_err.h; fi)
|
|
@(if test -d lib/support ; then cd lib/support && $(MAKE) prof_err.h; fi)
|
|
|
|
progs: all-progs-recursive
|
|
static-progs: all-static-progs-recursive
|
|
libs: all-libs-recursive
|
|
all-progs-recursive all-libs-recursive:: subs
|
|
|
|
rpm:
|
|
sh contrib/build-rpm
|
|
|
|
docs:
|
|
-@test -d doc && cd doc && $(MAKE) libext2fs.info
|
|
|
|
install-doc-libs:
|
|
-@test -d doc && cd doc && $(MAKE) install-doc-libs
|
|
|
|
uninstall-doc-libs:
|
|
-@test -d doc && cd doc && $(MAKE) uninstall-doc-libs
|
|
|
|
clean-doc:
|
|
-@test -d doc && cd doc && $(MAKE) clean
|
|
|
|
distclean-doc:
|
|
-test -d doc && cd doc && $(MAKE) distclean
|
|
|
|
install: subs all-libs-recursive install-progs-recursive \
|
|
install-shlibs-libs-recursive install-doc-libs
|
|
@SUBSET_CMT@ $(MAKE) install-libs
|
|
|
|
install-strip: subs all-libs-recursive install-strip-progs-recursive \
|
|
install-shlibs-strip-libs-recursive install-doc-libs
|
|
|
|
uninstall: uninstall-progs-recursive uninstall-shlibs-libs-recursive uninstall-doc-libs
|
|
|
|
install-libs: install-libs-recursive
|
|
|
|
uninstall-libs: uninstall-libs-recursive
|
|
|
|
coverage.txt: coverage.txt-recursive
|
|
|
|
check-recursive: all
|
|
|
|
TAGS clean-recursive distclean-recursive depend-recursive fullcheck-recursive \
|
|
check-recursive mostlyclean-recursive realclean-recursive \
|
|
coverage.txt-recursive:
|
|
@for subdir in $(SUBDIRS); do \
|
|
if test -d $$subdir ; then \
|
|
target=`echo $@|$(SED) 's/-recursive//'`; \
|
|
echo making $$target in $$subdir; \
|
|
(cd $$subdir && $(MAKE) $$target) || exit 1; \
|
|
fi ; \
|
|
done
|
|
|
|
all-progs-recursive install-progs-recursive install-strip-progs-recursive \
|
|
uninstall-progs-recursive coverage.txt-progs-recursive:: all-libs-recursive
|
|
|
|
|
|
@ALL_CMT@all-progs-recursive all-static-progs-recursive install-progs-recursive \
|
|
@ALL_CMT@ install-strip-progs-recursive uninstall-progs-recursive \
|
|
@ALL_CMT@ coverage.txt-progs-recursive:: all-libs-recursive
|
|
@ALL_CMT@ @for subdir in $(PROG_SUBDIRS); do \
|
|
@ALL_CMT@ if test -d $$subdir ; then \
|
|
@ALL_CMT@ target=`echo $@|$(SED) 's/-progs-recursive//'`; \
|
|
@ALL_CMT@ echo making $$target in $$subdir; \
|
|
@ALL_CMT@ (cd $$subdir && $(MAKE) $$target) || exit 1; \
|
|
@ALL_CMT@ fi ; \
|
|
@ALL_CMT@ done
|
|
|
|
all-libs-recursive install-libs-recursive install-strip-libs-recursive \
|
|
uninstall-libs-recursive install-shlibs-libs-recursive \
|
|
install-shlibs-strip-libs-recursive uninstall-shlibs-libs-recursive \
|
|
coverage.txt-libs-recursive::
|
|
@for subdir in $(LIB_SUBDIRS); do \
|
|
if test -d $$subdir ; then \
|
|
target=`echo $@|$(SED) 's/-libs-recursive//'`; \
|
|
echo making $$target in $$subdir; \
|
|
(cd $$subdir && $(MAKE) $$target) || exit 1; \
|
|
fi ; \
|
|
done
|
|
|
|
mostlyclean: mostlyclean-recursive mostlyclean-local
|
|
|
|
clean:: clean-recursive clean-local clean-doc
|
|
$(RM) -f $(SUBS)
|
|
|
|
distclean: distclean-doc distclean-recursive
|
|
$(RM) -rf autom4te.cache ext2ed/Makefile po/stamp-po \
|
|
asm_types.h config.log public_config.h parse-types.log
|
|
$(MAKE) distclean-local
|
|
|
|
realclean: realclean-recursive realclean-local
|
|
|
|
depend:: depend-recursive
|
|
|
|
lib/ext2fs/ext2_types.h: $(DEP_SUBSTITUTE) asm_types.h \
|
|
$(srcdir)/lib/ext2fs/ext2_types.h.in
|
|
cd $(top_builddir); CONFIG_FILES=./lib/ext2fs/ext2_types.h ./config.status
|
|
|
|
lib/blkid/blkid_types.h: $(DEP_SUBSTITUTE) asm_types.h \
|
|
$(srcdir)/lib/blkid/blkid_types.h.in
|
|
cd $(top_builddir); CONFIG_FILES=./lib/blkid/blkid_types.h ./config.status
|
|
|
|
lib/uuid/uuid_types.h: $(DEP_SUBSTITUTE) asm_types.h \
|
|
$(srcdir)/lib/uuid/uuid_types.h.in
|
|
cd $(top_builddir); CONFIG_FILES=./lib/uuid/uuid_types.h ./config.status
|
|
|
|
mostlyclean-local:
|
|
$(RM) -f \#* *~ *.orig core MAKELOG
|
|
|
|
clean-local: mostlyclean-local
|
|
|
|
distclean-local: clean-local
|
|
$(RM) -f $(SUBS) $(SUBST_CONF) \
|
|
config.status config.log config.cache MCONFIG Makefile \
|
|
$(srcdir)/TAGS $(srcdir)/Makefile.in.old
|
|
|
|
realclean-local: distclean-local
|
|
$(RM) -f configure
|
|
|
|
check:: all check-recursive
|
|
|
|
fullcheck:: all fullcheck-recursive
|