📄 makefile
字号:
solaris-sparc-gcc: $(MAKE) solaris-sparc-any HAMMER=use-solaris-sparc-gccuse-solaris-sparcv9-cc: $(MAKE) $(NAIL) \ BENCH_DES_OBJS_DEPEND="$(BENCH_DES_OBJS_ORIG) spro-sparc.o" \ JOHN_OBJS="$(JOHN_OBJS_ORIG) spro-sparc.o" \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -xO4 -xarch=v8plusa -xchip=ultra" \ LDFLAGS="-s -lc -lrt" \ OPT_NORMAL="" \ OPT_INLINE="-xinline=s1,s2,s3,s4,s5,s6,s7,s8"use-solaris-sparcv8-cc: $(MAKE) $(NAIL) \ BENCH_DES_OBJS_DEPEND="$(BENCH_DES_OBJS_ORIG) spro-sparc.o" \ JOHN_OBJS="$(JOHN_OBJS_ORIG) spro-sparc.o" \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -xO4 -xarch=v8" \ LDFLAGS="-s -lc -lrt" \ OPT_NORMAL="" \ OPT_INLINE="-xinline=s1,s2,s3,s4,s5,s6,s7,s8"use-solaris-sparc-gcc: $(MAKE) $(NAIL) \ BENCH_DES_OBJS_DEPEND="$(BENCH_DES_OBJS_ORIG) sparc.o" \ JOHN_OBJS="$(JOHN_OBJS_ORIG) sparc.o" \ LDFLAGS="$(LDFLAGS) -lrt"sparc.h: $(RM) arch.h $(CC) $(CFLAGS) -DOS_TIMER -DOS_FLOCK -DDES_ASM detect.c $(LD) $(LDFLAGS) detect.o -o detect ./sparc.sh "$(MAKE)" "$(HAMMER)" "$(BENCH_DES_OBJS_DEPEND)"# Older versions of spro cc didn't support .S files directlyspro-sparc.o: sparc.S $(CPP) $(CPPFLAGS) sparc.S | $(SED) 's/% /%/g' > tmp.s $(AS) $(ASFLAGS) tmp.s -o spro-sparc.o $(RM) tmp.ssolaris-x86-any: $(RM) arch.h ln -s x86-any.h arch.h $(MAKE) $(PROJ) \ SHELL=/bin/sh \ JOHN_OBJS="$(JOHN_OBJS) solaris-x86.o" \ LDFLAGS="$(LDFLAGS) -lc -lrt"# Solaris x86 got a broken assembler, with line length restriction (and some# other problems, that are worked around in x86.S)solaris-x86.o: x86.S $(CPP) $(CPPFLAGS) -P -DDUMBAS x86.S | $(TR) \; \\n > tmp.s $(AS) $(ASFLAGS) tmp.s -o solaris-x86.o $(RM) tmp.ssco-x86-any-gcc: $(RM) arch.h ln -s x86-any.h arch.h $(MAKE) $(PROJ) \ SHELL=/bin/sh \ JOHN_OBJS="$(JOHN_OBJS) sco-x86.o"sco-x86-any-cc: $(RM) arch.h ln -s x86-any.h arch.h $(MAKE) $(PROJ) \ SHELL=/bin/sh \ JOHN_OBJS="$(JOHN_OBJS) sco-x86.o" \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -b elf -O3" \ ASFLAGS="-c -b elf" \ OPT_NORMAL="-K loop_unroll,no_inline" \ OPT_INLINE="-K inline"# SCO is even worse than Solaris x86sco-x86.o: x86.S $(CPP) $(CPPFLAGS) -DDUMBAS x86.S | \ $(TR) \; \\n | $(SED) 's/\([%.]\) /\1/g' > tmp.s $(AS) $(ASFLAGS) tmp.s -o sco-x86.o $(RM) tmp.stru64-alpha: $(LN) alpha.h arch.h $(MAKE) $(PROJ) \ JOHN_OBJS="$(JOHN_OBJS) digipaq-alpha.o" \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -O4 -arch host" \ OPT_NORMAL="" \ OPT_INLINE="-inline all"# Digital/Compaq's cc and make use the .S suffix for a different purpose...digipaq-alpha.o: alpha.S $(CPP) $(CPPFLAGS) alpha.S > tmp.s $(AS) $(ASFLAGS) tmp.s -o digipaq-alpha.o $(RM) tmp.saix-ppc32: $(LN) ppc32.h arch.h $(MAKE) $(PROJ) \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -qunroll=2 -qarch=ppc -qchars=signed" \ LDFLAGS="-s -lbsd" \ OPT_NORMAL="-O2" \ OPT_INLINE="-O3 -Q=99 -w"macosx-ppc32-altivec: $(LN) ppc32alt.h arch.h $(MAKE) $(PROJ) \ JOHN_OBJS="$(JOHN_OBJS) ppc-alti-macosx.o" \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -Wall -fomit-frame-pointer" \ OPT_NORMAL="-fast -mcpu=7450" \ OPT_INLINE="-fast -mcpu=7450 -finline-limit=4000"macosx-ppc32: $(LN) ppc32.h arch.h $(MAKE) $(PROJ) \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -traditional-cpp" \ OPT_NORMAL="-O2" \ OPT_INLINE="-O3"# This is slightly slower than macosx-ppc32-altivec for most hash types.macosx-ppc64-altivec: $(LN) ppc64alt.h arch.h $(MAKE) $(PROJ) \ JOHN_OBJS="$(JOHN_OBJS) ppc-alti-macosx.o" \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -m64 -Wall -fomit-frame-pointer" \ LDFLAGS="-s -m64" \ OPT_NORMAL="-fast" \ OPT_INLINE="-fast -finline-limit=4000"macosx-ppc64: $(LN) ppc64.h arch.h $(MAKE) $(PROJ) \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -Wall -fomit-frame-pointer -m64" \ LDFLAGS="-s -m64" \ OPT_NORMAL="-fast" \ OPT_INLINE="-fast -finline-limit=4000"ppc-alti-macosx.o: ppc-alti.c DES_bs_a.c $(CC) $(CFLAGS) $(OPT_INLINE) -faltivec -maltivec ppc-alti.c -o $@macosx-x86-mmx: $(LN) x86-mmx.h arch.h $(MAKE) $(PROJ) \ JOHN_OBJS="$(JOHN_OBJS) x86.o x86-mmx.o" \ ASFLAGS="$(ASFLAGS) -DUNDERSCORES -DBSD -DALIGN_LOG" CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -traditional-cpp" \ OPT_NORMAL="-O2" \ OPT_INLINE="-O3"hpux-pa-risc-gcc: $(LN) pa-risc.h arch.h $(MAKE) $(PROJ) \ CFLAGS="-c -Wall -O3 -fomit-frame-pointer"hpux-pa-risc-cc: $(LN) pa-risc.h arch.h $(MAKE) $(PROJ) \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -Aa -D_HPUX_SOURCE -DANSI_CPP" \ LDFLAGS="-s" \ OPT_NORMAL="+O2" \ OPT_INLINE="+O3 +Oinline"irix-mips64-r10k: $(LN) mips64.h arch.h $(MAKE) $(PROJ) \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -O2 -64 -mips4 -r10000 -signed" \ LDFLAGS="-s -64 -mips4 -r10000" \ OPT_NORMAL="-LNO:opt=1 -OPT:Olimit=2194" \ OPT_INLINE="-INLINE:all"irix-mips64: $(LN) mips64.h arch.h $(MAKE) $(PROJ) \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -O2 -64 -mips3 -signed" \ LDFLAGS="-s -64 -mips3" \ OPT_NORMAL="-LNO:opt=1 -OPT:Olimit=2194" \ OPT_INLINE="-INLINE:all"irix-mips32: $(LN) mips32.h arch.h $(MAKE) $(PROJ) \ CPP=cc CC=cc AS=cc LD=cc \ CFLAGS="-c -O2 -32 -signed" \ LDFLAGS="-s -32" \ OPT_NORMAL="-LNO:opt=1 -OPT:Olimit=2194" \ OPT_INLINE="-INLINE:all"dos-djgpp-x86-mmx: copy x86-mmx.h arch.h $(MAKE) $(PROJ_DOS) \ JOHN_OBJS="$(JOHN_OBJS_MINIMAL) x86.o x86-mmx.o" \ ASFLAGS="$(ASFLAGS) -DUNDERSCORES -DALIGN_LOG"dos-djgpp-x86-any: copy x86-any.h arch.h $(MAKE) $(PROJ_DOS) \ JOHN_OBJS="$(JOHN_OBJS) x86.o" \ ASFLAGS="$(ASFLAGS) -DUNDERSCORES -DALIGN_LOG"win32-cygwin-x86-mmx: $(CP) x86-mmx.h arch.h $(MAKE) $(PROJ_WIN32) \ JOHN_OBJS="$(JOHN_OBJS_MINIMAL) x86.o x86-mmx.o" \ ASFLAGS="$(ASFLAGS) -DUNDERSCORES"win32-cygwin-x86-any: $(CP) x86-any.h arch.h $(MAKE) $(PROJ_WIN32) \ JOHN_OBJS="$(JOHN_OBJS) x86.o" \ ASFLAGS="$(ASFLAGS) -DUNDERSCORES"beos-x86-mmx: $(LN) x86-mmx.h arch.h $(MAKE) $(PROJ) \ JOHN_OBJS="$(JOHN_OBJS_MINIMAL) x86.o x86-mmx.o"beos-x86-any: $(LN) x86-any.h arch.h $(MAKE) $(PROJ) \ JOHN_OBJS="$(JOHN_OBJS) x86.o"generic: generic.h $(RM) arch.h ln -s generic.h arch.h $(MAKE) $(PROJ)generic.h: $(RM) arch.h $(CC) $(CFLAGS) detect.c $(LD) $(LDFLAGS) detect.o -o detect ./best.sh "$(MAKE)" \ "$(BENCH_DES_OBJS_DEPEND)" \ "$(BENCH_DES_BS_OBJS_DEPEND)" \ "$(BENCH_MD5_OBJS_DEPEND)" \ "$(BENCH_BF_OBJS_DEPEND)"bench: $(BENCH_OBJS) $(LD) $(LDFLAGS) $(BENCH_OBJS) -o bench../run/john: $(JOHN_OBJS) $(LD) $(LDFLAGS) $(JOHN_OBJS) -o ../run/john../run/unshadow: ../run/john $(RM) ../run/unshadow ln -s john ../run/unshadow../run/unafs: ../run/john $(RM) ../run/unafs ln -s john ../run/unafs../run/unique: ../run/john $(RM) ../run/unique ln -s john ../run/unique../run/john.bin: $(JOHN_OBJS) $(LD) $(LDFLAGS) $(JOHN_OBJS) -o ../run/john.exe if exist ..\run\john.bin del ..\run\john.bin ren ..\run\john.exe john.bin../run/john.com: john.com copy john.com ..\run\john.com../run/unshadow.com: john.com copy john.com ..\run\unshadow.com../run/unafs.com: john.com copy john.com ..\run\unafs.com../run/unique.com: john.com copy john.com ..\run\unique.comjohn.com: john.asm @echo Use Borland TASM/TLINK to make JOHN.COM../run/john.exe: $(JOHN_OBJS) $(LD) $(JOHN_OBJS) -lkernel32 -o ../run/john.exe strip ../run/john.exe../run/unshadow.exe: symlink.c $(CC) symlink.c -o ../run/unshadow.exe strip ../run/unshadow.exe../run/unafs.exe: symlink.c $(CC) symlink.c -o ../run/unafs.exe strip ../run/unafs.exe../run/unique.exe: symlink.c $(CC) symlink.c -o ../run/unique.exe strip ../run/unique.exe# Inlining the S-boxes produces faster code, as long as they fit in the cache# (that is, on RISC with at least 8 KB of L1 code cache).DES_bs_b.o: DES_bs_b.c DES_bs_s.c DES_bs_n.c $(CC) $(CFLAGS) $(OPT_INLINE) DES_bs_b.c# I prefer to distribute Matthew Kwan's S-box files unmodified...DES_bs_s.c: sboxes.c $(SED) "s/unsigned long/ARCH_WORD/" sboxes.c > DES_bs_s.cDES_bs_n.c: nonstd.c $(SED) "s/unsigned long/ARCH_WORD/" nonstd.c > DES_bs_n.cDES_bs_a.c: nonstd.c ppc-alti.pl $(PERL) ppc-alti.pl nonstd.c > DES_bs_a.cmiscnl.o: misc.c $(CC) $(CFLAGS) $(OPT_NORMAL) -D_JOHN_MISC_NO_LOG misc.c -o miscnl.o.c.o: $(CC) $(CFLAGS) $(OPT_NORMAL) $*.c.S.o: $(AS) $(ASFLAGS) $*.S# We don't have any files with .s suffix, this is for compiling in DOS only.s.o: $(AS) $(ASFLAGS) $*.Sdepend: makedepend -fMakefile.dep -Y *.c 2>> /dev/nullclean: $(RM) $(PROJ) $(PROJ_DOS) $(PROJ_WIN32) $(RM) ../run/john.exe *.o *.bak core $(RM) detect bench generic.h arch.h sparc.h tmp.s $(RM) DES_bs_s.c DES_bs_n.c DES_bs_a.c $(CP) $(NULL) Makefile.depinclude Makefile.dep
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -