# $Id: rules,v 1.5 2001/08/22 17:57:34 balay Exp $ 

libc:
	for i in ${OBJSC}; do ${OMAKE} BOPT=${BOPT} LIBNAME=${LIBNAME} libmember LIBMEMBER=$$i ; done

libf:
	for i in ${OBJSF}; do ${OMAKE} BOPT=${BOPT} libmember LIBMEMBER=$$i ; done

libmember:    ${LIBNAME}(${LIBMEMBER})

##############
SLSUFFIX = sl

shared: chkopts_basic
	-@echo making shared libraries in ${INSTALL_LIB_DIR} ;\
	cd ${INSTALL_LIB_DIR}; \
	${RM} -rf tmp; \
	mkdir tmp; \
	cd tmp; \
	for LIBNAME in ${SHLIBS} ; \
	do \
          if [ -f ${INSTALL_LIB_DIR}/$$LIBNAME.a ]; then \
	    flag=""; \
	    if [ -f ${INSTALL_LIB_DIR}/$$LIBNAME.${SLSUFFIX} ]; then \
              flag=`find ${INSTALL_LIB_DIR} -type f -name $$LIBNAME.a -newer ${INSTALL_LIB_DIR}/$$LIBNAME.${SLSUFFIX} -print`; \
	    else \
	      flag="true"; \
	    fi; \
	    if [ "$$flag" != "" ]; then \
	      echo "building $$LIBNAME.${SLSUFFIX}"; \
	      ${AR} x ../$$LIBNAME.a ;\
	      ${LD} -b  *.o  -o ../$$LIBNAME.${SLSUFFIX} ; \
	      ${RM} -f * ; \
	    fi; \
	  fi; \
	done ;\
	cd ../ ; \
	${RM} -rf tmp 

#
#  Generates a shared library from any .a library; not just the PETSc ones
#  This is to allow any user to generate his or her own shared library
#
oshared: 
	-@${RM} -rf tmp; \
	mkdir tmp; \
	cd tmp; \
        echo "building ${LIBNAME}.${SLSUFFIX}"; \
	${AR} x ../${LIBNAME}.a ;\
	${LD} -b  *.o  -o ../${LIBNAME}.${SLSUFFIX} ;\
	cd ../ ; \
	${RM} -rf tmp

#
# Notes:
#
#  The name of the C compiler to use, the -Aa option is mandatory
#  and indicates the we are compiling with ANSI C.
#
