# Copyright (C) JAEHYUK CHO
# All rights reserved.
# Code by JaeHyuk Cho <mailto:minzkn@minzkn.com>

# bash$ make TARGET_ARCH=i386 all
# bash$ make TARGET_ARCH=mips all
# bash$ make TARGET_ARCH=ppc all
# bash$ make TARGET_ARCH=arm all

TARGET_ARCH                  :=i386
# TARGET_ARCH                  :=mips
# TARGET_ARCH                  :=ppc
# TARGET_ARCH                  :=arm

ifeq ($(findstring mips,$(TARGET_ARCH)),mips)
 CROSS_COMPILE               :=/opt/kenati/bin/lx4189-uclibc-#
else
 ifeq ($(findstring ppc,$(TARGET_ARCH)),ppc)
  CROSS_COMPILE              :=/opt/hardhat/devkit/ppc/405/bin/ppc_405-#
 else
  ifeq ($(findstring arm,$(TARGET_ARCH)),arm)
   CROSS_COMPILE             :=/usr/local/arm-linux/bin/arm-linux-#
  else
   ifeq ($(findstring i386,$(TARGET_ARCH)),i386)
    CROSS_COMPILE            :=#
   else
    CROSS_COMPILE            :=#
   endif
  endif
 endif
endif

CC                           := $(CROSS_COMPILE)gcc
RM                           := rm -f

CFLAGS                       := -O2 -Wall -Werror -fomit-frame-pointer -pipe -I. -D_REENTRANT
LDFLAGS                      := -s -lcrypt

TARGET                       := mzpwentry mzpwcheck mzpwcrack

OBJECT_mzpwentry             := pwentry.o
OBJECT_mzpwcheck             := pwcheck.o hash.o
OBJECT_mzpwcrack             := pwcrack.o hash.o

OBJECTS                      := $(OBJECT_mzpwentry) $(OBJECT_mzpwcheck) $(OBJECT_mzpwcrack)

.PHONY: all clean

all: $(TARGET)
clean: ; $(RM) *.o $(TARGET)

$(OBJECTS): Makefile
$(OBJECT_mzpwcheck) $(OBJECT_mzpwcrack): hash.h

mzpwentry: $(OBJECT_mzpwentry) ; $(CC) $(LDFLAGS) -o $(@) $(^)
mzpwcheck: $(OBJECT_mzpwcheck) ; $(CC) $(LDFLAGS) -o $(@) $(^)
mzpwcrack: $(OBJECT_mzpwcrack) ; $(CC) $(LDFLAGS) -o $(@) $(^)

%.o: %.c ; $(CC) $(CFLAGS) -c -o $(@) $(<)

# End of Makefile
