##// END OF EJS Templates
packaging: ship all help .txt files on WiX...
packaging: ship all help .txt files on WiX These are technically not needed. But it is easier to ship all files than to cherry-pick. A `make install` will copy these files, so the new behavior is consistent with that. This also makes WiX consistent with Inno, which is my main reason for doing this. If we don't want to ship the files (which is a valid argument), I think we can do that in a follow up. Differential Revision: https://phab.mercurial-scm.org/D7166

File last commit:

r44013:6f5c352f default
r44016:697c2e32 default
Show More
Makefile
175 lines | 6.7 KiB | text/x-makefile | MakefileLexer
Yuya Nishihara
fuzz: expand variables by make...
r38232 CC = clang
CXX = clang++
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 all: bdiff mpatch xdiff
Yuya Nishihara
fuzz: fix the default make target
r38233
Augie Fackler
fuzz: extract Python initialization to utility package...
r41049 pyutil.o: pyutil.cc pyutil.h
$(CXX) $(CXXFLAGS) -g -O1 \
`$$OUT/sanpy/bin/python-config --cflags` \
-I../../mercurial -c -o pyutil.o pyutil.cc
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 bdiff.o: ../../mercurial/bdiff.c
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) $(CFLAGS) -fsanitize=fuzzer-no-link,address -c -o bdiff.o \
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688 ../../mercurial/bdiff.c
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 bdiff: bdiff.cc bdiff.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \
Augie Fackler
fuzz: extract some common utilities and use modern C++ idioms...
r38191 -std=c++17 \
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 -I../../mercurial bdiff.cc bdiff.o -o bdiff
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
bdiff-oss-fuzz.o: ../../mercurial/bdiff.c
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) $(CFLAGS) -c -o bdiff-oss-fuzz.o ../../mercurial/bdiff.c
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 bdiff_fuzzer: bdiff.cc bdiff-oss-fuzz.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial bdiff.cc \
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 bdiff-oss-fuzz.o -lFuzzingEngine -o \
Augie Fackler
fuzzutil: make it possible to use absl when C++17 isn't supported...
r38192 $$OUT/bdiff_fuzzer
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 mpatch.o: ../../mercurial/mpatch.c
$(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c -o mpatch.o \
../../mercurial/mpatch.c
mpatch: CXXFLAGS += -std=c++17
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 mpatch: mpatch.cc mpatch.o
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 $(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 -I../../mercurial mpatch.cc mpatch.o -o mpatch
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264
mpatch-oss-fuzz.o: ../../mercurial/mpatch.c
$(CC) $(CFLAGS) -c -o mpatch-oss-fuzz.o ../../mercurial/mpatch.c
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 mpatch_fuzzer: mpatch.cc mpatch-oss-fuzz.o
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial mpatch.cc \
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 mpatch-oss-fuzz.o -lFuzzingEngine -o \
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 $$OUT/mpatch_fuzzer
mpatch_corpus.zip:
python mpatch_corpus.py $$OUT/mpatch_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) -g -O1 -fsanitize=fuzzer-no-link,address -c \
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 -o $@ \
$<
Yuya Nishihara
fuzz: compile xdiff.cc with -std=c++17...
r38235 xdiff: CXXFLAGS += -std=c++17
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 xdiff: xdiff.cc xdiffi.o xprepare.o xutils.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -DHG_FUZZER_INCLUDE_MAIN=1 -g -O1 -fsanitize=fuzzer-no-link,address \
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 -I../../mercurial xdiff.cc \
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 xdiffi.o xprepare.o xutils.o -o xdiff
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 fuzz-x%.o: ../../mercurial/thirdparty/xdiff/x%.c ../../mercurial/thirdparty/xdiff/*.h
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CC) $(CFLAGS) -c \
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 -o $@ \
$<
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 xdiff_fuzzer: xdiff.cc fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o
Yuya Nishihara
fuzz: expand variables by make...
r38232 $(CXX) $(CXXFLAGS) -std=c++17 -I../../mercurial xdiff.cc \
Augie Fackler
fuzz: clean out most of fuzzutil...
r44013 fuzz-xdiffi.o fuzz-xprepare.o fuzz-xutils.o \
Augie Fackler
fuzz: add a fuzzer for xdiff...
r36697 -lFuzzingEngine -o $$OUT/xdiff_fuzzer
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 manifest.o: ../../mercurial/cext/manifest.c
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 $(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-I../../mercurial \
-c -o manifest.o ../../mercurial/cext/manifest.c
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 charencode.o: ../../mercurial/cext/charencode.c
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 $(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-I../../mercurial \
-c -o charencode.o ../../mercurial/cext/charencode.c
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 parsers.o: ../../mercurial/cext/parsers.c
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 $(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-I../../mercurial \
-c -o parsers.o ../../mercurial/cext/parsers.c
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 dirs.o: ../../mercurial/cext/dirs.c
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 $(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-I../../mercurial \
-c -o dirs.o ../../mercurial/cext/dirs.c
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 pathencode.o: ../../mercurial/cext/pathencode.c
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 $(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-I../../mercurial \
-c -o pathencode.o ../../mercurial/cext/pathencode.c
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 revlog.o: ../../mercurial/cext/revlog.c
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 $(CC) $(CFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-I../../mercurial \
-c -o revlog.o ../../mercurial/cext/revlog.c
Augie Fackler
fuzz: new fuzzer for dirs.c...
r43420 dirs_fuzzer: dirs.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-Wno-register -Wno-macro-redefined \
-I../../mercurial dirs.cc \
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \
-o $$OUT/dirs_fuzzer
Augie Fackler
fuzz: new fuzzer for fncache-related functions...
r43422 fncache_fuzzer: fncache.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-Wno-register -Wno-macro-redefined \
-I../../mercurial fncache.cc \
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \
-o $$OUT/fncache_fuzzer
Augie Fackler
fuzz: new target to fuzz jsonescapeu8fast...
r43423 jsonescapeu8fast_fuzzer: jsonescapeu8fast.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o
$(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-Wno-register -Wno-macro-redefined \
-I../../mercurial jsonescapeu8fast.cc \
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \
-o $$OUT/jsonescapeu8fast_fuzzer
Augie Fackler
fuzz: new fuzzer for dirs.c...
r43420 manifest_corpus.zip:
python manifest_corpus.py $$OUT/manifest_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 manifest_fuzzer: manifest.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-Wno-register -Wno-macro-redefined \
-I../../mercurial manifest.cc \
Augie Fackler
fuzz: extract Python initialization to utility package...
r41049 manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \
Augie Fackler
fuzz: new fuzzer for cext/manifest.c...
r40089 -lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \
-o $$OUT/manifest_fuzzer
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 revlog_fuzzer: revlog.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o
Augie Fackler
fuzz: new fuzzer for revlog's parse_index2 method...
r41050 $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-Wno-register -Wno-macro-redefined \
-I../../mercurial revlog.cc \
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \
-o $$OUT/revlog_fuzzer
revlog_corpus.zip:
python revlog_corpus.py $$OUT/revlog_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 dirstate_fuzzer: dirstate.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o
Augie Fackler
fuzz: new fuzzer for dirstate parser...
r41051 $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-Wno-register -Wno-macro-redefined \
-I../../mercurial dirstate.cc \
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \
-o $$OUT/dirstate_fuzzer
dirstate_corpus.zip:
python dirstate_corpus.py $$OUT/dirstate_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 fm1readmarkers_fuzzer: fm1readmarkers.cc manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o
Augie Fackler
fuzz: new fuzzer for parsers.fm1readmarkers...
r41053 $(CXX) $(CXXFLAGS) `$$OUT/sanpy/bin/python-config --cflags` \
-Wno-register -Wno-macro-redefined \
-I../../mercurial fm1readmarkers.cc \
manifest.o charencode.o parsers.o dirs.o pathencode.o revlog.o pyutil.o \
-lFuzzingEngine `$$OUT/sanpy/bin/python-config --ldflags` \
-o $$OUT/fm1readmarkers_fuzzer
fm1readmarkers_corpus.zip:
python fm1readmarkers_corpus.py $$OUT/fm1readmarkers_fuzzer_seed_corpus.zip
Augie Fackler
fuzz: add clean target...
r38193 clean:
Yuya Nishihara
fuzz: fix "make clean" to pass even if no binaries built yet
r38236 $(RM) *.o *_fuzzer \
Augie Fackler
fuzz: add clean target...
r38193 bdiff \
Augie Fackler
fuzz: new fuzzer for the mpatch code...
r38264 mpatch \
Augie Fackler
fuzz: add clean target...
r38193 xdiff
Augie Fackler
fuzz: new target to fuzz jsonescapeu8fast...
r43423 oss-fuzz: bdiff_fuzzer mpatch_fuzzer mpatch_corpus.zip xdiff_fuzzer dirs_fuzzer fncache_fuzzer jsonescapeu8fast_fuzzer manifest_fuzzer manifest_corpus.zip revlog_fuzzer revlog_corpus.zip dirstate_fuzzer dirstate_corpus.zip fm1readmarkers_fuzzer fm1readmarkers_corpus.zip
Augie Fackler
contrib: add some basic scaffolding for some fuzz test targets...
r35688
Augie Fackler
fuzz: stop building Python in the Makefile...
r41219 .PHONY: all clean oss-fuzz