mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 16:53:09 +00:00
Fix Makefile for incorrect nnue file
If an incorrect network file is present at the start of the compilation stage, the Makefile script now correctly removes it before trying to download a clean version. closes https://github.com/official-stockfish/Stockfish/pull/4726 No functional change
This commit is contained in:
parent
e64b817e0a
commit
0d2ddb81ef
1 changed files with 47 additions and 36 deletions
83
src/Makefile
83
src/Makefile
|
@ -869,42 +869,6 @@ install:
|
|||
clean: objclean profileclean
|
||||
@rm -f .depend *~ core
|
||||
|
||||
# evaluation network (nnue)
|
||||
net:
|
||||
$(eval nnuenet := $(shell grep EvalFileDefaultName evaluate.h | grep define | sed 's/.*\(nn-[a-z0-9]\{12\}.nnue\).*/\1/'))
|
||||
@echo "Default net: $(nnuenet)"
|
||||
$(eval nnuedownloadurl1 := https://tests.stockfishchess.org/api/nn/$(nnuenet))
|
||||
$(eval nnuedownloadurl2 := https://github.com/official-stockfish/networks/raw/master/$(nnuenet))
|
||||
$(eval curl_or_wget := $(shell if hash curl 2>/dev/null; then echo "curl -skL"; elif hash wget 2>/dev/null; then echo "wget -qO-"; fi))
|
||||
@if [ "x$(curl_or_wget)" = "x" ]; then \
|
||||
echo "Neither curl nor wget is installed. Install one of these tools unless the net has been downloaded manually"; \
|
||||
fi
|
||||
$(eval shasum_command := $(shell if hash shasum 2>/dev/null; then echo "shasum -a 256 "; elif hash sha256sum 2>/dev/null; then echo "sha256sum "; fi))
|
||||
@if [ "x$(shasum_command)" = "x" ]; then \
|
||||
echo "shasum / sha256sum not found, skipping net validation"; \
|
||||
fi
|
||||
@for nnuedownloadurl in "$(nnuedownloadurl1)" "$(nnuedownloadurl2)"; do \
|
||||
if test -f "$(nnuenet)"; then \
|
||||
echo "$(nnuenet) available."; \
|
||||
else \
|
||||
if [ "x$(curl_or_wget)" != "x" ]; then \
|
||||
echo "Downloading $${nnuedownloadurl}"; $(curl_or_wget) $${nnuedownloadurl} > $(nnuenet);\
|
||||
else \
|
||||
echo "No net found and download not possible"; exit 1;\
|
||||
fi; \
|
||||
fi; \
|
||||
if [ "x$(shasum_command)" != "x" ]; then \
|
||||
if [ "$(nnuenet)" != "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \
|
||||
echo "Removing failed download"; rm -f $(nnuenet); \
|
||||
else \
|
||||
echo "Network validated"; break; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
@if ! test -f "$(nnuenet)"; then \
|
||||
echo "Failed to download $(nnuenet)."; \
|
||||
fi
|
||||
|
||||
# clean binaries and objects
|
||||
objclean:
|
||||
@rm -f stockfish stockfish.exe *.o ./syzygy/*.o ./nnue/*.o ./nnue/features/*.o
|
||||
|
@ -919,6 +883,53 @@ profileclean:
|
|||
@rm -f stockfish.res
|
||||
@rm -f ./-lstdc++.res
|
||||
|
||||
# set up shell variables for the net stuff
|
||||
netvariables:
|
||||
$(eval nnuenet := $(shell grep EvalFileDefaultName evaluate.h | grep define | sed 's/.*\(nn-[a-z0-9]\{12\}.nnue\).*/\1/'))
|
||||
$(eval nnuedownloadurl1 := https://tests.stockfishchess.org/api/nn/$(nnuenet))
|
||||
$(eval nnuedownloadurl2 := https://github.com/official-stockfish/networks/raw/master/$(nnuenet))
|
||||
$(eval curl_or_wget := $(shell if hash curl 2>/dev/null; then echo "curl -skL"; elif hash wget 2>/dev/null; then echo "wget -qO-"; fi))
|
||||
$(eval shasum_command := $(shell if hash shasum 2>/dev/null; then echo "shasum -a 256 "; elif hash sha256sum 2>/dev/null; then echo "sha256sum "; fi))
|
||||
|
||||
# evaluation network (nnue)
|
||||
net: netvariables
|
||||
@echo "Default net: $(nnuenet)"
|
||||
@if [ "x$(curl_or_wget)" = "x" ]; then \
|
||||
echo "Neither curl nor wget is installed. Install one of these tools unless the net has been downloaded manually"; \
|
||||
fi
|
||||
@if [ "x$(shasum_command)" = "x" ]; then \
|
||||
echo "shasum / sha256sum not found, skipping net validation"; \
|
||||
elif test -f "$(nnuenet)"; then \
|
||||
if [ "$(nnuenet)" != "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \
|
||||
echo "Removing invalid network"; rm -f $(nnuenet); \
|
||||
fi; \
|
||||
fi;
|
||||
@for nnuedownloadurl in "$(nnuedownloadurl1)" "$(nnuedownloadurl2)"; do \
|
||||
if test -f "$(nnuenet)"; then \
|
||||
echo "$(nnuenet) available : OK"; break; \
|
||||
else \
|
||||
if [ "x$(curl_or_wget)" != "x" ]; then \
|
||||
echo "Downloading $${nnuedownloadurl}"; $(curl_or_wget) $${nnuedownloadurl} > $(nnuenet);\
|
||||
else \
|
||||
echo "No net found and download not possible"; exit 1;\
|
||||
fi; \
|
||||
fi; \
|
||||
if [ "x$(shasum_command)" != "x" ]; then \
|
||||
if [ "$(nnuenet)" != "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \
|
||||
echo "Removing failed download"; rm -f $(nnuenet); \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
@if ! test -f "$(nnuenet)"; then \
|
||||
echo "Failed to download $(nnuenet)."; \
|
||||
fi;
|
||||
@if [ "x$(shasum_command)" != "x" ]; then \
|
||||
if [ "$(nnuenet)" = "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \
|
||||
echo "Network validated"; break; \
|
||||
fi; \
|
||||
fi; \
|
||||
|
||||
# default target
|
||||
default:
|
||||
help
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue