Makefile 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  1. ##
  2. ## Author......: Jens Steube <jens.steube@gmail.com>
  3. ## License.....: MIT
  4. ##
  5. all: binaries
  6. ##
  7. ## Detect host OS
  8. ##
  9. OS := $(shell uname)
  10. ##
  11. ## Makefile flags
  12. ##
  13. MAKEFLAGS += -l -j -rR --no-print-directory
  14. ifneq ($(findstring clean,$(MAKECMDGOALS)),)
  15. MAKEFLAGS += -j 1
  16. endif
  17. # -mstackrealign is required otherwise crashes on windows xp, see hashcat v0.41 and v0.42
  18. CFLAGS := -W -Wall -pipe -I include/ -O2 -s -fomit-frame-pointer -funroll-loops
  19. #CFLAGS := -W -Wall -pipe -I include/ -g
  20. LDFLAGS :=
  21. ##
  22. ## OSX64
  23. ##
  24. DIR_OSX64 = obj/osx64
  25. CC_OSX64 = i686-apple-darwin10-gcc
  26. LIBGMP_OSX64 = deps/gmp/osx64
  27. CFLAGS_OSX64 = $(CFLAGS) -I$(LIBGMP_OSX64)/include -D__HC_x86_64__ -DOSX -m64 -msse2 -arch x86_64 -mmacosx-version-min=10.5
  28. LDFLAGS_OSX64 = $(LDFLAGS) -L$(LIBGMP_OSX64)/lib -lm -lpthread -lgmp
  29. $(DIR_OSX64)/rules-debug64.app: $(DIR_OSX64)/rp.o src/rules-debug.c
  30. $(CC_OSX64) $(filter-out -s,$(CFLAGS_OSX64)) $(DIR_OSX64)/*.o src/rules-debug.c -o $@ $(LDFLAGS_OSX64)
  31. cp $@ .
  32. $(DIR_OSX64)/hashcat-cli64.app: $(DIR_OSX64)/tsearch.o $(DIR_OSX64)/rp.o $(DIR_OSX64)/engine.o src/hashcat-cli.c
  33. $(CC_OSX64) $(filter-out -s,$(CFLAGS_OSX64)) $(DIR_OSX64)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_OSX64)
  34. cp $@ .
  35. $(DIR_OSX64)/engine.o: $(DIR_OSX64)/common.o src/engine.c
  36. $(CC_OSX64) $(CFLAGS_OSX64) -c src/engine.c -o $@
  37. $(DIR_OSX64)/rp.o: $(DIR_OSX64)/common.o src/rp.c
  38. $(CC_OSX64) $(CFLAGS_OSX64) -c src/rp.c -o $@
  39. $(DIR_OSX64)/tsearch.o: $(DIR_OSX64)/common.o src/tsearch.c
  40. $(CC_OSX64) $(CFLAGS_OSX64) -c src/tsearch.c -o $@
  41. $(DIR_OSX64)/common.o: src/common.c
  42. $(CC_OSX64) $(CFLAGS_OSX64) -c src/common.c -o $@
  43. ##
  44. ## FREEBSD32
  45. ##
  46. DIR_FREEBSD32 = obj/freebsd32
  47. CC_FREEBSD32 = gcc
  48. CFLAGS_FREEBSD32 = $(CFLAGS) -I/usr/local/include -DFREEBSD -m32 -msse2
  49. LDFLAGS_FREEBSD32 = $(LDFLAGS) -L/usr/local/lib -lgmp -lm -lpthread -lc
  50. $(DIR_FREEBSD32)/rules-debug32.bin: $(DIR_FREEBSD32)/rp.o src/rules-debug.c
  51. $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) $(DIR_FREEBSD32)/*.o src/rules-debug.c -o $@ $(LDFLAGS_FREEBSD32)
  52. cp $@ .
  53. $(DIR_FREEBSD32)/hashcat-cli32.bin: $(DIR_FREEBSD32)/tsearch.o $(DIR_FREEBSD32)/rp.o $(DIR_FREEBSD32)/engine.o src/hashcat-cli.c
  54. $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) $(DIR_FREEBSD32)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_FREEBSD32)
  55. cp $@ .
  56. $(DIR_FREEBSD32)/engine.o: $(DIR_FREEBSD32)/common.o src/engine.c
  57. $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) -c src/engine.c -o $@
  58. $(DIR_FREEBSD32)/rp.o: $(DIR_FREEBSD32)/common.o src/rp.c
  59. $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) -c src/rp.c -o $@
  60. $(DIR_FREEBSD32)/tsearch.o: $(DIR_FREEBSD32)/common.o src/tsearch.c
  61. $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) -c src/tsearch.c -o $@
  62. $(DIR_FREEBSD32)/common.o: src/common.c
  63. $(CC_FREEBSD32) $(CFLAGS_FREEBSD32) -c src/common.c -o $@
  64. ##
  65. ## FREEBSD64
  66. ##
  67. DIR_FREEBSD64 = obj/freebsd64
  68. CC_FREEBSD64 = gcc
  69. CFLAGS_FREEBSD64 = $(CFLAGS) -I/usr/local/include -DFREEBSD -m64 -msse2
  70. LDFLAGS_FREEBSD64 = $(LDFLAGS) -L/usr/local/lib -lgmp -lm -lpthread -lc
  71. $(DIR_FREEBSD64)/rules-debug64.bin: $(DIR_FREEBSD64)/rp.o src/rules-debug.c
  72. $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) $(DIR_FREEBSD64)/*.o src/rules-debug.c -o $@ $(LDFLAGS_FREEBSD64)
  73. cp $@ .
  74. $(DIR_FREEBSD64)/hashcat-cli64.bin: $(DIR_FREEBSD64)/tsearch.o $(DIR_FREEBSD64)/rp.o $(DIR_FREEBSD64)/engine.o src/hashcat-cli.c
  75. $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) $(DIR_FREEBSD64)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_FREEBSD64)
  76. cp $@ .
  77. $(DIR_FREEBSD64)/engine.o: $(DIR_FREEBSD64)/common.o src/engine.c
  78. $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/engine.c -o $@
  79. $(DIR_FREEBSD64)/rp.o: $(DIR_FREEBSD64)/common.o src/rp.c
  80. $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/rp.c -o $@
  81. $(DIR_FREEBSD64)/tsearch.o: $(DIR_FREEBSD64)/common.o src/tsearch.c
  82. $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/tsearch.c -o $@
  83. $(DIR_FREEBSD64)/common.o: src/common.c
  84. $(CC_FREEBSD64) $(CFLAGS_FREEBSD64) -c src/common.c -o $@
  85. ##
  86. ## FREEBSDXOP
  87. ##
  88. DIR_FREEBSDXOP = obj/freebsdXOP
  89. CC_FREEBSDXOP = gcc
  90. CFLAGS_FREEBSDXOP = $(CFLAGS) -I/usr/local/include -DFREEBSD -mxop
  91. LDFLAGS_FREEBSDXOP = $(LDFLAGS) -L/usr/local/lib -lgmp -lm -lpthread -lc
  92. $(DIR_FREEBSDXOP)/rules-debugXOP.bin: $(DIR_FREEBSDXOP)/rp.o src/rules-debug.c
  93. $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) $(DIR_FREEBSDXOP)/*.o src/rules-debug.c -o $@ $(LDFLAGS_FREEBSDXOP)
  94. cp $@ .
  95. $(DIR_FREEBSDXOP)/hashcat-cliXOP.bin: $(DIR_FREEBSDXOP)/tsearch.o $(DIR_FREEBSDXOP)/rp.o $(DIR_FREEBSDXOP)/engine.o src/hashcat-cli.c
  96. $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) $(DIR_FREEBSDXOP)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_FREEBSDXOP)
  97. cp $@ .
  98. $(DIR_FREEBSDXOP)/engine.o: $(DIR_FREEBSDXOP)/common.o src/engine.c
  99. $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) -c src/engine.c -o $@
  100. $(DIR_FREEBSDXOP)/rp.o: $(DIR_FREEBSDXOP)/common.o src/rp.c
  101. $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) -c src/rp.c -o $@
  102. $(DIR_FREEBSDXOP)/tsearch.o: $(DIR_FREEBSDXOP)/common.o src/tsearch.c
  103. $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) -c src/tsearch.c -o $@
  104. $(DIR_FREEBSDXOP)/common.o: src/common.c
  105. $(CC_FREEBSDXOP) $(CFLAGS_FREEBSDXOP) -c src/common.c -o $@
  106. ##
  107. ## LINUX32
  108. ##
  109. DIR_LINUX32 = obj/linux32
  110. LIBGMP_LINUX32 = deps/gmp/linux32
  111. CC_LINUX32 = gcc
  112. CFLAGS_LINUX32 = $(CFLAGS) -I$(LIBGMP_LINUX32)/include -D__HC_x86_32__ -DLINUX -m32 -msse2
  113. LDFLAGS_LINUX32 = $(LDFLAGS) -L$(LIBGMP_LINUX32)/lib -lm -lpthread -lgmp
  114. $(DIR_LINUX32)/rules-debug32.bin: $(DIR_LINUX32)/rp.o src/rules-debug.c
  115. $(CC_LINUX32) $(CFLAGS_LINUX32) $(DIR_LINUX32)/*.o src/rules-debug.c -o $@ $(LDFLAGS_LINUX32)
  116. cp $@ .
  117. $(DIR_LINUX32)/hashcat-cli32.bin: $(DIR_LINUX32)/tsearch.o $(DIR_LINUX32)/rp.o $(DIR_LINUX32)/engine.o src/hashcat-cli.c
  118. $(CC_LINUX32) $(CFLAGS_LINUX32) $(DIR_LINUX32)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_LINUX32)
  119. cp $@ .
  120. $(DIR_LINUX32)/engine.o: $(DIR_LINUX32)/common.o src/engine.c
  121. $(CC_LINUX32) $(CFLAGS_LINUX32) -c src/engine.c -o $@
  122. $(DIR_LINUX32)/rp.o: $(DIR_LINUX32)/common.o src/rp.c
  123. $(CC_LINUX32) $(CFLAGS_LINUX32) -c src/rp.c -o $@
  124. $(DIR_LINUX32)/tsearch.o: $(DIR_LINUX32)/common.o src/tsearch.c
  125. $(CC_LINUX32) $(CFLAGS_LINUX32) -c src/tsearch.c -o $@
  126. $(DIR_LINUX32)/common.o: src/common.c
  127. $(CC_LINUX32) $(CFLAGS_LINUX32) -c src/common.c -o $@
  128. ##
  129. ## LINUX64
  130. ##
  131. DIR_LINUX64 = obj/linux64
  132. LIBGMP_LINUX64 = deps/gmp/linux64
  133. CC_LINUX64 = gcc
  134. CFLAGS_LINUX64 = $(CFLAGS) -I$(LIBGMP_LINUX64)/include -D__HC_x86_64__ -DLINUX -m64 -msse2
  135. LDFLAGS_LINUX64 = $(LDFLAGS) -L$(LIBGMP_LINUX64)/lib -lm -lpthread -lgmp
  136. $(DIR_LINUX64)/rules-debug64.bin: $(DIR_LINUX64)/rp.o src/rules-debug.c
  137. $(CC_LINUX64) $(CFLAGS_LINUX64) $(DIR_LINUX64)/*.o src/rules-debug.c -o $@ $(LDFLAGS_LINUX64)
  138. cp $@ .
  139. $(DIR_LINUX64)/hashcat-cli64.bin: $(DIR_LINUX64)/tsearch.o $(DIR_LINUX64)/rp.o $(DIR_LINUX64)/engine.o src/hashcat-cli.c
  140. $(CC_LINUX64) $(CFLAGS_LINUX64) $(DIR_LINUX64)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_LINUX64)
  141. cp $@ .
  142. $(DIR_LINUX64)/engine.o: $(DIR_LINUX64)/common.o src/engine.c
  143. $(CC_LINUX64) $(CFLAGS_LINUX64) -c src/engine.c -o $@
  144. $(DIR_LINUX64)/rp.o: $(DIR_LINUX64)/common.o src/rp.c
  145. $(CC_LINUX64) $(CFLAGS_LINUX64) -c src/rp.c -o $@
  146. $(DIR_LINUX64)/tsearch.o: $(DIR_LINUX64)/common.o src/tsearch.c
  147. $(CC_LINUX64) $(CFLAGS_LINUX64) -c src/tsearch.c -o $@
  148. $(DIR_LINUX64)/common.o: src/common.c
  149. $(CC_LINUX64) $(CFLAGS_LINUX64) -c src/common.c -o $@
  150. ##
  151. ## LINUXXOP
  152. ##
  153. DIR_LINUXXOP = obj/linuxXOP
  154. LIBGMP_LINUXXOP = deps/gmp/linux64
  155. CC_LINUXXOP = gcc
  156. CFLAGS_LINUXXOP = $(CFLAGS) -I$(LIBGMP_LINUXXOP)/include -D__HC_XOP__ -DLINUX -m64 -mxop
  157. LDFLAGS_LINUXXOP = $(LDFLAGS) -L$(LIBGMP_LINUXXOP)/lib -lm -lpthread -lgmp
  158. $(DIR_LINUXXOP)/rules-debugXOP.bin: $(DIR_LINUXXOP)/rp.o src/rules-debug.c
  159. $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) $(DIR_LINUXXOP)/*.o src/rules-debug.c -o $@ $(LDFLAGS_LINUXXOP)
  160. cp $@ .
  161. $(DIR_LINUXXOP)/hashcat-cliXOP.bin: $(DIR_LINUXXOP)/tsearch.o $(DIR_LINUXXOP)/rp.o $(DIR_LINUXXOP)/engine.o src/hashcat-cli.c
  162. $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) $(DIR_LINUXXOP)/*.o src/hashcat-cli.c -o $@ $(LDFLAGS_LINUXXOP)
  163. cp $@ .
  164. $(DIR_LINUXXOP)/engine.o: $(DIR_LINUXXOP)/common.o src/engine.c
  165. $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) -c src/engine.c -o $@
  166. $(DIR_LINUXXOP)/rp.o: $(DIR_LINUXXOP)/common.o src/rp.c
  167. $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) -c src/rp.c -o $@
  168. $(DIR_LINUXXOP)/tsearch.o: $(DIR_LINUXXOP)/common.o src/tsearch.c
  169. $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) -c src/tsearch.c -o $@
  170. $(DIR_LINUXXOP)/common.o: src/common.c
  171. $(CC_LINUXXOP) $(CFLAGS_LINUXXOP) -c src/common.c -o $@
  172. ##
  173. ## WINDOWS32
  174. ##
  175. DIR_WINDOWS32 = obj/win32
  176. LIBGMP_WINDOW32 = deps/gmp/win32
  177. CC_WINDOWS32 = i686-w64-mingw32-gcc
  178. CFLAGS_WINDOWS32 = $(CFLAGS) -I$(LIBGMP_WINDOW32)/include -D__HC_x86_32__ -DWINDOWS -m32 -msse2 -D__USE_MINGW_ANSI_STDIO=1 -mstackrealign
  179. LDFLAGS_WINDOWS32 = $(LDFLAGS) -L$(LIBGMP_WINDOW32)/lib -lm -lgmp
  180. $(DIR_WINDOWS32)/rules-debug32.exe: $(DIR_WINDOWS32)/rp.o src/rules-debug.c
  181. $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) $(DIR_WINDOWS32)/*.o src/rules-debug.c -o $@ $(LDFLAGS_WINDOWS32)
  182. cp $@ .
  183. $(DIR_WINDOWS32)/hashcat-cli32.exe: $(DIR_WINDOWS32)/tsearch.o $(DIR_WINDOWS32)/rp.o $(DIR_WINDOWS32)/engine.o src/hashcat-cli.c
  184. $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) $(DIR_WINDOWS32)/*.o /usr/i686-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o $@ $(LDFLAGS_WINDOWS32)
  185. cp $@ .
  186. $(DIR_WINDOWS32)/engine.o: $(DIR_WINDOWS32)/common.o src/engine.c
  187. $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/engine.c -o $@
  188. $(DIR_WINDOWS32)/rp.o: $(DIR_WINDOWS32)/common.o src/rp.c
  189. $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/rp.c -o $@
  190. $(DIR_WINDOWS32)/tsearch.o: $(DIR_WINDOWS32)/common.o src/tsearch.c
  191. $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/tsearch.c -o $@
  192. $(DIR_WINDOWS32)/common.o: src/common.c
  193. $(CC_WINDOWS32) $(CFLAGS_WINDOWS32) -c src/common.c -o $@
  194. ##
  195. ## WINDOWS64
  196. ##
  197. DIR_WINDOWS64 = obj/win64
  198. LIBGMP_WINDOWS64 = deps/gmp/win64
  199. CC_WINDOWS64 = x86_64-w64-mingw32-gcc
  200. CFLAGS_WINDOWS64 = $(CFLAGS) -I$(LIBGMP_WINDOWS64)/include -D__HC_x86_64__ -DWINDOWS -m64 -msse2 -D__USE_MINGW_ANSI_STDIO=1 -mstackrealign
  201. LDFLAGS_WINDOWS64 = $(LDFLAGS) -L$(LIBGMP_WINDOWS64)/lib -lm -lgmp
  202. $(DIR_WINDOWS64)/rules-debug64.exe: $(DIR_WINDOWS64)/rp.o src/rules-debug.c
  203. $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) $(DIR_WINDOWS64)/*.o src/rules-debug.c -o $@ $(LDFLAGS_WINDOWS64)
  204. cp $@ .
  205. $(DIR_WINDOWS64)/hashcat-cli64.exe: $(DIR_WINDOWS64)/tsearch.o $(DIR_WINDOWS64)/rp.o $(DIR_WINDOWS64)/engine.o src/hashcat-cli.c
  206. $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) $(DIR_WINDOWS64)/*.o /usr/x86_64-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o $@ $(LDFLAGS_WINDOWS64)
  207. cp $@ .
  208. $(DIR_WINDOWS64)/engine.o: $(DIR_WINDOWS64)/common.o src/engine.c
  209. $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/engine.c -o $@
  210. $(DIR_WINDOWS64)/rp.o: $(DIR_WINDOWS64)/common.o src/rp.c
  211. $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/rp.c -o $@
  212. $(DIR_WINDOWS64)/tsearch.o: $(DIR_WINDOWS64)/common.o src/tsearch.c
  213. $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/tsearch.c -o $@
  214. $(DIR_WINDOWS64)/common.o: src/common.c
  215. $(CC_WINDOWS64) $(CFLAGS_WINDOWS64) -c src/common.c -o $@
  216. ##
  217. ## WINDOWSXOP
  218. ##
  219. DIR_WINDOWSXOP = obj/winXOP
  220. LIBGMP_WINDOWSXOP = deps/gmp/win64
  221. CC_WINDOWSXOP = x86_64-w64-mingw32-gcc
  222. CFLAGS_WINDOWSXOP = $(CFLAGS) -I$(LIBGMP_WINDOWSXOP)/include -D__HC_XOP__ -DWINDOWS -m64 -mxop -D__USE_MINGW_ANSI_STDIO=1 -mstackrealign
  223. LDFLAGS_WINDOWSXOP = $(LDFLAGS) -L$(LIBGMP_WINDOWSXOP)/lib -lm -lgmp
  224. $(DIR_WINDOWSXOP)/rules-debugXOP.exe: $(DIR_WINDOWSXOP)/rp.o src/rules-debug.c
  225. $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) $(DIR_WINDOWSXOP)/*.o src/rules-debug.c -o $@ $(LDFLAGS_WINDOWSXOP)
  226. cp $@ .
  227. $(DIR_WINDOWSXOP)/hashcat-cliXOP.exe: $(DIR_WINDOWSXOP)/tsearch.o $(DIR_WINDOWSXOP)/rp.o $(DIR_WINDOWSXOP)/engine.o src/hashcat-cli.c
  228. $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) $(DIR_WINDOWSXOP)/*.o /usr/x86_64-w64-mingw32/lib/CRT_glob.o src/hashcat-cli.c -o $@ $(LDFLAGS_WINDOWSXOP)
  229. cp $@ .
  230. $(DIR_WINDOWSXOP)/engine.o: $(DIR_WINDOWSXOP)/common.o src/engine.c
  231. $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/engine.c -o $@
  232. $(DIR_WINDOWSXOP)/rp.o: $(DIR_WINDOWSXOP)/common.o src/rp.c
  233. $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/rp.c -o $@
  234. $(DIR_WINDOWSXOP)/tsearch.o: $(DIR_WINDOWSXOP)/common.o src/tsearch.c
  235. $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/tsearch.c -o $@
  236. $(DIR_WINDOWSXOP)/common.o: src/common.c
  237. $(CC_WINDOWSXOP) $(CFLAGS_WINDOWSXOP) -c src/common.c -o $@
  238. ##
  239. ## User
  240. ##
  241. clean:
  242. rm -f *.bin *.exe *.app
  243. rm -f $(DIR_OSX64)/*
  244. rm -f $(DIR_FREEBSD32)/*
  245. rm -f $(DIR_FREEBSD64)/*
  246. rm -f $(DIR_FREEBSDXOP)/*
  247. rm -f $(DIR_LINUX32)/*
  248. rm -f $(DIR_LINUX64)/*
  249. rm -f $(DIR_LINUXXOP)/*
  250. rm -f $(DIR_WINDOWS32)/*
  251. rm -f $(DIR_WINDOWS64)/*
  252. rm -f $(DIR_WINDOWSXOP)/*
  253. rm -f core out word hash hashcat.pot
  254. rm -rf release
  255. binaries: linux windows osx
  256. osx: osx64
  257. linux: linux32 linux64 linuxXOP
  258. windows: windows32 windows64 windowsXOP
  259. freebsd: freebsd32 freebsd64 freebsdXOP
  260. osx64: $(DIR_OSX64)/hashcat-cli64.app
  261. freebsd32: $(DIR_FREEBSD32)/hashcat-cli32.bin
  262. freebsd64: $(DIR_FREEBSD64)/hashcat-cli64.bin
  263. freebsdXOP: $(DIR_FREEBSDXOP)/hashcat-cliXOP.bin
  264. linux32: $(DIR_LINUX32)/hashcat-cli32.bin
  265. linux64: $(DIR_LINUX64)/hashcat-cli64.bin
  266. linuxXOP: $(DIR_LINUXXOP)/hashcat-cliXOP.bin
  267. windows32: $(DIR_WINDOWS32)/hashcat-cli32.exe
  268. windows64: $(DIR_WINDOWS64)/hashcat-cli64.exe
  269. windowsXOP: $(DIR_WINDOWSXOP)/hashcat-cliXOP.exe
  270. release: binaries
  271. rm -rf release
  272. mkdir release
  273. cp -a $(DIR_OSX64)/hashcat-cli64.app release/
  274. cp -a $(DIR_LINUX32)/hashcat-cli32.bin release/
  275. cp -a $(DIR_LINUX64)/hashcat-cli64.bin release/
  276. cp -a $(DIR_LINUXXOP)/hashcat-cliXOP.bin release/
  277. cp -a $(DIR_WINDOWS32)/hashcat-cli32.exe release/
  278. cp -a $(DIR_WINDOWS64)/hashcat-cli64.exe release/
  279. cp -a $(DIR_WINDOWSXOP)/hashcat-cliXOP.exe release/
  280. cp -a charsets docs rules tables salts examples release/
  281. find release -type f -exec chmod 600 {} \;
  282. find release -type d -exec chmod 700 {} \;
  283. chmod 700 release/*.bin
  284. chmod 700 release/*.app
  285. unix2dos release/salts/*
  286. unix2dos release/rules/*
  287. unix2dos release/tables/*
  288. unix2dos release/docs/*
  289. unix2dos release/examples/*