Semplifica build e ottimizza bruteforce P2PK
- Makefile: setup automatico libreria alla prima compilazione - Bruteforce: ottimizzazioni multi-threading con CPU affinity
This commit is contained in:
@@ -12,13 +12,44 @@ SOURCE = p2pk_bruteforce.cpp
|
||||
INCLUDE_PATH = -I/usr/local/include -I/usr/include
|
||||
LIB_PATH = -L/usr/local/lib -L/usr/lib
|
||||
|
||||
all: $(TARGET)
|
||||
all: build-if-needed compile
|
||||
|
||||
$(TARGET): $(SOURCE)
|
||||
@echo "[+] Compilazione $(TARGET) con ottimizzazioni massime..."
|
||||
build-if-needed:
|
||||
@if [ ! -d "secp256k1" ]; then \
|
||||
echo "========================================"; \
|
||||
echo " PRIMA COMPILAZIONE: Setup Automatico"; \
|
||||
echo "========================================"; \
|
||||
echo ""; \
|
||||
echo "Compilazione libsecp256k1..."; \
|
||||
echo "Questo richiederà ~5 minuti (solo la prima volta)"; \
|
||||
echo ""; \
|
||||
$(MAKE) build-optimized-secp256k1; \
|
||||
fi
|
||||
|
||||
compile: build-if-needed
|
||||
@if [ -d "secp256k1" ]; then \
|
||||
echo "[+] Compilazione con libsecp256k1..."; \
|
||||
$(CC) $(CFLAGS) \
|
||||
-I./secp256k1/include \
|
||||
-L./secp256k1/lib \
|
||||
-Wl,-rpath,$(shell pwd)/secp256k1/lib \
|
||||
-o $(TARGET) $(SOURCE) $(LIBS); \
|
||||
echo "[+] Compilazione completata!"; \
|
||||
echo "[!] Performance attese: ~300K keys/sec"; \
|
||||
else \
|
||||
echo "[+] Compilazione standard..."; \
|
||||
$(CC) $(CFLAGS) $(INCLUDE_PATH) $(LIB_PATH) -o $(TARGET) $(SOURCE) $(LIBS); \
|
||||
echo "[+] Compilazione completata!"; \
|
||||
echo "[!] Performance attese: ~250K keys/sec"; \
|
||||
fi
|
||||
@echo "[!] Eseguibile: ./$(TARGET)"
|
||||
|
||||
standard: $(SOURCE)
|
||||
@echo "[+] Compilazione STANDARD (senza libreria ottimizzata)..."
|
||||
$(CC) $(CFLAGS) $(INCLUDE_PATH) $(LIB_PATH) -o $(TARGET) $(SOURCE) $(LIBS)
|
||||
@echo "[+] Compilazione completata!"
|
||||
@echo "[!] Eseguibile: ./$(TARGET)"
|
||||
@echo "[!] Performance attese: ~250K keys/sec"
|
||||
|
||||
optimized: $(SOURCE)
|
||||
@echo "[+] Compilazione con ottimizzazioni estreme (PGO)..."
|
||||
@@ -51,6 +82,11 @@ clean:
|
||||
rm -f *.o *.gcda *.gcno
|
||||
@echo "[+] Pulizia completata!"
|
||||
|
||||
clean-all: clean
|
||||
@echo "[+] Pulizia completa (include libreria secp256k1)..."
|
||||
rm -rf secp256k1_build secp256k1
|
||||
@echo "[+] Pulizia completa terminata!"
|
||||
|
||||
install-deps:
|
||||
@echo "[+] Installazione dipendenze..."
|
||||
@echo "[!] Questo installerà: build-essential, libsecp256k1-dev, libgmp-dev"
|
||||
@@ -67,25 +103,47 @@ install-secp256k1:
|
||||
sudo ldconfig
|
||||
@echo "[+] libsecp256k1 installata!"
|
||||
|
||||
build-optimized-secp256k1:
|
||||
@echo "[+] Compilazione libsecp256k1..."
|
||||
@./build_secp256k1.sh
|
||||
|
||||
with-optimized-lib: $(SOURCE)
|
||||
@echo "[+] Compilazione con libsecp256k1..."
|
||||
@if [ ! -d "secp256k1" ]; then \
|
||||
echo "[ERROR] Directory secp256k1 non trovata!"; \
|
||||
echo "[!] Esegui prima: make build-optimized-secp256k1"; \
|
||||
exit 1; \
|
||||
fi
|
||||
$(CC) $(CFLAGS) \
|
||||
-I./secp256k1/include \
|
||||
-L./secp256k1/lib \
|
||||
-Wl,-rpath,$(shell pwd)/secp256k1/lib \
|
||||
-o $(TARGET) $(SOURCE) $(LIBS)
|
||||
@echo "[+] Compilazione completata!"
|
||||
@echo "[!] Eseguibile: ./$(TARGET)"
|
||||
|
||||
help:
|
||||
@echo "==================================================="
|
||||
@echo " Bitcoin P2PK Bruteforce - Makefile"
|
||||
@echo "==================================================="
|
||||
@echo ""
|
||||
@echo "Target disponibili:"
|
||||
@echo " make - Compila il programma"
|
||||
@echo " make optimized - Compila con PGO step 1"
|
||||
@echo " make pgo-use - Compila con PGO step 2"
|
||||
@echo " make static - Compila versione statica"
|
||||
@echo " make debug - Compila versione debug"
|
||||
@echo " make test - Test rapido"
|
||||
@echo " make clean - Rimuove file compilati"
|
||||
@echo " make install-deps - Installa dipendenze"
|
||||
@echo " make install-secp256k1 - Compila secp256k1 da sorgente"
|
||||
@echo " make - Compila il programma"
|
||||
@echo " make build-optimized-secp256k1 - Compila libsecp256k1"
|
||||
@echo " make with-optimized-lib - Compila con libsecp256k1"
|
||||
@echo " make optimized - Compila con PGO step 1"
|
||||
@echo " make pgo-use - Compila con PGO step 2"
|
||||
@echo " make static - Compila versione statica"
|
||||
@echo " make debug - Compila versione debug"
|
||||
@echo " make test - Test rapido"
|
||||
@echo " make clean - Rimuove file compilati"
|
||||
@echo " make clean-all - Pulizia completa (include secp256k1)"
|
||||
@echo " make install-deps - Installa dipendenze"
|
||||
@echo " make install-secp256k1 - Compila secp256k1 da sorgente"
|
||||
@echo ""
|
||||
@echo "Uso:"
|
||||
@echo " ./$(TARGET) [file_chiavi.txt]"
|
||||
@echo ""
|
||||
@echo "==================================================="
|
||||
|
||||
.PHONY: all optimized pgo-use static debug test clean install-deps install-secp256k1 help
|
||||
.PHONY: all optimized pgo-use static debug test clean clean-all install-deps install-secp256k1 build-optimized-secp256k1 with-optimized-lib help
|
||||
|
||||
Reference in New Issue
Block a user