@@ -78,6 +78,12 @@ PLUGIN_OBJS := $(PLUGIN_OBJS:.c=.o)
7878OPENCL_PLUGIN_OBJS := $(wildcard opencl* _plug.c)
7979OPENCL_PLUGIN_OBJS := $(OPENCL_PLUGIN_OBJS:.c=.o )
8080
81+ # #### Auto dependency generation
82+ AUTODEP =@DEPFLAGS@
83+ ifdef AUTODEP
84+ DEPDIR := .deps
85+ endif
86+
8187JOHN_OBJS = \
8288 jumbo.o john_mpi.o \
8389 DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o \
@@ -226,10 +232,10 @@ digipaq-alpha.o: alpha.S
226232 $(AS ) $(ASFLAGS ) tmp.s -o digipaq-alpha.o
227233 $(RM ) tmp.s
228234
229- princeprocessor :
230- $(CC ) @DEPFLAGS@ @ CFLAGS@ @JOHN_NO_SIMD@ @CFLAGS_EXTRA@ @OPENSSL_CFLAGS@ @OPENMP_CFLAGS@ @HAVE_MPI@ @PTHREAD_CFLAGS@ $(CPPFLAGS ) $(OPT_NORMAL ) -DLINUX pp.c $(LDFLAGS ) -o ../run/pp
235+ princeprocessor : | $( DEPDIR )
236+ $(CC ) @CFLAGS@ @JOHN_NO_SIMD@ @CFLAGS_EXTRA@ @OPENSSL_CFLAGS@ @OPENMP_CFLAGS@ @HAVE_MPI@ @PTHREAD_CFLAGS@ $(CPPFLAGS ) $(OPT_NORMAL ) -DLINUX pp.c $(LDFLAGS ) -o ../run/pp
231237
232- pp.o : pp.c autoconfig.h arch.h mem_map.h os.h os-autoconf.h jumbo.h mmap-windows.c memory.h mpz_int128.h int128.h misc.h config.h params.h common.h path.h signals.h loader.h list.h formats.h logger.h status.h recovery.h options.h getopt.h external.h compiler.h cracker.h john.h unicode.h prince.h rpp.h rules.h mask.h
238+ pp.o : pp.c prince.h | $( DEPDIR )
233239 $(CC ) $(CFLAGS ) $(OPT_NORMAL ) -DJTR_MODE -c pp.c
234240
235241options.o : options.c options.h version.h
@@ -267,10 +273,10 @@ $(SUBDIRS):
267273 $(MAKE ) -C $@ all
268274
269275# Inlining the S-boxes produces faster code as long as they fit in the cache.
270- DES_bs_b.o : DES_bs_b.c arch.h common.h memory.h DES_bs.h loader.h params.h list.h formats.h misc.h jumbo.h autoconfig.h os.h os-autoconf.h sboxes.c nonstd.c sboxes-s.c sboxes-t.c
276+ DES_bs_b.o : DES_bs_b.c sboxes.c nonstd.c sboxes-s.c sboxes-t.c | $( DEPDIR )
271277 $(CC ) $(CFLAGS ) $(OPT_INLINE ) DES_bs_b.c
272278
273- miscnl.o : misc.c
279+ miscnl.o : misc.c | $( DEPDIR )
274280 $(CC ) $(CFLAGS ) $(OPT_NORMAL ) -D_JOHN_MISC_NO_LOG misc.c -o miscnl.o
275281
276282mbedtls/aes.a :
@@ -352,6 +358,10 @@ poly1305-donna/poly1305-donna.a:
352358 $(CC ) symlink.c -o ../run/undrop.exe
353359 $(STRIP ) ../run/undrop.exe
354360
361+ ../run/rar2john.exe : symlink.c
362+ $(CC ) symlink.c -o ../run/rar2john.exe
363+ $(STRIP ) ../run/rar2john.exe
364+
355365../run/zip2john.exe : symlink.c
356366 $(CC ) symlink.c -o ../run/zip2john.exe
357367 $(STRIP ) ../run/zip2john.exe
@@ -360,10 +370,6 @@ poly1305-donna/poly1305-donna.a:
360370 $(CC ) symlink.c -o ../run/gpg2john.exe
361371 $(STRIP ) ../run/gpg2john.exe
362372
363- ../run/rar2john.exe : symlink.c
364- $(CC ) symlink.c -o ../run/rar2john.exe
365- $(STRIP ) ../run/rar2john.exe
366-
367373../run/base64conv.exe : symlink.c
368374 $(CC ) symlink.c -o ../run/base64conv.exe
369375 $(STRIP ) ../run/base64conv.exe
@@ -401,13 +407,13 @@ poly1305-donna/poly1305-donna.a:
401407 $(LD ) $(LDFLAGS ) @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ uaf2john.o uaf_encode.o @OPENMP_CFLAGS@ -o $@
402408
403409../run/keepass2john@EXE_EXT@ : keepass2john.c jumbo.c base64_convert.c misc.c common.c memory.c sha2.o
404- $(CC ) -DAC_BUILT -Wall -O2 @CPPFLAGS@ @DEPFLAGS@ @ CFLAGS@ @OPENSSL_CFLAGS@ @CFLAGS_EXTRA@ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ keepass2john.c jumbo.c base64_convert.c -D_JOHN_MISC_NO_LOG misc.c common.c memory.c sha2.o $(LDFLAGS ) @OPENMP_CFLAGS@ @OPENSSL_LIBS@ -o $@
410+ $(CC ) -DAC_BUILT -Wall -O2 @CPPFLAGS@ @CFLAGS@ @OPENSSL_CFLAGS@ @CFLAGS_EXTRA@ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ keepass2john.c jumbo.c base64_convert.c -D_JOHN_MISC_NO_LOG misc.c common.c memory.c sha2.o $(LDFLAGS ) @OPENMP_CFLAGS@ @OPENSSL_LIBS@ -o $@
405411
406412../run/dmg2john@EXE_EXT@ : dmg2john.o jumbo.o
407413 $(LD ) $(LDFLAGS ) @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ dmg2john.o jumbo.o @OPENMP_CFLAGS@ -o $@
408414
409415../run/bitlocker2john@EXE_EXT@ : bitlocker2john.c jumbo.c base64_convert.c misc.c common.o memory.c
410- $(CC ) -DAC_BUILT -Wall -O2 @CPPFLAGS@ @DEPFLAGS@ @ CFLAGS@ @OPENSSL_CFLAGS@ @CFLAGS_EXTRA@ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ bitlocker2john.c jumbo.c base64_convert.c -D_JOHN_MISC_NO_LOG misc.c common.c memory.c $(LDFLAGS ) @OPENMP_CFLAGS@ @OPENSSL_LIBS@ -o $@
416+ $(CC ) -DAC_BUILT -Wall -O2 @CPPFLAGS@ @CFLAGS@ @OPENSSL_CFLAGS@ @CFLAGS_EXTRA@ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ bitlocker2john.c jumbo.c base64_convert.c -D_JOHN_MISC_NO_LOG misc.c common.c memory.c $(LDFLAGS ) @OPENMP_CFLAGS@ @OPENSSL_LIBS@ -o $@
411417
412418../run/racf2john@EXE_EXT@ : racf2john.o jumbo.o
413419 $(LD ) $(LDFLAGS ) @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ racf2john.o jumbo.o @OPENMP_CFLAGS@ -o $@
@@ -424,30 +430,26 @@ poly1305-donna/poly1305-donna.a:
424430
425431# Note, this one is NOT build by default. To get it, do a make ../run/dynacomptest (or ../run/dynacomptest.exe for cygwin/mingw builds)
426432../run/dynacomptest@EXE_EXT@ : dynamic_compiler.c dynamic_compiler_lib.c dynamic_utils.c misc.c unicode.c base64_convert.o base64.o common.o crc32.o KeccakDuplex.o KeccakF-1600-opt64.o KeccakHash.o KeccakSponge.o gost.o jumbo.o memory.o ripemd.o tiger.o haval.o skein.o md2.o panama.o whirlpool.o sha1.o sha2.o
427- $(CC ) -DAC_BUILT -Wall -O2 @CPPFLAGS@ @DEPFLAGS@ @CFLAGS@ @ CFLAGS_EXTRA@ @OPENSSL_CFLAGS@ @OPENMP_CFLAGS@ -DWITH_MAIN -D_JOHN_MISC_NO_LOG -DUNICODE_NO_OPTIONS dynamic_compiler.c dynamic_compiler_lib.c dynamic_utils.c misc.c unicode.c base64_convert.o base64.o common.o crc32.o KeccakDuplex.o KeccakF-1600-opt64.o KeccakHash.o KeccakSponge.o gost.o jumbo.o memory.o ripemd.o tiger.o haval.o skein.o md2.o panama.o whirlpool.o sha1.o sha2.o $(LDFLAGS ) @OPENSSL_LIBS@ -o $@
433+ $(CC ) -DAC_BUILT -Wall -O2 @CPPFLAGS@ @DEPFLAGS@ @CFLAGS_EXTRA@ @OPENSSL_CFLAGS@ @OPENMP_CFLAGS@ -DWITH_MAIN -D_JOHN_MISC_NO_LOG -DUNICODE_NO_OPTIONS dynamic_compiler.c dynamic_compiler_lib.c dynamic_utils.c misc.c unicode.c base64_convert.o base64.o common.o crc32.o KeccakDuplex.o KeccakF-1600-opt64.o KeccakHash.o KeccakSponge.o gost.o jumbo.o memory.o ripemd.o tiger.o haval.o skein.o md2.o panama.o whirlpool.o sha1.o sha2.o $(LDFLAGS ) @OPENSSL_LIBS@ -o $@
428434
429- ../run/cprepair@EXE_EXT@ : cprepair.c autoconfig.h unicode.c unicode.h options.h misc.h misc.c
435+ ../run/cprepair@EXE_EXT@ : cprepair.c unicode.c misc.c | $( DEPDIR )
430436 $(CC ) -DAC_BUILT -Wall -O3 @CFLAGS_EXTRA@ @OPENSSL_CFLAGS@ -DNOT_JOHN -D_JOHN_MISC_NO_LOG $(CPPFLAGS ) cprepair.c unicode.c misc.c memory.c -o $@
431437
432438../run/tgtsnarf@EXE_EXT@ : tgtsnarf.o
433439 $(LD ) tgtsnarf.o $(LDFLAGS ) @OPENMP_CFLAGS@ -o $@
434440
435- john.o : john.c john.h fmt_externs.h fmt_registers.h
441+ john.o : john.c john.h fmt_externs.h fmt_registers.h | $( DEPDIR )
436442 $(CC ) $(CFLAGS_MAIN ) $(OPT_NORMAL ) -O1 $* .c
437443
438- path.o : path.c path.h autoconfig.h arch.h params.h misc.h memory.h
444+ path.o : path.c path.h arch.h params.h misc.h memory.h | $( DEPDIR )
439445 $(CC ) $(CFLAGS_MAIN ) $(OPT_NORMAL ) -O1 $* .c
440446
441447# Workaround for gcc 3.4.6 (seen on Sparc32) (do not use -funroll-loops)
442- unrarppm.o : unrarppm.c arch.h aes.h autoconfig.h unrar.h unrarhlp.h memory.h jumbo.h unrarppm.h unrarvm.h unrarcmd.h unrarfilter.h common.h os.h os-autoconf.h
448+ unrarppm.o : unrarppm.c | $( DEPDIR )
443449 $(CC ) -DAC_BUILT $(CFLAGS ) $< -o $@
444450
445- AUTODEP =@DEPFLAGS@
446451ifdef AUTODEP
447452
448- # #### Auto dependency generation
449- DEPDIR := .deps
450-
451453$(DEPDIR ) :
452454 @mkdir -p $@
453455
@@ -525,22 +527,22 @@ UNIT_TEST_OBJS = \
525527UNIT_TEST_INCLUDED_PIECES = \
526528 tests/test_valid_utf8.c
527529
528- tests/unit-tests.o : tests/unit-tests.c common.h memory.h misc.h
530+ tests/unit-tests.o : tests/unit-tests.c | $( DEPDIR )
529531 $(CC ) -o tests/unit-tests.o $(CFLAGS ) -DFORCE_GENERIC_SHA2 -D_JOHN_MISC_NO_LOG tests/unit-tests.c
530532
531- tests/sha2.o : sha2.c arch.h sha2.h aligned.h openssl_local_overrides.h md4.h md5.h jtr_sha2.h johnswap.h common.h memory.h stdbool.h params.h os.h os-autoconf.h autoconfig.h jumbo.h
533+ tests/sha2.o : sha2.c | $( DEPDIR )
532534 $(CC ) -o tests/sha2.o $(CFLAGS ) -DFORCE_GENERIC_SHA2 -D_JOHN_MISC_NO_LOG sha2.c
533535
534- tests/misc.o : misc.c os.h os-autoconf.h autoconfig.h jumbo.h arch.h logger.h params.h misc.h options.h list.h loader.h formats.h getopt.h common.h memory.h john_mpi.h
536+ tests/misc.o : misc.c misc.h | $( DEPDIR )
535537 $(CC ) -o tests/misc.o $(CFLAGS ) -D_JOHN_MISC_NO_LOG misc.c
536538
537- tests/common.o : common.c arch.h common.h memory.h os.h os-autoconf.h autoconfig.h jumbo.h misc.h base64_convert.h
539+ tests/common.o : common.c common.h | $( DEPDIR )
538540 $(CC ) -o tests/common.o $(CFLAGS ) -D_JOHN_MISC_NO_LOG common.c
539541
540- tests/memory.o : memory.c arch.h misc.h jumbo.h autoconfig.h memory.h common.h johnswap.h os.h os-autoconf.h
542+ tests/memory.o : memory.c memory.h | $( DEPDIR )
541543 $(CC ) -o tests/memory.o $(CFLAGS ) -D_JOHN_MISC_NO_LOG memory.c
542544
543- tests/unicode.o : unicode.o # just to have all the same deps
545+ tests/unicode.o : unicode.o | $( DEPDIR )
544546 $(CC ) -o tests/unicode.o $(CFLAGS ) -DUNICODE_NO_OPTIONS -DNOT_JOHN unicode.c
545547
546548# keep the 'easy name' build target of unit-tests The 'real' target is ../run/unit-tests[.exe]
0 commit comments