|
|
@@ -3,6 +3,8 @@
|
|
|
## License.....: MIT
|
|
|
##
|
|
|
|
|
|
+all: binaries
|
|
|
+
|
|
|
##
|
|
|
## Detect host OS
|
|
|
##
|
|
|
@@ -25,534 +27,336 @@ 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
|
|
|
-freebsd: freebsd64
|
|
|
-
|
|
|
-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
|
|
|
+DIR_OSX64 = obj/osx64
|
|
|
CC_OSX64 = i686-apple-darwin10-gcc
|
|
|
LIBGMP_OSX64 = 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
|
|
|
+CFLAGS_OSX64 = $(CFLAGS) -I$(LIBGMP_OSX64)/include -D__HC_x86_64__ -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)/rules-debug64.app: $(DIR_OSX64)/rp.o src/rules-debug.c
|
|
|
+ $(CC_OSX64) $(filter-out -s,$(CFLAGS_OSX64)) $(DIR_OSX64)/*.o src/rules-debug.c -o $@ $(LDFLAGS_OSX64)
|
|
|
|
|
|
-$(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
|
|
|
+$(DIR_OSX64)/hashcat-cli64.app: $(DIR_OSX64)/tsearch.o $(DIR_OSX64)/rp.o $(DIR_OSX64)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_OSX64) $(filter-out -s,$(CFLAGS_OSX64)) $(DIR_OSX64)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_OSX64)
|
|
|
|
|
|
-rp-osx64: $(DIR_OSX64)/rp.OSX.64.o
|
|
|
+$(DIR_OSX64)/engine.o: $(DIR_OSX64)/common.o src/engine.c
|
|
|
+ $(CC_OSX64) $(CFLAGS_OSX64) -c src/engine.c -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
|
|
|
+$(DIR_OSX64)/rp.o: $(DIR_OSX64)/common.o src/rp.c
|
|
|
+ $(CC_OSX64) $(CFLAGS_OSX64) -c src/rp.c -o $@
|
|
|
|
|
|
-tsearch-osx64: $(DIR_OSX64)/tsearch.OSX.64.o
|
|
|
+$(DIR_OSX64)/tsearch.o: $(DIR_OSX64)/common.o src/tsearch.c
|
|
|
+ $(CC_OSX64) $(CFLAGS_OSX64) -c src/tsearch.c -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
|
|
|
+$(DIR_OSX64)/common.o: src/common.c
|
|
|
+ $(CC_OSX64) $(CFLAGS_OSX64) -c src/common.c -o $@
|
|
|
|
|
|
##
|
|
|
-## FREEBSD
|
|
|
+## FREEBSD32
|
|
|
##
|
|
|
|
|
|
-DIR_FREEBSD64 = obj
|
|
|
-CC_FREEBSD64 = gcc
|
|
|
-CFLAGS_FREEBSD64 = $(CFLAGS) -I/usr/local/include -DFREEBSD -DPOSIX -m64 -msse2
|
|
|
-LDFLAGS_FREEBSD64 = $(LDFLAGS) -L/usr/local/lib -lgmp -lm -lpthread -lc
|
|
|
-
|
|
|
-freebsd64: hashcat-cli64.elf
|
|
|
-
|
|
|
-rules-freebsd64: rules-debug64.elf
|
|
|
-
|
|
|
-rules-debug64.elf: $(DIR_FREEBSD64)/rp.FREEBSD.64.o src/rules-debug.c
|
|
|
- $(CC_FREEBSD64) $(filter-out -s,$(CFLAGS_FREEBSD64)) $(DIR_FREEBSD64)/*.FREEBSD.64.o src/rules-debug.c -o rules-debug64.elf $(LDFLAGS_FREEBSD64)
|
|
|
-
|
|
|
-hashcat-freebsd64: hashcat-cli64.elf
|
|
|
-
|
|
|
-hashcat-cli64.elf: $(DIR_FREEBSD64)/tsearch.FREEBSD.64.o $(DIR_FREEBSD64)/rp.FREEBSD.64.o $(DIR_FREEBSD64)/engine.FREEBSD.64.o src/hashcat-cli.c
|
|
|
- $(CC_FREEBSD64) $(filter-out -s,$(CFLAGS_FREEBSD64)) $(DIR_FREEBSD64)/*.FREEBSD.64.o src/hashcat-cli.c -o hashcat-cli64.elf $(LDFLAGS_FREEBSD64)
|
|
|
+DIR_FREEBSD32 = obj/freebsd32
|
|
|
+CC_FREEBSD32 = gcc
|
|
|
+CFLAGS_FREEBSD32 = $(CFLAGS) -I/usr/local/include -DFREEBSD -m32 -msse2
|
|
|
+LDFLAGS_FREEBSD32 = $(LDFLAGS) -L/usr/local/lib -lgmp -lm -lpthread -lc
|
|
|
|
|
|
-engine-freebsd64: $(DIR_FREEBSD64)/engine.FREEBSD.64.o
|
|
|
+$(DIR_FREEBSD32)/rules-debug32.bin: $(DIR_FREEBSD32)/rp.o src/rules-debug.c
|
|
|
+ $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) $(DIR_FREEBSD32)/*.o src/rules-debug.c -o $@ $(LDFLAGS_FREEBSD32)
|
|
|
|
|
|
-$(DIR_FREEBSD64)/engine.FREEBSD.64.o: $(DIR_FREEBSD64)/common.FREEBSD.64.o src/engine.c
|
|
|
- $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/engine.c -o $(DIR_FREEBSD64)/engine.FREEBSD.64.o
|
|
|
+$(DIR_FREEBSD32)/hashcat-cli32.bin: $(DIR_FREEBSD32)/tsearch.o $(DIR_FREEBSD32)/rp.o $(DIR_FREEBSD32)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) $(DIR_FREEBSD32)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_FREEBSD32)
|
|
|
|
|
|
-rp-freebsd64: $(DIR_FREEBSD64)/rp.FREEBSD.64.o
|
|
|
+$(DIR_FREEBSD32)/engine.o: $(DIR_FREEBSD32)/common.o src/engine.c
|
|
|
+ $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) -c src/engine.c -o $@
|
|
|
|
|
|
-$(DIR_FREEBSD64)/rp.FREEBSD.64.o: $(DIR_FREEBSD64)/common.FREEBSD.64.o src/rp.c
|
|
|
- $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/rp.c -o $(DIR_FREEBSD64)/rp.FREEBSD.64.o
|
|
|
+$(DIR_FREEBSD32)/rp.o: $(DIR_FREEBSD32)/common.o src/rp.c
|
|
|
+ $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) -c src/rp.c -o $@
|
|
|
|
|
|
-tsearch-freebsd64: $(DIR_FREEBSD64)/tsearch.FREEBSD.64.o
|
|
|
-
|
|
|
-$(DIR_FREEBSD64)/tsearch.FREEBSD.64.o: $(DIR_FREEBSD64)/common.FREEBSD.64.o src/tsearch.c
|
|
|
- $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/tsearch.c -o $(DIR_FREEBSD64)/tsearch.FREEBSD.64.o
|
|
|
-
|
|
|
-common-freebsd64: $(DIR_FREEBSD64)/common.FREEBSD.64.o
|
|
|
-
|
|
|
-$(DIR_FREEBSD64)/common.FREEBSD.64.o: src/common.c
|
|
|
- $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/common.c -o $(DIR_FREEBSD64)/common.FREEBSD.64.o
|
|
|
+$(DIR_FREEBSD32)/tsearch.o: $(DIR_FREEBSD32)/common.o src/tsearch.c
|
|
|
+ $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) -c src/tsearch.c -o $@
|
|
|
|
|
|
+$(DIR_FREEBSD32)/common.o: src/common.c
|
|
|
+ $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) -c src/common.c -o $@
|
|
|
|
|
|
##
|
|
|
-## POSIX32
|
|
|
+## FREEBSD64
|
|
|
##
|
|
|
|
|
|
-DIR_POSIX32 = obj
|
|
|
-LIBGMP_POSIX32 = 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
|
|
|
+DIR_FREEBSD64 = obj/freebsd64
|
|
|
+CC_FREEBSD64 = gcc
|
|
|
+CFLAGS_FREEBSD64 = $(CFLAGS) -I/usr/local/include -DFREEBSD -m64 -msse2
|
|
|
+LDFLAGS_FREEBSD64 = $(LDFLAGS) -L/usr/local/lib -lgmp -lm -lpthread -lc
|
|
|
|
|
|
-rp-posix32: $(DIR_POSIX32)/rp.LINUX.32.o
|
|
|
+$(DIR_FREEBSD64)/rules-debug64.bin: $(DIR_FREEBSD64)/rp.o src/rules-debug.c
|
|
|
+ $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) $(DIR_FREEBSD64)/*.o src/rules-debug.c -o $@ $(LDFLAGS_FREEBSD64)
|
|
|
|
|
|
-$(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
|
|
|
+$(DIR_FREEBSD64)/hashcat-cli64.bin: $(DIR_FREEBSD64)/tsearch.o $(DIR_FREEBSD64)/rp.o $(DIR_FREEBSD64)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) $(DIR_FREEBSD64)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_FREEBSD64)
|
|
|
|
|
|
-tsearch-posix32: $(DIR_POSIX32)/tsearch.LINUX.32.o
|
|
|
+$(DIR_FREEBSD64)/engine.o: $(DIR_FREEBSD64)/common.o src/engine.c
|
|
|
+ $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/engine.c -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
|
|
|
+$(DIR_FREEBSD64)/rp.o: $(DIR_FREEBSD64)/common.o src/rp.c
|
|
|
+ $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/rp.c -o $@
|
|
|
|
|
|
-common-posix32: $(DIR_POSIX32)/common.LINUX.32.o
|
|
|
+$(DIR_FREEBSD64)/tsearch.o: $(DIR_FREEBSD64)/common.o src/tsearch.c
|
|
|
+ $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/tsearch.c -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
|
|
|
+$(DIR_FREEBSD64)/common.o: src/common.c
|
|
|
+ $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/common.c -o $@
|
|
|
|
|
|
##
|
|
|
-## POSIX64
|
|
|
+## FREEBSDXOP
|
|
|
##
|
|
|
|
|
|
-DIR_POSIX64 = obj
|
|
|
-LIBGMP_POSIX64 = 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_FREEBSDXOP = obj/freebsdXOP
|
|
|
+CC_FREEBSDXOP = gcc
|
|
|
+CFLAGS_FREEBSDXOP = $(CFLAGS) -I/usr/local/include -DFREEBSD -mxop
|
|
|
+LDFLAGS_FREEBSDXOP = $(LDFLAGS) -L/usr/local/lib -lgmp -lm -lpthread -lc
|
|
|
|
|
|
-$(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
|
|
|
+$(DIR_FREEBSDXOP)/rules-debugXOP.bin: $(DIR_FREEBSDXOP)/rp.o src/rules-debug.c
|
|
|
+ $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) $(DIR_FREEBSDXOP)/*.o src/rules-debug.c -o $@ $(LDFLAGS_FREEBSDXOP)
|
|
|
|
|
|
-rp-posix64: $(DIR_POSIX64)/rp.LINUX.64.o
|
|
|
+$(DIR_FREEBSDXOP)/hashcat-cliXOP.bin: $(DIR_FREEBSDXOP)/tsearch.o $(DIR_FREEBSDXOP)/rp.o $(DIR_FREEBSDXOP)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) $(DIR_FREEBSDXOP)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_FREEBSDXOP)
|
|
|
|
|
|
-$(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
|
|
|
+$(DIR_FREEBSDXOP)/engine.o: $(DIR_FREEBSDXOP)/common.o src/engine.c
|
|
|
+ $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) -c src/engine.c -o $@
|
|
|
|
|
|
-tsearch-posix64: $(DIR_POSIX64)/tsearch.LINUX.64.o
|
|
|
+$(DIR_FREEBSDXOP)/rp.o: $(DIR_FREEBSDXOP)/common.o src/rp.c
|
|
|
+ $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) -c src/rp.c -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
|
|
|
+$(DIR_FREEBSDXOP)/tsearch.o: $(DIR_FREEBSDXOP)/common.o src/tsearch.c
|
|
|
+ $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) -c src/tsearch.c -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
|
|
|
+$(DIR_FREEBSDXOP)/common.o: src/common.c
|
|
|
+ $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) -c src/common.c -o $@
|
|
|
|
|
|
##
|
|
|
-## POSIXAVX
|
|
|
+## LINUX32
|
|
|
##
|
|
|
|
|
|
-DIR_POSIXAVX = obj
|
|
|
-LIBGMP_POSIXAVX = 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
|
|
|
+DIR_LINUX32 = obj/linux32
|
|
|
+LIBGMP_LINUX32 = deps/gmp/linux32
|
|
|
+CC_LINUX32 = gcc
|
|
|
+CFLAGS_LINUX32 = $(CFLAGS) -I$(LIBGMP_LINUX32)/include -D__HC_x86_32__ -DLINUX -m32 -msse2
|
|
|
+LDFLAGS_LINUX32 = $(LDFLAGS) -L$(LIBGMP_LINUX32)/lib -lm -lpthread -lgmp
|
|
|
|
|
|
-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)
|
|
|
+$(DIR_LINUX32)/rules-debug32.bin: $(DIR_LINUX32)/rp.o src/rules-debug.c
|
|
|
+ $(CC_LINUX32) $(CFLAGS_LINUX32) $(DIR_LINUX32)/*.o src/rules-debug.c -o $@ $(LDFLAGS_LINUX32)
|
|
|
|
|
|
-engine-posixAVX: $(DIR_POSIXAVX)/engine.LINUX.AVX.o
|
|
|
+$(DIR_LINUX32)/hashcat-cli32.bin: $(DIR_LINUX32)/tsearch.o $(DIR_LINUX32)/rp.o $(DIR_LINUX32)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_LINUX32) $(CFLAGS_LINUX32) $(DIR_LINUX32)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_LINUX32)
|
|
|
|
|
|
-$(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
|
|
|
+$(DIR_LINUX32)/engine.o: $(DIR_LINUX32)/common.o src/engine.c
|
|
|
+ $(CC_LINUX32) $(CFLAGS_LINUX32) -c src/engine.c -o $@
|
|
|
|
|
|
-rp-posixAVX: $(DIR_POSIXAVX)/rp.LINUX.AVX.o
|
|
|
+$(DIR_LINUX32)/rp.o: $(DIR_LINUX32)/common.o src/rp.c
|
|
|
+ $(CC_LINUX32) $(CFLAGS_LINUX32) -c src/rp.c -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
|
|
|
+$(DIR_LINUX32)/tsearch.o: $(DIR_LINUX32)/common.o src/tsearch.c
|
|
|
+ $(CC_LINUX32) $(CFLAGS_LINUX32) -c src/tsearch.c -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
|
|
|
+$(DIR_LINUX32)/common.o: src/common.c
|
|
|
+ $(CC_LINUX32) $(CFLAGS_LINUX32) -c src/common.c -o $@
|
|
|
|
|
|
##
|
|
|
-## POSIXAVX2
|
|
|
+## LINUX64
|
|
|
##
|
|
|
|
|
|
-DIR_POSIXAVX2 = obj
|
|
|
-LIBGMP_POSIXAVX2 = 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
|
|
|
+DIR_LINUX64 = obj/linux64
|
|
|
+LIBGMP_LINUX64 = deps/gmp/linux64
|
|
|
+CC_LINUX64 = gcc
|
|
|
+CFLAGS_LINUX64 = $(CFLAGS) -I$(LIBGMP_LINUX64)/include -D__HC_x86_64__ -DLINUX -m64 -msse2
|
|
|
+LDFLAGS_LINUX64 = $(LDFLAGS) -L$(LIBGMP_LINUX64)/lib -lm -lpthread -lgmp
|
|
|
|
|
|
-rules-posixAVX2: rules-debugAVX2.bin
|
|
|
+$(DIR_LINUX64)/rules-debug64.bin: $(DIR_LINUX64)/rp.o src/rules-debug.c
|
|
|
+ $(CC_LINUX64) $(CFLAGS_LINUX64) $(DIR_LINUX64)/*.o src/rules-debug.c -o $@ $(LDFLAGS_LINUX64)
|
|
|
|
|
|
-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)
|
|
|
+$(DIR_LINUX64)/hashcat-cli64.bin: $(DIR_LINUX64)/tsearch.o $(DIR_LINUX64)/rp.o $(DIR_LINUX64)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_LINUX64) $(CFLAGS_LINUX64) $(DIR_LINUX64)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_LINUX64)
|
|
|
|
|
|
-hashcat-posixAVX2: hashcat-cliAVX2.bin
|
|
|
+$(DIR_LINUX64)/engine.o: $(DIR_LINUX64)/common.o src/engine.c
|
|
|
+ $(CC_LINUX64) $(CFLAGS_LINUX64) -c src/engine.c -o $@
|
|
|
|
|
|
-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)
|
|
|
+$(DIR_LINUX64)/rp.o: $(DIR_LINUX64)/common.o src/rp.c
|
|
|
+ $(CC_LINUX64) $(CFLAGS_LINUX64) -c src/rp.c -o $@
|
|
|
|
|
|
-engine-posixAVX2: $(DIR_POSIXAVX2)/engine.LINUX.AVX2.o
|
|
|
+$(DIR_LINUX64)/tsearch.o: $(DIR_LINUX64)/common.o src/tsearch.c
|
|
|
+ $(CC_LINUX64) $(CFLAGS_LINUX64) -c src/tsearch.c -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
|
|
|
+$(DIR_LINUX64)/common.o: src/common.c
|
|
|
+ $(CC_LINUX64) $(CFLAGS_LINUX64) -c src/common.c -o $@
|
|
|
|
|
|
##
|
|
|
-## POSIXXOP
|
|
|
+## LINUXXOP
|
|
|
##
|
|
|
|
|
|
-DIR_POSIXXOP = obj
|
|
|
-LIBGMP_POSIXXOP = 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)
|
|
|
+DIR_LINUXXOP = obj/linuxXOP
|
|
|
+LIBGMP_LINUXXOP = deps/gmp/linux64
|
|
|
+CC_LINUXXOP = gcc
|
|
|
+CFLAGS_LINUXXOP = $(CFLAGS) -I$(LIBGMP_LINUXXOP)/include -D__HC_XOP__ -DLINUX -m64 -mxop
|
|
|
+LDFLAGS_LINUXXOP = $(LDFLAGS) -L$(LIBGMP_LINUXXOP)/lib -lm -lpthread -lgmp
|
|
|
|
|
|
-hashcat-posixXOP: hashcat-cliXOP.bin
|
|
|
+$(DIR_LINUXXOP)/rules-debugXOP.bin: $(DIR_LINUXXOP)/rp.o src/rules-debug.c
|
|
|
+ $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) $(DIR_LINUXXOP)/*.o src/rules-debug.c -o $@ $(LDFLAGS_LINUXXOP)
|
|
|
|
|
|
-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)
|
|
|
+$(DIR_LINUXXOP)/hashcat-cliXOP.bin: $(DIR_LINUXXOP)/tsearch.o $(DIR_LINUXXOP)/rp.o $(DIR_LINUXXOP)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) $(DIR_LINUXXOP)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_LINUXXOP)
|
|
|
|
|
|
-engine-posixXOP: $(DIR_POSIXXOP)/engine.LINUX.XOP.o
|
|
|
+$(DIR_LINUXXOP)/engine.o: $(DIR_LINUXXOP)/common.o src/engine.c
|
|
|
+ $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) -c src/engine.c -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
|
|
|
+$(DIR_LINUXXOP)/rp.o: $(DIR_LINUXXOP)/common.o src/rp.c
|
|
|
+ $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) -c src/rp.c -o $@
|
|
|
|
|
|
-rp-posixXOP: $(DIR_POSIXXOP)/rp.LINUX.XOP.o
|
|
|
+$(DIR_LINUXXOP)/tsearch.o: $(DIR_LINUXXOP)/common.o src/tsearch.c
|
|
|
+ $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) -c src/tsearch.c -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
|
|
|
+$(DIR_LINUXXOP)/common.o: src/common.c
|
|
|
+ $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) -c src/common.c -o $@
|
|
|
|
|
|
##
|
|
|
## WINDOWS32
|
|
|
##
|
|
|
|
|
|
-DIR_WINDOWS32 = obj
|
|
|
+DIR_WINDOWS32 = obj/win32
|
|
|
LIBGMP_WINDOW32 = 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)/rules-debug32.exe: $(DIR_WINDOWS32)/rp.o src/rules-debug.c
|
|
|
+ $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) $(DIR_WINDOWS32)/*.o src/rules-debug.c -o $@ $(LDFLAGS_WINDOWS32)
|
|
|
|
|
|
-$(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
|
|
|
+$(DIR_WINDOWS32)/hashcat-cli32.exe: $(DIR_WINDOWS32)/tsearch.o $(DIR_WINDOWS32)/rp.o $(DIR_WINDOWS32)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) $(DIR_WINDOWS32)/*.o /usr/i686-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o $@ $(LDFLAGS_WINDOWS32)
|
|
|
|
|
|
-rp-windows32: $(DIR_WINDOWS32)/rp.WIN.32.o
|
|
|
+$(DIR_WINDOWS32)/engine.o: $(DIR_WINDOWS32)/common.o src/engine.c
|
|
|
+ $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/engine.c -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
|
|
|
+$(DIR_WINDOWS32)/rp.o: $(DIR_WINDOWS32)/common.o src/rp.c
|
|
|
+ $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/rp.c -o $@
|
|
|
|
|
|
-tsearch-windows32: $(DIR_WINDOWS32)/tsearch.WIN.32.o
|
|
|
+$(DIR_WINDOWS32)/tsearch.o: $(DIR_WINDOWS32)/common.o src/tsearch.c
|
|
|
+ $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/tsearch.c -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
|
|
|
+$(DIR_WINDOWS32)/common.o: src/common.c
|
|
|
+ $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/common.c -o $@
|
|
|
|
|
|
##
|
|
|
## WINDOWS64
|
|
|
##
|
|
|
|
|
|
-DIR_WINDOWS64 = obj
|
|
|
+DIR_WINDOWS64 = obj/win64
|
|
|
LIBGMP_WINDOWS64 = 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 = 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
|
|
|
+$(DIR_WINDOWS64)/rules-debug64.exe: $(DIR_WINDOWS64)/rp.o src/rules-debug.c
|
|
|
+ $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) $(DIR_WINDOWS64)/*.o src/rules-debug.c -o $@ $(LDFLAGS_WINDOWS64)
|
|
|
|
|
|
-tsearch-windowsAVX: $(DIR_WINDOWSAVX)/tsearch.WIN.AVX.o
|
|
|
+$(DIR_WINDOWS64)/hashcat-cli64.exe: $(DIR_WINDOWS64)/tsearch.o $(DIR_WINDOWS64)/rp.o $(DIR_WINDOWS64)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) $(DIR_WINDOWS64)/*.o /usr/x86_64-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o $@ $(LDFLAGS_WINDOWS64)
|
|
|
|
|
|
-$(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
|
|
|
+$(DIR_WINDOWS64)/engine.o: $(DIR_WINDOWS64)/common.o src/engine.c
|
|
|
+ $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/engine.c -o $@
|
|
|
|
|
|
-common-windowsAVX: $(DIR_WINDOWSAVX)/common.WIN.AVX.o
|
|
|
+$(DIR_WINDOWS64)/rp.o: $(DIR_WINDOWS64)/common.o src/rp.c
|
|
|
+ $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/rp.c -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
|
|
|
+$(DIR_WINDOWS64)/tsearch.o: $(DIR_WINDOWS64)/common.o src/tsearch.c
|
|
|
+ $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/tsearch.c -o $@
|
|
|
|
|
|
-##
|
|
|
-## WINDOWSAVX2
|
|
|
-##
|
|
|
-
|
|
|
-DIR_WINDOWSAVX2 = obj
|
|
|
-LIBGMP_WINDOWSAVX2 = 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
|
|
|
+$(DIR_WINDOWS64)/common.o: src/common.c
|
|
|
+ $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/common.c -o $@
|
|
|
|
|
|
##
|
|
|
## WINDOWSXOP
|
|
|
##
|
|
|
|
|
|
-DIR_WINDOWSXOP = obj
|
|
|
+DIR_WINDOWSXOP = obj/winXOP
|
|
|
LIBGMP_WINDOWSXOP = 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)
|
|
|
+$(DIR_WINDOWSXOP)/rules-debugXOP.exe: $(DIR_WINDOWSXOP)/rp.o src/rules-debug.c
|
|
|
+ $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) $(DIR_WINDOWSXOP)/*.o src/rules-debug.c -o $@ $(LDFLAGS_WINDOWSXOP)
|
|
|
|
|
|
-hashcat-windowsXOP: hashcat-cliXOP.exe
|
|
|
+$(DIR_WINDOWSXOP)/hashcat-cliXOP.exe: $(DIR_WINDOWSXOP)/tsearch.o $(DIR_WINDOWSXOP)/rp.o $(DIR_WINDOWSXOP)/engine.o src/hashcat-cli.c
|
|
|
+ $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) $(DIR_WINDOWSXOP)/*.o /usr/x86_64-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o $@ $(LDFLAGS_WINDOWSXOP)
|
|
|
|
|
|
-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)
|
|
|
+$(DIR_WINDOWSXOP)/engine.o: $(DIR_WINDOWSXOP)/common.o src/engine.c
|
|
|
+ $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/engine.c -o $@
|
|
|
|
|
|
-engine-windowsXOP: $(DIR_WINDOWSXOP)/engine.WIN.XOP.o
|
|
|
+$(DIR_WINDOWSXOP)/rp.o: $(DIR_WINDOWSXOP)/common.o src/rp.c
|
|
|
+ $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/rp.c -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
|
|
|
+$(DIR_WINDOWSXOP)/tsearch.o: $(DIR_WINDOWSXOP)/common.o src/tsearch.c
|
|
|
+ $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/tsearch.c -o $@
|
|
|
|
|
|
-rp-windowsXOP: $(DIR_WINDOWSXOP)/rp.WIN.XOP.o
|
|
|
+$(DIR_WINDOWSXOP)/common.o: src/common.c
|
|
|
+ $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/common.c -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
|
|
|
+##
|
|
|
+## User
|
|
|
+##
|
|
|
|
|
|
-$(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
|
|
|
+clean:
|
|
|
+ rm -f $(DIR_OSX64)/*
|
|
|
+ rm -f $(DIR_FREEBSD32)/*
|
|
|
+ rm -f $(DIR_FREEBSD64)/*
|
|
|
+ rm -f $(DIR_FREEBSDXOP)/*
|
|
|
+ rm -f $(DIR_LINUX32)/*
|
|
|
+ rm -f $(DIR_LINUX64)/*
|
|
|
+ rm -f $(DIR_LINUXXOP)/*
|
|
|
+ rm -f $(DIR_WINDOWS32)/*
|
|
|
+ rm -f $(DIR_WINDOWS64)/*
|
|
|
+ rm -f $(DIR_WINDOWSXOP)/*
|
|
|
+ rm -f core out word hash hashcat.pot
|
|
|
+ rm -rf release
|
|
|
|
|
|
-common-windowsXOP: $(DIR_WINDOWSXOP)/common.WIN.XOP.o
|
|
|
+binaries: linux windows osx
|
|
|
|
|
|
-$(DIR_WINDOWSXOP)/common.WIN.XOP.o: src/common.c
|
|
|
- $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/common.c -o $(DIR_WINDOWSXOP)/common.WIN.XOP.o
|
|
|
+osx: osx64
|
|
|
+linux: linux32 linux64 linuxXOP
|
|
|
+windows: windows32 windows64 windowsXOP
|
|
|
+freebsd: freebsd32 freebsd64 freebsdXOP
|
|
|
+
|
|
|
+osx64: $(DIR_OSX64)/hashcat-cli64.app
|
|
|
+freebsd32: $(DIR_FREEBSD32)/hashcat-cli32.bin
|
|
|
+freebsd64: $(DIR_FREEBSD64)/hashcat-cli64.bin
|
|
|
+freebsdXOP: $(DIR_FREEBSDXOP)/hashcat-cliXOP.bin
|
|
|
+linux32: $(DIR_LINUX32)/hashcat-cli32.bin
|
|
|
+linux64: $(DIR_LINUX64)/hashcat-cli64.bin
|
|
|
+linuxXOP: $(DIR_LINUXXOP)/hashcat-cliXOP.bin
|
|
|
+windows32: $(DIR_WINDOWS32)/hashcat-cli32.exe
|
|
|
+windows64: $(DIR_WINDOWS64)/hashcat-cli64.exe
|
|
|
+windowsXOP: $(DIR_WINDOWSXOP)/hashcat-cliXOP.exe
|
|
|
+
|
|
|
+release: binaries
|
|
|
+ rm -rf release
|
|
|
+ mkdir release
|
|
|
+ cp -a $(DIR_OSX64)/hashcat-cli64.app release/
|
|
|
+ cp -a $(DIR_LINUX32)/hashcat-cli32.bin release/
|
|
|
+ cp -a $(DIR_LINUX64)/hashcat-cli64.bin release/
|
|
|
+ cp -a $(DIR_LINUXXOP)/hashcat-cliXOP.bin release/
|
|
|
+ cp -a $(DIR_WINDOWS32)/hashcat-cli32.exe release/
|
|
|
+ cp -a $(DIR_WINDOWS64)/hashcat-cli64.exe release/
|
|
|
+ cp -a $(DIR_WINDOWSXOP)/hashcat-cliXOP.exe release/
|
|
|
+ cp -a charsets docs rules tables salts examples 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/*
|