#ident "%W%"   %G%

# Copyright (C) 1994 Kubota Graphics Corp.
# 
# Permission to use, copy, modify, and distribute this material for
# any purpose and without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all
# copies, and that the name of Kubota Graphics not be used in
# advertising or publicity pertaining to this material.  Kubota
# Graphics Corporation MAKES NO REPRESENTATIONS ABOUT THE ACCURACY
# OR SUITABILITY OF THIS MATERIAL FOR ANY PURPOSE.  IT IS PROVIDED
# "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE AND KUBOTA GRAPHICS CORPORATION DISCLAIMS ALL WARRANTIES,
# EXPRESS OR IMPLIED.

SHELL = /bin/sh
CCCOM = $(CC) $(CFLAGS) -DERRCHK -I${DORE_LOC}/dore/include -I${ROOT}/usr/include
LDCOM = $(LD) $(LDFLAGS)
ARCOM = $(AR) $(ARFLAGS)
SRC_PATH = $(DORE_LOC)/dore/src/render_config/samplernd
OBJ_PATH = $(DORE_LOC)/dore/obj/$(DORE_OBJTYPE)/render_config/samplernd
LIB_PATH = $(DORE_LOC)/dore/lib/$(DORE_OBJTYPE)

SUBDIRS = methods 
OFILES = data.o display.o extern.o math.o render.o studio.o 

compile: $(OFILES)
	@for dir in $(SUBDIRS); do				\
	   echo "Processing $(SRC_PATH)/$$dir" ;		\
	   (cd $$dir ; $(MAKE) -$(MAKEFLAGS) compile );		\
	done

$(OBJ_PATH):
	@sIFS=$$IFS ; IFS="/" ; set $(OBJ_PATH) ; IFS=$$sIFS ; \
	path="" ;						\
	for file do						\
	   path="$$path/$$file" ;				\
	   if [ ! -d $$path ]; then				\
	      echo "New Directory $$path" ;			\
	      mkdir -p $$path ;					\
	   fi ;							\
	done

data.o : $(OBJ_PATH) $(OBJ_PATH)/data.o ;
display.o : $(OBJ_PATH) $(OBJ_PATH)/display.o ;
extern.o : $(OBJ_PATH) $(OBJ_PATH)/extern.o ;
math.o : $(OBJ_PATH) $(OBJ_PATH)/math.o ;
render.o : $(OBJ_PATH) $(OBJ_PATH)/render.o ;
studio.o : $(OBJ_PATH) $(OBJ_PATH)/studio.o ;

$(OBJ_PATH)/data.o : data.c
	$(CCCOM) -c data.c
	mv -f data.o $(OBJ_PATH)/data.o

$(OBJ_PATH)/display.o : display.c
	$(CCCOM) -c display.c
	mv -f display.o $(OBJ_PATH)/display.o

$(OBJ_PATH)/extern.o : extern.c
	$(CCCOM) -c extern.c
	mv -f extern.o $(OBJ_PATH)/extern.o

$(OBJ_PATH)/math.o : math.c
	$(CCCOM) -c math.c
	mv -f math.o $(OBJ_PATH)/math.o

$(OBJ_PATH)/render.o : render.c
	$(CCCOM) -c render.c
	mv -f render.o $(OBJ_PATH)/render.o

$(OBJ_PATH)/studio.o : studio.c
	$(CCCOM) -c studio.c
	mv -f studio.o $(OBJ_PATH)/studio.o


library: 
	(cd $(OBJ_PATH);					\
	$(LDCOM) $(OFILES) -o $(LIB_PATH)/dore.sub.o )
	@for dir in $(SUBDIRS); do				\
	   echo "Processing $(SRC_PATH)/$$dir" ;		\
	   (cd $$dir ; $(MAKE) -$(MAKEFLAGS) object );		\
	done
	mv $(LIB_PATH)/dore.sub.o $(OBJ_PATH)/samplernd.o
	$(ARCOM) $(LIB_PATH)/$(DORE_LIB_NAME) $(OBJ_PATH)/samplernd.o

object: 
	(cd $(OBJ_PATH);					\
	$(LDCOM) $(LIB_PATH)/dore.sub.o $(OFILES) -o $(LIB_PATH)/dore.t.o)
	mv $(LIB_PATH)/dore.t.o $(LIB_PATH)/dore.sub.o
	@for dir in $(SUBDIRS); do				\
	   echo "Processing $(SRC_PATH)/$$dir" ;		\
	   (cd $$dir ; $(MAKE) -$(MAKEFLAGS) object );		\
	done

clean: 
	/bin/rm -f $(OBJ_PATH)/*.o
	@for dir in $(SUBDIRS); do				\
	   echo "Processing $(SRC_PATH)/$$dir" ;		\
	   (cd $$dir ; $(MAKE) -$(MAKEFLAGS) clean );		\
	done

######################################################################

$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/dore_develop/private/pntlst.h
$(OBJ_PATH)/data.o: samplernd.h
$(OBJ_PATH)/display.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/display.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/display.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/display.o: samplernd.h
$(OBJ_PATH)/extern.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/extern.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/extern.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/extern.o: methods.h
$(OBJ_PATH)/extern.o: samplernd.h
$(OBJ_PATH)/math.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/math.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/render.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/render.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/render.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/render.o: samplernd.h
$(OBJ_PATH)/studio.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/studio.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/studio.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/studio.o: samplernd.h
