#ident "@(#)makefile	3.2"   6/22/92

# 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) -g $(CFLAGS) -DERRCHK -I${DORE_LOC}/dore/include -I${ROOT}/usr/include
LDCOM = $(LD) $(LDFLAGS)
ARCOM = $(AR) $(ARFLAGS)
SRC_PATH = $(DORE_LOC)/dore/src/device_config/kopengl
OBJ_PATH = $(DORE_LOC)/dore/obj/$(DORE_OBJTYPE)/device_config/kopengl
LIB_PATH = $(DORE_LOC)/dore/lib/$(DORE_OBJTYPE)

SUBDIRS = dcm drom prom 
OFILES = extern.o math.o matrix.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

extern.o : $(OBJ_PATH) $(OBJ_PATH)/extern.o ;
math.o : $(OBJ_PATH) $(OBJ_PATH)/math.o ;
matrix.o : $(OBJ_PATH) $(OBJ_PATH)/matrix.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)/matrix.o : matrix.c
	$(CCCOM) -c matrix.c
	mv -f matrix.o $(OBJ_PATH)/matrix.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)/kgl.o
	$(ARCOM) $(LIB_PATH)/$(DORE_LIB_NAME) $(OBJ_PATH)/kgl.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)/extern.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/extern.o: ${DORE_LOC}/dore/include/dore_develop/develop.h
$(OBJ_PATH)/math.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/matrix.o: ${DORE_LOC}/dore/include/dore.h
$(OBJ_PATH)/matrix.o: ${DORE_LOC}/dore/include/dore_develop/error.h
