# makefile for eks

#	for debug output, set DBX="-DDEBUG=cerr -g" on makefile cmd line

EKS_BIN	= ${EKSHOME}/bin
EKS_LIB	= ${EKSHOME}/lib
EKS_CLS	= ${EKSHOME}/classes
EKS_SYS	= ${EKS_CLS}/intrinsics/infrastructure

CC=eksCC
DBX= -g
LIBS= -Bstatic -L${EKS_LIB} -lEKSclasses -lEKS -lm
CFLAGS= -PIC ${DBX}
LFLAGS= -hbx

VERSION:sh=cat ${EKSHOME}/lib/.version

all:	objs lib bin proto


oodb:
	- [ ${VERSION} = oodb ]  &&  exit
	rm -f ${EKS_LIB} ${EKS_BIN} ${EKS_SYS}
	ln -s ${EKSHOME}/.oodb_lib  ${EKS_LIB}
	ln -s ${EKSHOME}/.oodb_bin  ${EKS_BIN}
	ln -s ${EKS_CLS}/intrinsics/.oodb_sys  ${EKS_SYS}
	rm -f ${EKSHOME}/install/make.infrastructure
	ln -s ${EKSHOME}/install/make.oodb  ${EKSHOME}/install/make.infrastructure

solo:
	- [ ${VERSION} = solo ]  &&  exit
	rm -f ${EKS_LIB} ${EKS_BIN} ${EKS_SYS}
	ln -s ${EKSHOME}/.solo_lib  ${EKS_LIB}
	ln -s ${EKSHOME}/.solo_bin  ${EKS_BIN}
	ln -s ${EKS_CLS}/intrinsics/.solo_sys  ${EKS_SYS}
	rm -f ${EKSHOME}/install/make.infrastructure
	ln -s ${EKSHOME}/install/make.solo  ${EKSHOME}/install/make.infrastructure


objs := MK_CMD=objs
objs:	intrinsics base principal

clean := MK_CMD=clean
clean:	intrinsics base principal

depend := MK_CMD=depend
depend:	intrinsics base principal

intrinsics:	intrinsics_infrastructure \
		intrinsics_dimensions \
		intrinsics_transport

base:		base_context \
		base_site  base_building \
		base_theory

principal:	context  \
		principal_site  principal_building \
		principal_theory  principal_solver



intrinsics_infrastructure:
	cd ../classes/intrinsics/infrastructure;  \
		${MAKE} -e -f ../../../install/make.infrastructure ${MK_CMD}
intrinsics_dimensions:
	cd ../classes/intrinsics/dimensions;  \
		${MAKE} -e -f ../../../install/make.dimensions ${MK_CMD}
intrinsics_transport:
	cd ../classes/intrinsics/transport;  \
		${MAKE} -e -f ../../../install/make.transport ${MK_CMD}
base_context:
	cd ../classes/base/context;  \
		${MAKE} -e -f ../../../install/make.base_context ${MK_CMD}
base_site:
	cd ../classes/base/site;  \
		${MAKE} -e -f ../../../install/make.base_site ${MK_CMD}
base_building:
#	cd ../classes/base/building;  \
#		${MAKE} -e -f ../../../install/make.base_building ${MK_CMD}
base_theory:
#	cd ../classes/base/theory;  \
#		${MAKE} -e -f ../../../install/make.base_theory ${MK_CMD}
base_solver:
#	cd ../classes/base/solver;  \
#		${MAKE} -e -f ../../../install/make.base_solver ${MK_CMD}
context:
	cd ../classes/principal/context;  \
		${MAKE}  -f ../../../install/make.context ${MK_CMD}
principal_site:
	cd ../classes/principal/site;  \
		${MAKE}  -f ../../../install/make.site ${MK_CMD}
principal_building:
#	cd ../classes/principal/building;  \
#		${MAKE} -e -f ../../../install/make.build ${MK_CMD}
principal_theory:
#	cd ../classes/principal/theory;  \
#		${MAKE} -e -f ../../../install/make.theory ${MK_CMD}
principal_solver:
#	cd ../classes/principal/solver;  \
#		${MAKE} -e -f ../../../install/make.solver ${MK_CMD}


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

lib:
	cd ../classes/intrinsics/infrastructure;  \
		${MAKE} -e -f ../../../install/make.infrastructure lib




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

bin:
	cd ../classes/intrinsics/infrastructure;  \
		${MAKE} -e -f ../../../install/make.infrastructure bin

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

proto:
	cd ../classes/intrinsics/infrastructure;  \
		${MAKE} -e -f ../../../install/make.infrastructure proto

