#
#
#
# shak was developed on LINUX/GNU/GCC

SHELL=	/bin/sh


CC=	gcc
CFLAGS=	 -Wall -I$(INC_PATH) -DLINUX_GCC -g


############################################################
LDFLAGS=
INC_PATH = 
LIBS=
USR_LOCAL_LIB=

FILES = lib/shak.diff \
	lib/shak.full \
	lib/shak0_addfilterdate \
	lib/shak0_append_file \
	lib/shak0_delim \
	lib/shak0_errmon_u \
	lib/shak0_getlastindex \
	lib/shak0_gettapenumber \
	lib/shak0_header \
	lib/shak0_is_even \
	lib/shak0_listheaders \
	lib/shak0_lheader \
	lib/shak0_qfilter \
	lib/shak0_read_file \
	lib/shak0_read_tape \
	lib/shak0_readx \
	lib/shak0_write_file \
	lib/shak0_write_tape \
	lib/shak0_waitlock \
	lib/shak_admin \
	lib/shak_copyheader \
	lib/shak_compareheaders \
	lib/shak_debug \
	lib/shak_dog \
	lib/shak_errmon \
	lib/shak_fileheader \
	lib/shak_getheaderdate \
	lib/shak_gettapeheader \
	lib/shak_gettapenumber \
	lib/shak_gettnu \
	lib/shak_haltq \
	lib/shak_headermode \
	lib/shak_indexfile \
	lib/shak_makeindexentry \
	lib/shak_makenewindex \
	lib/shak_lastheader \
	lib/shak_notify \
	lib/shak_newtape \
	lib/shak_query \
	lib/shak_remsh \
	lib/shak_run \
	lib/shak_rbk \
	lib/shak_fixtape \
	lib/shak_sick \
	lib/shak_testtape \
	lib/shak_lockentry \
	lib/shak_lockname \
	lib/shak_shutdown \
	lib/shak_lock.sh \
	lib/shak_mt \
	lib/shak_userspace \
	lib/shak_unlock.sh \
	lib/shak_qlog \
	lib/shak_waitlock \
	lib/shak_checklock \
	lib/shak_config \
	lib/shak_runbatch \
	lib/shak_mail \
	lib/shak_export \
	lib/shak.sh \
	src/shak0_date.c \
	src/shak.c \
	src/shak_mkstrtime.c \
	src/sush.c \
	man/shak.5 \
	man/shak.8


dist: src_dir

all: src_dir man_dir

shak:
	cd src; make "LIBDIR=${LIBDIR}" "CC=${CC}" ../bin/shak

src_dir :
	cd src; make all "LIBDIR=${LIBDIR}" "CC=${CC}"

man_dir :
	cd man; make all "LIBDIR=${LIBDIR}" "CC=${CC}" "MANDIR=${MANDIR}"

man_dir_clean :
	cd man; make clean "LIBDIR=${LIBDIR}" "CC=${CC}" "MANDIR=${MANDIR}"

src_dir_clean :
	cd src; make clean "LIBDIR=${LIBDIR}" "CC=${CC}"


install: dist
	( cd src && make install "LIBDIR=${LIBDIR}" "MANDIR=${MANDIR}" )
	install -m 550 -o root -g root bin/shak $(SBINDIR)
	install -m 755 -o root -g root -d $(LIBDIR)/shak/lib
	install -m 755 -o root -g root -d $(LIBDIR)/shak/script
	install -m 755 -o root -g root -d $(LIBDIR)/shak/script/lib
	install -m 755 -o root -g root -d $(LIBDIR)/shak/etc
	install -m 755 -o root -g root -d $(LIBDIR)/shak/bin
	install -m 755 -o root -g root -d $(LIBDIR)/shak/var
	install -m 755 -o root -g root -d $(LIBDIR)/shak/var/index
	install -m 755 -o root -g root -d $(LIBDIR)/shak/var/log
	install -m 755 -o root -g root -d /etc/shak
	install -m 550 -o root -g root lib/shak* $(LIBDIR)/shak/lib
	install -m 550 -o root -g root lib/sush $(LIBDIR)/shak/lib
	install -m 644 -o root -g root etc/shak.conf $(LIBDIR)/shak/etc
	install -m 644 -o root -g root etc/shak.conf /etc/shak/shak.conf.in
	( cd /etc/shak; if [ ! -f shak.conf ]; then ln -s shak.conf.in shak.conf; fi )
	( cd man && make install "LIBDIR=${LIBDIR}" "MANDIR=${MANDIR}" )
	chmod u+r $(LIBDIR)/shak/lib/sush
	install -m 550 -o root -g uucp lib/shak_lock.sh lib/shak_unlock.sh $(LIBDIR)/shak/lib
	chmod g+s $(LIBDIR)/shak/lib/shak_lock.sh $(LIBDIR)/shak/lib/shak_unlock.sh
	( cd $(LIBDIR)/shak/lib && ln -s shak_lock.sh shak_lock; ln -s shak_unlock.sh shak_unlock )

uninstall:
	/bin/rm -fR $(LIBDIR)/shak
	/bin/rm -f /usr/sbin/shak
	 ( cd man && make uninstall "LIBDIR=${LIBDIR}" "MANDIR=${MANDIR}" )

MANIFEST: $(FILES)
	echo  '$$Id$$' >MANIFEST
	for i in $(FILES); do ident $$i | grep  'Id:' | sed -e s'@^  *$$Id: \(.*\)@'"$$i:\1@" | \
	sort -u >>MANIFEST; done

clean :  man_dir_clean src_dir_clean
	/bin/rm -f MANIFEST
	/bin/rm -f var/*

mrproper : clean
	/bin/rm -f *.orig
	/bin/rm -f lib/*.orig
	/bin/rm -f script/*.orig
	/bin/rm -f src/*.orig
	/bin/rm -f bin/shak.orig
	/bin/rm -f man/*.orig
	/bin/rm -f etc/*.orig
	/bin/rm -f testing/test.out

NOFILE:


