| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515 |
- ##
- ## Author......: Jens Steube <jens.steube@gmail.com>
- ## License.....: MIT
- ##
- ##
- ## Detect host OS
- ##
- OS := $(shell uname)
- ##
- ## Makefile flags
- ##
- MAKEFLAGS += -l -j -rR --no-print-directory
- ifneq ($(findstring clean,$(MAKECMDGOALS)),)
- MAKEFLAGS += -j 1
- endif
- # -mstackrealign is required otherwise crashes on windows xp, see hashcat v0.41 and v0.42
- CFLAGS := -W -Wall -pipe -I include/ -O2 -s -fomit-frame-pointer -funroll-loops
- #CFLAGS := -W -Wall -pipe -I include/ -g
- LDFLAGS :=
- all: binaries
- clean:
- rm -rf core out word hash release obj/* hashcat.pot hashcat-cli*
- binaries: linux windows osx
- osx: osx64
- #linux: posix32 posix64 posixAVX posixAVX2 posixXOP
- #windows: windows32 windows64 windowsAVX windowsAVX2 windowsXOP
- linux: posix32 posix64 posixXOP
- windows: windows32 windows64 windowsXOP
- release:
- rm -rf release
- mkdir release
- cp -a charsets docs rules tables salts examples hashcat-cli*.bin hashcat-cli*.exe hashcat-cli64.app release/
- find release -type f -exec chmod 600 {} \;
- find release -type d -exec chmod 700 {} \;
- chmod 700 release/*.bin
- chmod 700 release/*.app
- unix2dos release/salts/*
- unix2dos release/rules/*
- unix2dos release/tables/*
- unix2dos release/docs/*
- unix2dos release/examples/*
- ##
- ## OSX64
- ##
- DIR_OSX64 = obj
- CC_OSX64 = i686-apple-darwin10-gcc
- LIBGMP_OSX64 = /opt/hashcat-deps/gmp/osx64
- CFLAGS_OSX64 = $(CFLAGS) -I$(LIBGMP_OSX64)/include -D__HC_x86_64__ -DPOSIX -DOSX -m64 -msse2 -fnested-functions -arch x86_64 -mmacosx-version-min=10.5
- LDFLAGS_OSX64 = $(LDFLAGS) -L$(LIBGMP_OSX64)/lib -lm -lpthread -mmacosx-version-min=10.5 -lgmp
- osx64: hashcat-cli64.app
- rules-osx64: rules-debug64.app
- rules-debug64.app: $(DIR_OSX64)/rp.OSX.64.o src/rules-debug.c
- $(CC_OSX64) $(filter-out -s,$(CFLAGS_OSX64)) $(DIR_OSX64)/*.OSX.64.o src/rules-debug.c -o rules-debug64.app $(LDFLAGS_OSX64)
- hashcat-osx64: hashcat-cli64.app
- hashcat-cli64.app: $(DIR_OSX64)/tsearch.OSX.64.o $(DIR_OSX64)/rp.OSX.64.o $(DIR_OSX64)/engine.OSX.64.o src/hashcat-cli.c
- $(CC_OSX64) $(filter-out -s,$(CFLAGS_OSX64)) $(DIR_OSX64)/*.OSX.64.o src/hashcat-cli.c -o hashcat-cli64.app $(LDFLAGS_OSX64)
- engine-osx64: $(DIR_OSX64)/engine.OSX.64.o
- $(DIR_OSX64)/engine.OSX.64.o: $(DIR_OSX64)/common.OSX.64.o src/engine.c
- $(CC_OSX64) $(CFLAGS_OSX64) -c src/engine.c -o $(DIR_OSX64)/engine.OSX.64.o
- rp-osx64: $(DIR_OSX64)/rp.OSX.64.o
- $(DIR_OSX64)/rp.OSX.64.o: $(DIR_OSX64)/common.OSX.64.o src/rp.c
- $(CC_OSX64) $(CFLAGS_OSX64) -c src/rp.c -o $(DIR_OSX64)/rp.OSX.64.o
- tsearch-osx64: $(DIR_OSX64)/tsearch.OSX.64.o
- $(DIR_OSX64)/tsearch.OSX.64.o: $(DIR_OSX64)/common.OSX.64.o src/tsearch.c
- $(CC_OSX64) $(CFLAGS_OSX64) -c src/tsearch.c -o $(DIR_OSX64)/tsearch.OSX.64.o
- common-osx64: $(DIR_OSX64)/common.OSX.64.o
- $(DIR_OSX64)/common.OSX.64.o: src/common.c
- $(CC_OSX64) $(CFLAGS_OSX64) -c src/common.c -o $(DIR_OSX64)/common.OSX.64.o
- ##
- ## POSIX32
- ##
- DIR_POSIX32 = obj
- LIBGMP_POSIX32 = /opt/hashcat-deps/gmp/linux32
- CC_POSIX32 = gcc
- CFLAGS_POSIX32 = $(CFLAGS) -I$(LIBGMP_POSIX32)/include -D__HC_x86_32__ -DPOSIX -m32 -msse2
- LDFLAGS_POSIX32 = $(LDFLAGS) -L$(LIBGMP_POSIX32)/lib -lm -lpthread -lgmp
- posix32: hashcat-cli32.bin
- rules-posix32: rules-debug32.bin
- rules-debug32.bin: $(DIR_POSIX32)/rp.LINUX.32.o src/rules-debug.c
- $(CC_POSIX32) $(CFLAGS_POSIX32) $(DIR_POSIX32)/*.LINUX.32.o src/rules-debug.c -o rules-debug32.bin $(LDFLAGS_POSIX32)
- hashcat-posix32: hashcat-cli32.bin
- hashcat-cli32.bin: $(DIR_POSIX32)/tsearch.LINUX.32.o $(DIR_POSIX32)/rp.LINUX.32.o $(DIR_POSIX32)/engine.LINUX.32.o src/hashcat-cli.c
- $(CC_POSIX32) $(CFLAGS_POSIX32) $(DIR_POSIX32)/*.LINUX.32.o src/hashcat-cli.c -o hashcat-cli32.bin $(LDFLAGS_POSIX32)
- engine-posix32: $(DIR_POSIX32)/engine.LINUX.32.o
- $(DIR_POSIX32)/engine.LINUX.32.o: $(DIR_POSIX32)/common.LINUX.32.o src/engine.c
- $(CC_POSIX32) $(CFLAGS_POSIX32) -c src/engine.c -o $(DIR_POSIX32)/engine.LINUX.32.o
- rp-posix32: $(DIR_POSIX32)/rp.LINUX.32.o
- $(DIR_POSIX32)/rp.LINUX.32.o: $(DIR_POSIX32)/common.LINUX.32.o src/rp.c
- $(CC_POSIX32) $(CFLAGS_POSIX32) -c src/rp.c -o $(DIR_POSIX32)/rp.LINUX.32.o
- tsearch-posix32: $(DIR_POSIX32)/tsearch.LINUX.32.o
- $(DIR_POSIX32)/tsearch.LINUX.32.o: $(DIR_POSIX32)/common.LINUX.32.o src/tsearch.c
- $(CC_POSIX32) $(CFLAGS_POSIX32) -c src/tsearch.c -o $(DIR_POSIX32)/tsearch.LINUX.32.o
- common-posix32: $(DIR_POSIX32)/common.LINUX.32.o
- $(DIR_POSIX32)/common.LINUX.32.o: src/common.c
- $(CC_POSIX32) $(CFLAGS_POSIX32) -c src/common.c -o $(DIR_POSIX32)/common.LINUX.32.o
- ##
- ## POSIX64
- ##
- DIR_POSIX64 = obj
- LIBGMP_POSIX64 = /opt/hashcat-deps/gmp/linux64
- CC_POSIX64 = gcc
- CFLAGS_POSIX64 = $(CFLAGS) -I$(LIBGMP_POSIX64)/include -D__HC_x86_64__ -DPOSIX -m64 -msse2
- LDFLAGS_POSIX64 = $(LDFLAGS) -L$(LIBGMP_POSIX64)/lib -lm -lpthread -lgmp
- posix64: hashcat-cli64.bin
- rules-posix64: $(DIR_POSIX64)/rp.LINUX.64.o
- rules-debug64.bin: $(DIR_POSIX64)/rp.LINUX.64.o src/rules-debug.c
- $(CC_POSIX64) $(CFLAGS_POSIX64) $(DIR_POSIX64)/*.LINUX.64.o src/rules-debug.c -o rules-debug64.bin $(LDFLAGS_POSIX64)
- hashcat-posix64: hashcat-cli64.bin
- hashcat-cli64.bin: $(DIR_POSIX64)/tsearch.LINUX.64.o $(DIR_POSIX64)/rp.LINUX.64.o $(DIR_POSIX64)/engine.LINUX.64.o src/hashcat-cli.c
- $(CC_POSIX64) $(CFLAGS_POSIX64) $(DIR_POSIX64)/*.LINUX.64.o src/hashcat-cli.c -o hashcat-cli64.bin $(LDFLAGS_POSIX64)
- engine-posix64: $(DIR_POSIX64)/engine.LINUX.64.o
- $(DIR_POSIX64)/engine.LINUX.64.o: $(DIR_POSIX64)/common.LINUX.64.o src/engine.c
- $(CC_POSIX64) $(CFLAGS_POSIX64) -c src/engine.c -o $(DIR_POSIX64)/engine.LINUX.64.o
- rp-posix64: $(DIR_POSIX64)/rp.LINUX.64.o
- $(DIR_POSIX64)/rp.LINUX.64.o: $(DIR_POSIX64)/common.LINUX.64.o src/rp.c
- $(CC_POSIX64) $(CFLAGS_POSIX64) -c src/rp.c -o $(DIR_POSIX64)/rp.LINUX.64.o
- tsearch-posix64: $(DIR_POSIX64)/tsearch.LINUX.64.o
- $(DIR_POSIX64)/tsearch.LINUX.64.o: $(DIR_POSIX64)/common.LINUX.64.o src/tsearch.c
- $(CC_POSIX64) $(CFLAGS_POSIX64) -c src/tsearch.c -o $(DIR_POSIX64)/tsearch.LINUX.64.o
- common-posix64: $(DIR_POSIX64)/common.LINUX.64.o
- $(DIR_POSIX64)/common.LINUX.64.o: src/common.c
- $(CC_POSIX64) $(CFLAGS_POSIX64) -c src/common.c -o $(DIR_POSIX64)/common.LINUX.64.o
- ##
- ## POSIXAVX
- ##
- DIR_POSIXAVX = obj
- LIBGMP_POSIXAVX = /opt/hashcat-deps/gmp/linux64
- CC_POSIXAVX = gcc
- CFLAGS_POSIXAVX = $(CFLAGS) -I$(LIBGMP_POSIXAVX)/include -D__HC_AVX__ -DPOSIX -m64 -mavx
- LDFLAGS_POSIXAVX = $(LDFLAGS) -L$(LIBGMP_POSIXAVX)/lib -lm -lpthread -lgmp
- posixAVX: hashcat-cliAVX.bin
- rules-posixAVX: rules-debugAVX.bin
- rules-debugAVX.bin: $(DIR_POSIXAVX)/rp.LINUX.AVX.o src/rules-debug.c
- $(CC_POSIXAVX) $(CFLAGS_POSIXAVX) $(DIR_POSIXAVX)/*.LINUX.AVX.o src/rules-debug.c -o rules-debugAVX.bin $(LDFLAGS_POSIXAVX)
- hashcat-posixAVX: hashcat-cliAVX.bin
- hashcat-cliAVX.bin: $(DIR_POSIXAVX)/tsearch.LINUX.AVX.o $(DIR_POSIXAVX)/rp.LINUX.AVX.o $(DIR_POSIXAVX)/engine.LINUX.AVX.o src/hashcat-cli.c
- $(CC_POSIXAVX) $(CFLAGS_POSIXAVX) $(DIR_POSIXAVX)/*.LINUX.AVX.o src/hashcat-cli.c -o hashcat-cliAVX.bin $(LDFLAGS_POSIXAVX)
- engine-posixAVX: $(DIR_POSIXAVX)/engine.LINUX.AVX.o
- $(DIR_POSIXAVX)/engine.LINUX.AVX.o: $(DIR_POSIXAVX)/common.LINUX.AVX.o src/engine.c
- $(CC_POSIXAVX) $(CFLAGS_POSIXAVX) -c src/engine.c -o $(DIR_POSIXAVX)/engine.LINUX.AVX.o
- rp-posixAVX: $(DIR_POSIXAVX)/rp.LINUX.AVX.o
- $(DIR_POSIXAVX)/rp.LINUX.AVX.o: $(DIR_POSIXAVX)/common.LINUX.AVX.o src/rp.c
- $(CC_POSIXAVX) $(CFLAGS_POSIXAVX) -c src/rp.c -o $(DIR_POSIXAVX)/rp.LINUX.AVX.o
- tsearch-posixAVX: $(DIR_POSIXAVX)/tsearch.LINUX.AVX.o
- $(DIR_POSIXAVX)/tsearch.LINUX.AVX.o: $(DIR_POSIXAVX)/common.LINUX.AVX.o src/tsearch.c
- $(CC_POSIXAVX) $(CFLAGS_POSIXAVX) -c src/tsearch.c -o $(DIR_POSIXAVX)/tsearch.LINUX.AVX.o
- common-posixAVX: $(DIR_POSIXAVX)/common.LINUX.AVX.o
- $(DIR_POSIXAVX)/common.LINUX.AVX.o: src/common.c
- $(CC_POSIXAVX) $(CFLAGS_POSIXAVX) -c src/common.c -o $(DIR_POSIXAVX)/common.LINUX.AVX.o
- ##
- ## POSIXAVX2
- ##
- DIR_POSIXAVX2 = obj
- LIBGMP_POSIXAVX2 = /opt/hashcat-deps/gmp/linux64
- CC_POSIXAVX2 = gcc
- CFLAGS_POSIXAVX2 = $(CFLAGS) -I$(LIBGMP_POSIXAVX2)/include -D__HC_AVX2__ -DPOSIX -m64 -mavx2
- LDFLAGS_POSIXAVX2 = $(LDFLAGS) -L$(LIBGMP_POSIXAVX2)/lib -lm -lpthread -lgmp
- posixAVX2: hashcat-cliAVX2.bin
- rules-posixAVX2: rules-debugAVX2.bin
- rules-debugAVX2.bin: $(DIR_POSIXAVX2)/rp.LINUX.AVX2.o src/rules-debug.c
- $(CC_POSIXAVX2) $(CFLAGS_POSIXAVX2) $(DIR_POSIXAVX2)/*.LINUX.AVX2.o src/rules-debug.c -o rules-debugAVX2.bin $(LDFLAGS_POSIXAVX2)
- hashcat-posixAVX2: hashcat-cliAVX2.bin
- hashcat-cliAVX2.bin: $(DIR_POSIXAVX2)/tsearch.LINUX.AVX2.o $(DIR_POSIXAVX2)/rp.LINUX.AVX2.o $(DIR_POSIXAVX2)/engine.LINUX.AVX2.o src/hashcat-cli.c
- $(CC_POSIXAVX2) $(CFLAGS_POSIXAVX2) $(DIR_POSIXAVX2)/*.LINUX.AVX2.o src/hashcat-cli.c -o hashcat-cliAVX2.bin $(LDFLAGS_POSIXAVX2)
- engine-posixAVX2: $(DIR_POSIXAVX2)/engine.LINUX.AVX2.o
- $(DIR_POSIXAVX2)/engine.LINUX.AVX2.o: $(DIR_POSIXAVX2)/common.LINUX.AVX2.o src/engine.c
- $(CC_POSIXAVX2) $(CFLAGS_POSIXAVX2) -c src/engine.c -o $(DIR_POSIXAVX2)/engine.LINUX.AVX2.o
- rp-posixAVX2: $(DIR_POSIXAVX2)/rp.LINUX.AVX2.o
- $(DIR_POSIXAVX2)/rp.LINUX.AVX2.o: $(DIR_POSIXAVX2)/common.LINUX.AVX2.o src/rp.c
- $(CC_POSIXAVX2) $(CFLAGS_POSIXAVX2) -c src/rp.c -o $(DIR_POSIXAVX2)/rp.LINUX.AVX2.o
- tsearch-posixAVX2: $(DIR_POSIXAVX2)/tsearch.LINUX.AVX2.o
- $(DIR_POSIXAVX2)/tsearch.LINUX.AVX2.o: $(DIR_POSIXAVX2)/common.LINUX.AVX2.o src/tsearch.c
- $(CC_POSIXAVX2) $(CFLAGS_POSIXAVX2) -c src/tsearch.c -o $(DIR_POSIXAVX2)/tsearch.LINUX.AVX2.o
- common-posixAVX2: $(DIR_POSIXAVX2)/common.LINUX.AVX2.o
- $(DIR_POSIXAVX2)/common.LINUX.AVX2.o: src/common.c
- $(CC_POSIXAVX2) $(CFLAGS_POSIXAVX2) -c src/common.c -o $(DIR_POSIXAVX2)/common.LINUX.AVX2.o
- ##
- ## POSIXXOP
- ##
- DIR_POSIXXOP = obj
- LIBGMP_POSIXXOP = /opt/hashcat-deps/gmp/linux64
- CC_POSIXXOP = gcc
- CFLAGS_POSIXXOP = $(CFLAGS) -I$(LIBGMP_POSIXXOP)/include -D__HC_XOP__ -DPOSIX -m64 -mxop
- LDFLAGS_POSIXXOP = $(LDFLAGS) -L$(LIBGMP_POSIXXOP)/lib -lm -lpthread -lgmp
- posixXOP: hashcat-cliXOP.bin
- rules-posixXOP: rules-debugXOP.bin
- rules-debugXOP.bin: $(DIR_POSIXXOP)/rp.LINUX.XOP.o src/rules-debug.c
- $(CC_POSIXXOP) $(CFLAGS_POSIXXOP) $(DIR_POSIXXOP)/*.LINUX.XOP.o src/rules-debug.c -o rules-debugXOP.bin $(LDFLAGS_POSIXXOP)
- hashcat-posixXOP: hashcat-cliXOP.bin
- hashcat-cliXOP.bin: $(DIR_POSIXXOP)/tsearch.LINUX.XOP.o $(DIR_POSIXXOP)/rp.LINUX.XOP.o $(DIR_POSIXXOP)/engine.LINUX.XOP.o src/hashcat-cli.c
- $(CC_POSIXXOP) $(CFLAGS_POSIXXOP) $(DIR_POSIXXOP)/*.LINUX.XOP.o src/hashcat-cli.c -o hashcat-cliXOP.bin $(LDFLAGS_POSIXXOP)
- engine-posixXOP: $(DIR_POSIXXOP)/engine.LINUX.XOP.o
- $(DIR_POSIXXOP)/engine.LINUX.XOP.o: $(DIR_POSIXXOP)/common.LINUX.XOP.o src/engine.c
- $(CC_POSIXXOP) $(CFLAGS_POSIXXOP) -c src/engine.c -o $(DIR_POSIXXOP)/engine.LINUX.XOP.o
- rp-posixXOP: $(DIR_POSIXXOP)/rp.LINUX.XOP.o
- $(DIR_POSIXXOP)/rp.LINUX.XOP.o: $(DIR_POSIXXOP)/common.LINUX.XOP.o src/rp.c
- $(CC_POSIXXOP) $(CFLAGS_POSIXXOP) -c src/rp.c -o $(DIR_POSIXXOP)/rp.LINUX.XOP.o
- tsearch-posixXOP: $(DIR_POSIXXOP)/tsearch.LINUX.XOP.o
- $(DIR_POSIXXOP)/tsearch.LINUX.XOP.o: $(DIR_POSIXXOP)/common.LINUX.XOP.o src/tsearch.c
- $(CC_POSIXXOP) $(CFLAGS_POSIXXOP) -c src/tsearch.c -o $(DIR_POSIXXOP)/tsearch.LINUX.XOP.o
- common-posixXOP: $(DIR_POSIXXOP)/common.LINUX.XOP.o
- $(DIR_POSIXXOP)/common.LINUX.XOP.o: src/common.c
- $(CC_POSIXXOP) $(CFLAGS_POSIXXOP) -c src/common.c -o $(DIR_POSIXXOP)/common.LINUX.XOP.o
- ##
- ## WINDOWS32
- ##
- DIR_WINDOWS32 = obj
- LIBGMP_WINDOW32 = /opt/hashcat-deps/gmp/win32
- CC_WINDOWS32 = i686-w64-mingw32-gcc
- CFLAGS_WINDOWS32 = $(CFLAGS) -I$(LIBGMP_WINDOW32)/include -D__HC_x86_32__ -DWINDOWS -m32 -msse2 -D__USE_MINGW_ANSI_STDIO=1 -mstackrealign
- LDFLAGS_WINDOWS32 = $(LDFLAGS) -L$(LIBGMP_WINDOW32)/lib -lm -lgmp
- windows32: hashcat-cli32.exe
- rules-windows32: rules-debug32.exe
- rules-debug32.exe: $(DIR_WINDOWS32)/rp.WIN.32.o src/rules-debug.c
- $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) $(DIR_WINDOWS32)/*.WIN.32.o src/rules-debug.c -o rules-debug32.exe $(LDFLAGS_WINDOWS32)
- hashcat-windows32: hashcat-cli32.exe
- hashcat-cli32.exe: $(DIR_WINDOWS32)/tsearch.WIN.32.o $(DIR_WINDOWS32)/rp.WIN.32.o $(DIR_WINDOWS32)/engine.WIN.32.o src/hashcat-cli.c
- $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) $(DIR_WINDOWS32)/*.WIN.32.o /usr/i686-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o hashcat-cli32.exe $(LDFLAGS_WINDOWS32)
- engine-windows32: $(DIR_WINDOWS32)/engine.WIN.32.o
- $(DIR_WINDOWS32)/engine.WIN.32.o: $(DIR_WINDOWS32)/common.WIN.32.o src/engine.c
- $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/engine.c -o $(DIR_WINDOWS32)/engine.WIN.32.o
- rp-windows32: $(DIR_WINDOWS32)/rp.WIN.32.o
- $(DIR_WINDOWS32)/rp.WIN.32.o: $(DIR_WINDOWS32)/common.WIN.32.o src/rp.c
- $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/rp.c -o $(DIR_WINDOWS32)/rp.WIN.32.o
- tsearch-windows32: $(DIR_WINDOWS32)/tsearch.WIN.32.o
- $(DIR_WINDOWS32)/tsearch.WIN.32.o: $(DIR_WINDOWS32)/common.WIN.32.o src/tsearch.c
- $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/tsearch.c -o $(DIR_WINDOWS32)/tsearch.WIN.32.o
- common-windows32: $(DIR_WINDOWS32)/common.WIN.32.o
- $(DIR_WINDOWS32)/common.WIN.32.o: src/common.c
- $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/common.c -o $(DIR_WINDOWS32)/common.WIN.32.o
- ##
- ## WINDOWS64
- ##
- DIR_WINDOWS64 = obj
- LIBGMP_WINDOWS64 = /opt/hashcat-deps/gmp/win64
- CC_WINDOWS64 = x86_64-w64-mingw32-gcc
- CFLAGS_WINDOWS64 = $(CFLAGS) -I$(LIBGMP_WINDOWS64)/include -D__HC_x86_64__ -DWINDOWS -m64 -msse2 -D__USE_MINGW_ANSI_STDIO=1 -mstackrealign
- LDFLAGS_WINDOWS64 = $(LDFLAGS) -L$(LIBGMP_WINDOWS64)/lib -lm -lgmp
- windows64: hashcat-cli64.exe
- rules-windows64: rules-debug64.exe
- rules-debug64.exe: $(DIR_WINDOWS64)/rp.WIN.64.o src/rules-debug.c
- $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) $(DIR_WINDOWS64)/*.WIN.64.o src/rules-debug.c -o rules-debug64.exe $(LDFLAGS_WINDOWS64)
- hashcat-windows64: hashcat-cli64.exe
- hashcat-cli64.exe: $(DIR_WINDOWS64)/tsearch.WIN.64.o $(DIR_WINDOWS64)/rp.WIN.64.o $(DIR_WINDOWS64)/engine.WIN.64.o src/hashcat-cli.c
- $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) $(DIR_WINDOWS64)/*.WIN.64.o /usr/x86_64-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o hashcat-cli64.exe $(LDFLAGS_WINDOWS64)
- engine-windows64: $(DIR_WINDOWS64)/engine.WIN.64.o
- $(DIR_WINDOWS64)/engine.WIN.64.o: $(DIR_WINDOWS64)/common.WIN.64.o src/engine.c
- $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/engine.c -o $(DIR_WINDOWS64)/engine.WIN.64.o
- rp-windows64: $(DIR_WINDOWS64)/rp.WIN.64.o
- $(DIR_WINDOWS64)/rp.WIN.64.o: $(DIR_WINDOWS64)/common.WIN.64.o src/rp.c
- $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/rp.c -o $(DIR_WINDOWS64)/rp.WIN.64.o
- tsearch-windows64: $(DIR_WINDOWS64)/tsearch.WIN.64.o
- $(DIR_WINDOWS64)/tsearch.WIN.64.o: $(DIR_WINDOWS64)/common.WIN.64.o src/tsearch.c
- $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/tsearch.c -o $(DIR_WINDOWS64)/tsearch.WIN.64.o
- common-windows64: $(DIR_WINDOWS64)/common.WIN.64.o
- $(DIR_WINDOWS64)/common.WIN.64.o: src/common.c
- $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/common.c -o $(DIR_WINDOWS64)/common.WIN.64.o
- ##
- ## WINDOWSAVX
- ##
- DIR_WINDOWSAVX = obj
- LIBGMP_WINDOWSAVX = /opt/hashcat-deps/gmp/win64
- CC_WINDOWSAVX = x86_64-w64-mingw32-gcc
- CFLAGS_WINDOWSAVX = $(CFLAGS) -I$(LIBGMP_WINDOWSAVX)/include -D__HC_AVX__ -DWINDOWS -m64 -mavx -D__USE_MINGW_ANSI_STDIO=1 -mstackrealign
- LDFLAGS_WINDOWSAVX = $(LDFLAGS) -L$(LIBGMP_WINDOWSAVX)/lib -lm -lgmp
- windowsAVX: hashcat-cliAVX.exe
- rules-windowsAVX: rules-debugAVX.exe
- rules-debugAVX.exe: $(DIR_WINDOWSAVX)/rp.WIN.AVX.o src/rules-debug.c
- $(CC_WINDOWSAVX) $(CFLAGS_WINDOWSAVX) $(DIR_WINDOWSAVX)/*.WIN.AVX.o src/rules-debug.c -o rules-debugAVX.exe $(LDFLAGS_WINDOWSAVX)
- hashcat-windowsAVX: hashcat-cliAVX.exe
- hashcat-cliAVX.exe: $(DIR_WINDOWSAVX)/tsearch.WIN.AVX.o $(DIR_WINDOWSAVX)/rp.WIN.AVX.o $(DIR_WINDOWSAVX)/engine.WIN.AVX.o src/hashcat-cli.c
- $(CC_WINDOWSAVX) $(CFLAGS_WINDOWSAVX) $(DIR_WINDOWSAVX)/*.WIN.AVX.o /usr/x86_64-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o hashcat-cliAVX.exe $(LDFLAGS_WINDOWSAVX)
- engine-windowsAVX: $(DIR_WINDOWSAVX)/engine.WIN.AVX.o
- $(DIR_WINDOWSAVX)/engine.WIN.AVX.o: $(DIR_WINDOWSAVX)/common.WIN.AVX.o src/engine.c
- $(CC_WINDOWSAVX) $(CFLAGS_WINDOWSAVX) -c src/engine.c -o $(DIR_WINDOWSAVX)/engine.WIN.AVX.o
- rp-windowsAVX: $(DIR_WINDOWSAVX)/rp.WIN.AVX.o
- $(DIR_WINDOWSAVX)/rp.WIN.AVX.o: $(DIR_WINDOWSAVX)/common.WIN.AVX.o src/rp.c
- $(CC_WINDOWSAVX) $(CFLAGS_WINDOWSAVX) -c src/rp.c -o $(DIR_WINDOWSAVX)/rp.WIN.AVX.o
- tsearch-windowsAVX: $(DIR_WINDOWSAVX)/tsearch.WIN.AVX.o
- $(DIR_WINDOWSAVX)/tsearch.WIN.AVX.o: $(DIR_WINDOWSAVX)/common.WIN.AVX.o src/tsearch.c
- $(CC_WINDOWSAVX) $(CFLAGS_WINDOWSAVX) -c src/tsearch.c -o $(DIR_WINDOWSAVX)/tsearch.WIN.AVX.o
- common-windowsAVX: $(DIR_WINDOWSAVX)/common.WIN.AVX.o
- $(DIR_WINDOWSAVX)/common.WIN.AVX.o: src/common.c
- $(CC_WINDOWSAVX) $(CFLAGS_WINDOWSAVX) -c src/common.c -o $(DIR_WINDOWSAVX)/common.WIN.AVX.o
- ##
- ## WINDOWSAVX2
- ##
- DIR_WINDOWSAVX2 = obj
- LIBGMP_WINDOWSAVX2 = /opt/hashcat-deps/gmp/win64
- CC_WINDOWSAVX2 = x86_64-w64-mingw32-gcc
- CFLAGS_WINDOWSAVX2 = $(CFLAGS) -I$(LIBGMP_WINDOWSAVX2)/include -D__HC_AVX2__ -DWINDOWS -m64 -mavx2 -D__USE_MINGW_ANSI_STDIO=1 -mstackrealign
- LDFLAGS_WINDOWSAVX2 = $(LDFLAGS) -L$(LIBGMP_WINDOWSAVX2)/lib -lm -lgmp
- windowsAVX2: hashcat-cliAVX2.exe
- rules-windowsAVX2: rules-debugAVX2.exe
- rules-debugAVX2.exe: $(DIR_WINDOWSAVX2)/rp.WIN.AVX2.o src/rules-debug.c
- $(CC_WINDOWSAVX2) $(CFLAGS_WINDOWSAVX2) $(DIR_WINDOWSAVX2)/*.WIN.AVX2.o src/rules-debug.c -o rules-debugAVX2.exe $(LDFLAGS_WINDOWSAVX2)
- hashcat-windowsAVX2: hashcat-cliAVX2.exe
- hashcat-cliAVX2.exe: $(DIR_WINDOWSAVX2)/tsearch.WIN.AVX2.o $(DIR_WINDOWSAVX2)/rp.WIN.AVX2.o $(DIR_WINDOWSAVX2)/engine.WIN.AVX2.o src/hashcat-cli.c
- $(CC_WINDOWSAVX2) $(CFLAGS_WINDOWSAVX2) $(DIR_WINDOWSAVX2)/*.WIN.AVX2.o /usr/x86_64-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o hashcat-cliAVX2.exe $(LDFLAGS_WINDOWSAVX2)
- engine-windowsAVX2: $(DIR_WINDOWSAVX2)/engine.WIN.AVX2.o
- $(DIR_WINDOWSAVX2)/engine.WIN.AVX2.o: $(DIR_WINDOWSAVX2)/common.WIN.AVX2.o src/engine.c
- $(CC_WINDOWSAVX2) $(CFLAGS_WINDOWSAVX2) -c src/engine.c -o $(DIR_WINDOWSAVX2)/engine.WIN.AVX2.o
- rp-windowsAVX2: $(DIR_WINDOWSAVX2)/rp.WIN.AVX2.o
- $(DIR_WINDOWSAVX2)/rp.WIN.AVX2.o: $(DIR_WINDOWSAVX2)/common.WIN.AVX2.o src/rp.c
- $(CC_WINDOWSAVX2) $(CFLAGS_WINDOWSAVX2) -c src/rp.c -o $(DIR_WINDOWSAVX2)/rp.WIN.AVX2.o
- tsearch-windowsAVX2: $(DIR_WINDOWSAVX2)/tsearch.WIN.AVX2.o
- $(DIR_WINDOWSAVX2)/tsearch.WIN.AVX2.o: $(DIR_WINDOWSAVX2)/common.WIN.AVX2.o src/tsearch.c
- $(CC_WINDOWSAVX2) $(CFLAGS_WINDOWSAVX2) -c src/tsearch.c -o $(DIR_WINDOWSAVX2)/tsearch.WIN.AVX2.o
- common-windowsAVX2: $(DIR_WINDOWSAVX2)/common.WIN.AVX2.o
- $(DIR_WINDOWSAVX2)/common.WIN.AVX2.o: src/common.c
- $(CC_WINDOWSAVX2) $(CFLAGS_WINDOWSAVX2) -c src/common.c -o $(DIR_WINDOWSAVX2)/common.WIN.AVX2.o
- ##
- ## WINDOWSXOP
- ##
- DIR_WINDOWSXOP = obj
- LIBGMP_WINDOWSXOP = /opt/hashcat-deps/gmp/win64
- CC_WINDOWSXOP = x86_64-w64-mingw32-gcc
- CFLAGS_WINDOWSXOP = $(CFLAGS) -I$(LIBGMP_WINDOWSXOP)/include -D__HC_XOP__ -DWINDOWS -m64 -mxop -D__USE_MINGW_ANSI_STDIO=1 -mstackrealign
- LDFLAGS_WINDOWSXOP = $(LDFLAGS) -L$(LIBGMP_WINDOWSXOP)/lib -lm -lgmp
- windowsXOP: hashcat-cliXOP.exe
- rules-windowsXOP: rules-debugXOP.exe
- rules-debugXOP.exe: $(DIR_WINDOWSXOP)/rp.WIN.XOP.o src/rules-debug.c
- $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) $(DIR_WINDOWSXOP)/*.WIN.XOP.o src/rules-debug.c -o rules-debugXOP.exe $(LDFLAGS_WINDOWSXOP)
- hashcat-windowsXOP: hashcat-cliXOP.exe
- hashcat-cliXOP.exe: $(DIR_WINDOWSXOP)/tsearch.WIN.XOP.o $(DIR_WINDOWSXOP)/rp.WIN.XOP.o $(DIR_WINDOWSXOP)/engine.WIN.XOP.o src/hashcat-cli.c
- $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) $(DIR_WINDOWSXOP)/*.WIN.XOP.o /usr/x86_64-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o hashcat-cliXOP.exe $(LDFLAGS_WINDOWSXOP)
- engine-windowsXOP: $(DIR_WINDOWSXOP)/engine.WIN.XOP.o
- $(DIR_WINDOWSXOP)/engine.WIN.XOP.o: $(DIR_WINDOWSXOP)/common.WIN.XOP.o src/engine.c
- $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/engine.c -o $(DIR_WINDOWSXOP)/engine.WIN.XOP.o
- rp-windowsXOP: $(DIR_WINDOWSXOP)/rp.WIN.XOP.o
- $(DIR_WINDOWSXOP)/rp.WIN.XOP.o: $(DIR_WINDOWSXOP)/common.WIN.XOP.o src/rp.c
- $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/rp.c -o $(DIR_WINDOWSXOP)/rp.WIN.XOP.o
- tsearch-windowsXOP: $(DIR_WINDOWSXOP)/tsearch.WIN.XOP.o
- $(DIR_WINDOWSXOP)/tsearch.WIN.XOP.o: $(DIR_WINDOWSXOP)/common.WIN.XOP.o src/tsearch.c
- $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/tsearch.c -o $(DIR_WINDOWSXOP)/tsearch.WIN.XOP.o
- common-windowsXOP: $(DIR_WINDOWSXOP)/common.WIN.XOP.o
- $(DIR_WINDOWSXOP)/common.WIN.XOP.o: src/common.c
- $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/common.c -o $(DIR_WINDOWSXOP)/common.WIN.XOP.o
|