#   Killer Cracker v9.10 LTD - Un*x Password Cracker - By Doctor Dissector
# =========================================================================
#     Filename: Makefile  -  Last update: 09/20/91  -  Copyright (c) 1991
# =========================================================================
#   *** LIMITED EDITION !!!!! DO NOT DISTRIBUTE !!!!! LIMITED EDITION ***

# MAKE OPTIONS:
#
#   make all        Makes Killer Cracker (kc) and Password Preprocesser (pwp)
#   make kc         Makes Killer Cracker
#   make pwp        Makes Password Preprocesser
#   make b_order    Makes b_order, determines byte-order of your compiler
#   make int_size   Makes int_size, determines bit-size of your compiler's int

# IMPORTANT NOTES:
#
#   Byte Order          If your compiler generates non-network byte-order data
#                       you MUST add the flag "-DNON_NETORDER=1" into the
#                       KC_CFLAGS option of this Makefile.  Failure to do so
#                       will result in the improper encryption of each guessed
#                       word.  To determine whether or not your compiler
#                       generates non-network byte-order data, compile and
#                       execute the included program, "b_order.c".
#
#   32 Bit Integers     If your compiler generates 32 bit (or larger) integers
#                       (NORMAL, not long integers), adding the flag
#                       "-DINT_32BIT=1" into the KC_CFLAGS option of this
#                       Makefile should increase the performance of the bcrypt
#                       encryption routines.  To determine the bit-size of
#                       your compiler's default integers, compile and execute
#                       the included program, "int_size.c".
#
#   MS/PC-DOS           Turbo/Borland C/C++ and Microsoft C users MUST compile
#                       Killer Cracker and its associated encryption routines
#                       (not Password Preprocesser) under the COMPACT memory
#                       model (or larger memory model, ie: large, huge).  This
#                       is necessary for the farmalloc/_fmalloc functions to
#                       allocate memory beyond 64k properly.

#  NOTE:
#
#   If this Makefile doesn't work on your machine (you get an error when you
#   type "make" and it specifies some syntax-error on a line), then your
#   version of "make" requires executable lines to be preceded by a "TAB"
#   character.  You can easily fix this by deleting the spaces preceding each
#   line FOLLOWING each label:
#
#       kc:     kc.c kc.h bcrypt.h bcrypt.c
#               blah blah blah
#
#   Edit the above (and all other labels) to look like:
#
#       kc:     kc.c kc.h bcrypt.h bcrypt.c
#       <TAB>blah blah blah
#
#   Where <TAB> is the tab character.

# SYSTYPE: System type declarations:
#
#   TURBO       Turbo C, Turbo C++, Borland C++ and compatible compilers
#   MICROSOFT   Microsoft C compilers
#   DOS32BIT    32 Bit MS/PC-DOS compiles, GCC/G++/NDP/etc...
#   SYSV        System V Un*x AND OTHER non-BSD Un*xes
#   BSD         BSD Un*x v4.x, Ultrix, Apollo, Mach, and MOST BSD clones
#   STRIPPED    If no other system declaration works, try this
#
SYSTYPE   = DOS32BIT

# OSTYPE: Operating system type declarations:
#
#   MSDOS       MS/PC-DOS implementation
#   UNIX        Any Un*x implementation
#
OSTYPE    = MSDOS

# Compiler options:
#
#   CC          Compiler executable name
#   PWP_CFLAGS  Compiler flags for Password Preprocesser
#   MANDATORY   Mandatory compiler flags for Killer Cracker (DO NOT CHANGE)
#   KC_CFLAGS   Compiler flags for Killer Cracker
#
CC          = cc
PWP_CFLAGS  = -O -o pwp
MANDATORY   = -D_$(SYSTYPE)=1 -D_$(OSTYPE)=1
KC_CFLAGS   = $(MANDATORY) -O -o kc

# *remember* if your compiler is NON-NETWORK BYTE ORDER be sure to add the
# flag below into your own compiler flags for Killer Cracker to run properly
#KC_CFLAGS  = $(MANDATORY) -DNON_NETORDER=1 -O -o kc

# *idea* if your compiler has default 32 bit integers, try adding
# flag below into your own compiler flags for Killer Cracker
#KC_CFLAGS  = $(MANDATORY) -DINT_32BIT=1 -O -o kc

# *commented* version of the flags used for Turbo/Borland C/C++
#PWP_CFLAGS = $(MANDATORY) -O -Z -G -N -ms -d -Ic:\tc\include -Lc:\tc\lib -DNON_NETORDER=1
#KC_CFLAGS  = $(MANDATORY) -O -Z -G -N -mc -d -Ic:\tc\include -Lc:\tc\lib -DNON_NETORDER=1

# Actually compile the program
#
all:        pwp kc

kc:         kc.h kc.c bcrypt.h bcrypt.c
            $(CC) $(KC_CFLAGS) kc.c

pwp:        pwp.h pwp.c
            $(CC) $(PWP_CFLAGS) pwp.c

b_order:    b_order.c
            $(CC) b_order.c

int_size:   int_size.c
            $(CC) int_size.c
