#
# $Id: Makefile,v 1.2 1998/11/06 14:38:10 d019080 Exp $
#
MDEFS= CC=cc CFLAGS=-g RM="rm -f" OBJ=.o EXE= LD=cc LDFLAGS=-g LIBS=-ldl XD= LDTARGET='-o $@'
TAIL="`uname -s`"
BUILD=./build.$(TAIL)

SRCS =	buffers.c	contexts.c	creds.c		debug.c		\
	filexfer.c	generic.c	gsstest.c	load_dll.c	\
	msg_prot.c	names.c		non_ansi.c	oids.c		\
	rtlink.c	timer.c		verbose.c	platform.c	\
	errors.c

COMMON_HDRS=	common.h mysccs.h platform.h debug.h non_ansi.h verbose.h 

ALL_HDRS=	load_dll.h gss_argm.h gssapi_2.h \
		gsstest.h rtlink.h $(COMMON_HDRS)


OBJS =	$(XD)buffers$(OBJ)	$(XD)contexts$(OBJ)	$(XD)creds$(OBJ)    \
	$(XD)debug$(OBJ)	$(XD)errors$(OBJ)	$(XD)filexfer$(OBJ) \
	$(XD)generic$(OBJ)	$(XD)gsstest$(OBJ)	$(XD)msg_prot$(OBJ) \
	$(XD)names$(OBJ)	$(XD)non_ansi$(OBJ)	$(XD)oids$(OBJ)     \
	$(XD)platform$(OBJ)	$(XD)rtlink$(OBJ)	$(XD)timer$(OBJ)    \
	$(XD)verbose$(OBJ)

DYN_LINK_OBJ    = $(XD)load_dll$(OBJ)
STATIC_LINK_OBJ = $(XD)link_lib$(OBJ)


TARGET     = $(XD)gsstest$(EXE)
DBG_TARGET = $(XD)gsstestd$(EXE)

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

### targets

all:
	$(BUILD) $(MAKE) do-all

static:
	$(BUILD) $(MAKE) do-static

clean:
	$(BUILD) $(MAKE) do-clean


do-all:		$(TARGET)

do-static:	$(DBG_TARGET)


z $(XOBJS): $(SRCS)
	$(CC) $(CFLAGS) -c $(SRCS)

$(TARGET): $(OBJS) $(DYN_LINK_OBJ) $(EXTRA_OBJS)
	$(LD) $(LDTARGET) $(LDFLAGS) $(OBJS) $(EXTRA_OBJS) \
			  $(DYN_LINK_OBJ) $(LDLIBS)


$(DBG_TARGET): $(OBJS) $(STATIC_LINK_OBJ) $(EXTRA_OBJS)
	$(LD) $(LDTARGET) $(DBG_LDFLAGS) $(OBJS) $(EXTRA_OBJS) \
			  $(STATIC_LINK_OBJ) $(DBG_LDLIBS)


do-clean:
	$(RM) core
	$(RM) $(XD)*$(OBJ)
	$(RM) $(TARGET)
	$(RM) $(DBG_TARGET)
	$(RM) gtopts
	$(RM) gtctxpar
	$(RM) gtctxcld


### dependencies

$(XD)buffers$(OBJ):	buffers.c	$(ALL_HDRS)
$(XD)contexts$(OBJ):	contexts.c	$(ALL_HDRS)
$(XD)creds$(OBJ):	creds.c		$(ALL_HDRS)
$(XD)debug$(OBJ):	debug.c	debug.h
$(XD)errors$(OBJ):	errors.c	$(ALL_HDRS)
$(XD)filexfer$(OBJ):	filexfer.c	$(ALL_HDRS)
$(XD)generic$(OBJ):	generic.c	$(ALL_HDRS)
$(XD)gsstest$(OBJ):	gsstest.c	$(ALL_HDRS)
$(XD)load_dll$(OBJ):	load_dll.c	$(ALL_HDRS)
$(XD)msg_prot$(OBJ):	msg_prot.c	$(ALL_HDRS)
$(XD)names$(OBJ):	names.c		$(ALL_HDRS)
$(XD)non_ansi$(OBJ):	non_ansi.c	$(ALL_HDRS)
$(XD)oids$(OBJ):	oids.c		$(ALL_HDRS)
$(XD)platform$(OBJ):	platform.c	$(ALL_HDRS)
$(XD)rtlink$(OBJ):	rtlink.c	$(ALL_HDRS)
$(XD)timer$(OBJ):	timer.c		$(ALL_HDRS)
$(XD)verbose$(OBJ):	verbose.c	$(ALL_HDRS)

$(XD)link_lib$(OBJ): 	link_lib.c	$(ALL_HDRS)

$(XD)osftimer$(OBJ):	osftimer.s


