# *******************************************************************
# *     Copyright (c) 1994-2005 Jetico, Inc., Finland
# *     All rights reserved.
# *
# *     File:           Makefile
# *
# *     Description:    main makefile 
# *
# *     Scope:          BestCrypt 
# *
# *     Platforms:      Linux
# *
# *     Author:         Vitaliy Zolotarev
# *
# *     Revision:	$Id: Makefile,v 1.16 2005/08/11 06:08:32 crypt Rel-1.6-3 $
# *
# *******************************************************************/                                                        #

CC = gcc
CPP = g++
LD = ld
MAKE = make
INSTALL = install
LN = ln
MKNOD = mknod
CHMOD = chmod

root=/

MAN_PATH   = $(shell ./man_path)
MOD_PATH   = $(shell ./mod_path)
RC_PATH    = $(shell ./rc_path)
INIT_PATH  = $(shell ./init_path $(RC_PATH) )
MODULES    = $(shell ./modules)
SUBDIRS = kgsha kgsha256 src mod

all:  subdirs 

subdirs:
	set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i CC=$(CC) CPP=$(CPP) ; done

install: subdirs
	$(INSTALL) -o root -m 4755 -s bin/bctool   $(root)/usr/bin/
	$(INSTALL) -o root -m 0755 -s lib/libkgsha.so   $(root)/usr/lib/
	$(INSTALL) -o root -m 0755 -s lib/libkgsha256.so   $(root)/usr/lib/
	$(LN) -sf bctool $(root)/usr/bin/bcmount
	$(LN) -sf bctool $(root)/usr/bin/bcumount
	$(LN) -sf bctool $(root)/usr/bin/bcformat
	$(LN) -sf bctool $(root)/usr/bin/bcfsck
	$(LN) -sf bctool $(root)/usr/bin/bcnew
	$(LN) -sf bctool $(root)/usr/bin/bcpasswd
	$(LN) -sf bctool $(root)/usr/bin/bcinfo
	$(LN) -sf bctool $(root)/usr/bin/bclink
	$(LN) -sf bctool $(root)/usr/bin/bcunlink
	$(LN) -sf bctool $(root)/usr/bin/bcmake_hidden
	$(LN) -sf bctool $(root)/usr/bin/bcreencrypt
	$(INSTALL) -m 644 etc/bc.conf     $(root)/etc/
	$(INSTALL) etc/bcrypt      $(root)/$(RC_PATH)/$(INIT_PATH)/
	$(INSTALL) -m 644 man/bctool.8   $(root)/$(MAN_PATH)/man8/	
	$(INSTALL) -m 644 $(MODULES)     $(root)/$(MOD_PATH)/
	$(LN) -sf ../$(INIT_PATH)/bcrypt $(root)/$(RC_PATH)/rc2.d/S85bcrypt
	$(LN) -sf ../$(INIT_PATH)/bcrypt $(root)/$(RC_PATH)/rc3.d/S85bcrypt
	$(LN) -sf ../$(INIT_PATH)/bcrypt $(root)/$(RC_PATH)/rc4.d/S85bcrypt
	$(LN) -sf ../$(INIT_PATH)/bcrypt $(root)/$(RC_PATH)/rc5.d/S85bcrypt
	$(LN) -sf ../$(INIT_PATH)/bcrypt $(root)/$(RC_PATH)/rc0.d/K15bcrypt
	$(LN) -sf ../$(INIT_PATH)/bcrypt $(root)/$(RC_PATH)/rc1.d/K15bcrypt
	$(LN) -sf ../$(INIT_PATH)/bcrypt $(root)/$(RC_PATH)/rc6.d/K15bcrypt
clean:
	set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
	rm -f bin/*
	rm -f lib/*
