#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/radiosity
OBJ_PATH = $(DORE_LOC)/dore/obj/$(DORE_OBJTYPE)/radiosity
LIB_PATH = $(DORE_LOC)/dore/lib/$(DORE_OBJTYPE)

SUBDIRS = del_datalsts find_dsptyp hcube_distrib hcube_render \
       hcube_select hcube_setup show_render 
OFILES = data.o install.o rad.o update.o util.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 ;
install.o : $(OBJ_PATH) $(OBJ_PATH)/install.o ;
rad.o : $(OBJ_PATH) $(OBJ_PATH)/rad.o ;
update.o : $(OBJ_PATH) $(OBJ_PATH)/update.o ;
util.o : $(OBJ_PATH) $(OBJ_PATH)/util.o ;

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

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

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

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

$(OBJ_PATH)/util.o : util.c
	$(CCCOM) -c util.c
	mv -f util.o $(OBJ_PATH)/util.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)/radiosity.o
	$(ARCOM) $(LIB_PATH)/$(DORE_LIB_NAME) $(OBJ_PATH)/radiosity.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/simplymsh.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/dore_develop/private/trilst.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/dore_develop/private/trimsh.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/dore_develop/private/varsplymsh.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/dore_develop/private/vartrimsh.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/internal/dogen.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/internal/error.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/internal/font.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/internal/gpolyd.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/internal/system.h
$(OBJ_PATH)/data.o: ${DORE_LOC}/dore/include/internal/util.h
$(OBJ_PATH)/data.o: rad.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/dore_develop/private/simplymsh.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/dore_develop/private/varsplymsh.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/internal/dogen.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/internal/error.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/internal/font.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/internal/gpolyd.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/internal/system.h
$(OBJ_PATH)/install.o: ${DORE_LOC}/dore/include/internal/util.h
$(OBJ_PATH)/install.o: rad.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/dore_develop/private/device.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/dore_develop/private/simplymsh.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/dore_develop/private/varsplymsh.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/internal/dogen.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/internal/error.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/internal/font.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/internal/gpolyd.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/internal/system.h
$(OBJ_PATH)/rad.o: ${DORE_LOC}/dore/include/internal/util.h
$(OBJ_PATH)/rad.o: rad.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/dore_develop/private/simplymsh.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/dore_develop/private/varsplymsh.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/dore_develop/private/view.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/internal/dogen.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/internal/error.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/internal/font.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/internal/gpolyd.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/internal/system.h
$(OBJ_PATH)/update.o: ${DORE_LOC}/dore/include/internal/util.h
$(OBJ_PATH)/update.o: rad.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/dore_develop/error.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/dore_develop/private/simplymsh.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/dore_develop/private/varsplymsh.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/internal/dogen.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/internal/error.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/internal/font.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/internal/gpolyd.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/internal/system.h
$(OBJ_PATH)/util.o: ${DORE_LOC}/dore/include/internal/util.h
$(OBJ_PATH)/util.o: rad.h
