# @(#) [2.8.1] Makefile 04/09/93

BIN      = ../bin
LIB      = ../lib

LBIN     = /usr/local/bin
LLIB     = /usr/local/lib

HOME     = /home/pha/plh

HBIN     = $(HOME)/bin
HLIB     = $(HOME)/lib


OS       = LiINUX
CC       = gcc
CFLAGS   = -g -DOS=$(OS)

#LDFLAGS  = -lnsl -lsocket
#LDFLAGS  = -lsocket  
LDFLAGS  = 

TARGETS  = AUTH
CMD      = AUTH
EXE      = $(TARGETS)

LIBS     = 
CYGLIBS  = 

TESTDIR  = .

INSDIR   = .
INSBIN   = $(INSDIR)/bin
INSLIB   = $(INSDIR)/lib
INSTALL  = install -c -o bin 

MAN	     = 
D_MAN    = /usr/tmp/man

OBJ_NTLM =\
	ntlm.o \
	base64.o \
	md4.o \
	des.o

OBJ_SMB  =\
	smbdes.o \
	smbencrypt.o \
	genrand.o
	

INCL     = ecodes.h misc.h local.h simple.h threads.h
MISC     = header Makefile README TODO 
MAN      = 
DOC      = example.log
LEAVE    = 
SCRIPTS  = 

TAR      = $(SRC) $(INCL) $(MAN) $(MISC) $(SCRIPTS) $(LEAVE)


##### The rules #######################################################

all:	$(TARGETS)


##### chkdata ########################################################

chkdata:	chkdata.c $(SRC_DCL)
	$(CC) -o chkdata chkdata.c $(OBJ_DCL)


##### Miscellaneous test stuff #######################################

tst_cm:	tst_cm.c data_custmnem.o
	$(CC) $(CFLAGS) -o tst_cm tst_cm.c data_custmnem.o $(LIBS)

tst_cookie:	tst_cookie.c cookie.o
	$(CC) $(CFLAGS) -o tst_cookie tst_cookie.c cookie.o
#	$(CC) -g -o tst_cookie tst_cookie.c cookie.o /home/pha/plh/lib/libdcl.a


##### NTLM Developments Code #########################################

AUTH:	ntlm.o base64.o prints.o unicode.o dispno.o md4.o des.o smbdes.o
	$(CC) $(CFLAGS) -o AUTH AUTH.c ntlm.o base64.o prints.o unicode.o dispno.o md4.o des.o smbdes.o


cygtst:	ntlm.o smbdes.o base64.o md4.o des.o disp.o
	$(CC) $(CFLAGS) -o cygtst tst.c ntlm.o base64.o md4.o des.o disp.o $(CYGLIBS)

tst:	tst.c $(OBJ_NTLM) disp.o tst_args.o $(OBJ_SMB) lib.o
	$(CC) $(CFLAGS) -o tst tst.c  $(OBJ_NTLM) disp.o tst_args.o $(OBJ_SMB) lib.o

tst_base64:	tst_base64.c base64.o prints.o
	$(CC) $(CFLAGS) -g -o tst_base64 tst_base64.c base64.o prints.o

base64.o:	base64.c base64.h
	$(CC) $(CFLAGS) -c base64.c

des.o:	des.c des.h
	$(CC) $(CFLAGS) -c des.c

disp.o:	disp.c
	$(CC) $(CFLAGS) -c disp.c

prints.o:	prints.c
	$(CC) $(CFLAGS) -c prints.c

unicode.o:	unicode.c
	$(CC) $(CFLAGS) -c unicode.c

dispno.o:	dispno.c
	$(CC) $(CFLAGS) -c dispno.c

md4.o:	md4.c md4.h
	$(CC) $(CFLAGS) -c md4.c

tst_args.o:	tst_args.c
	$(CC) $(CFLAGS) -c tst_args.c

ntlm.o:	ntlm.c ntlm.h des.h
	$(CC) $(CFLAGS) -c ntlm.c


#---- samba stuff ---------------------------------------------------

genrand.o:	genrand.c includes.h
	$(CC) -g -c genrand.c

smbdes.o:	smbdes.c includes.h
	$(CC) -g -c smbdes.c

smbencrypt.o:	smbencrypt.c includes.h
	$(CC) -g -c smbencrypt.c


#---- Setup Workload files ------------------------------------------

Gifs:	Workload.gifs
	cp Workload.gifs Workload


##### Miscellaneous dependencies #####################################

clean:
	-/bin/rm -f *.o $(CMD).tar $(CMD).tar.Z $(CMD).uu 
	-/bin/rm -f core x* nohup.out *.log *.trc
	-/bin/rm -f $(TARGETS) testcust testprod tst_?? txmix

reset:
	-mv _wrk _wrk_old
	-/bin/rm -rf _wrk_old &
	mkdir _wrk
	cp Makefile.wrk _wrk
	-mv _results _results_old
	-/bin/rm -rf _results_old &
	mkdir _results

reset_wrk:
	(cd _wrk; make -f Makefile.wrk clean )

purge:	clean
	/bin/rm -f $(EXE) $(LIBS)
	/bin/rm -rf _tmp

install:	all
	cp review regulate $(HBIN)

Install:	all
	$(INSTALL) $(TARGETS) $(INSBIN)
	cp $(CMD).man $(D_MAN)/$(CMD).l

dist:
	make clean
	tar cvf $(CMD).tar $(TAR)

tip:
	make dist
	compress $(CMD).tar
	uuencode < $CMD).tar.Z > $(CMD).uu
	/bin/rm $(CMD).tar.Z
	wc -l $(CMD).ba
	sum $(CMD).ba

pack:
	make dist
	encr < $(CMD).tar > $(CMD).x
	/bin/rm -f $(SRC) $(INCL) $(MISC) $(SCRIPTS)

depend:
	cp /dev/null x.c
	for i in ${SRC}; do \
		(/bin/grep '^#[ 	]*include  *"' x.c $$i | sed \
			-e '/\.\.\/h/d' \
			-e 's/:[^"]*"\([^"]*\)".*/: \1/' \
			-e 's/\.c/\.o/' >>makedep); done
	echo '/^# DO NOT DELETE THIS LINE/+2,$$d'                   >  eddep
	echo '$$r makedep'                                          >> eddep
	echo 'w'                                                    >> eddep
	cp Makefile Makefile.bak
	ed - Makefile                                               <  eddep
	rm eddep makedep x.c
	echo '# DEPENDENCIES MUST END AT END OF FILE'               >> Makefile
	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY'              >> Makefile
	echo '# see make depend above'                              >> Makefile

# DO NOT DELETE THIS LINE -- make depend uses it

# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
