# Makefile for CoCoALib/src/AlgebraicCore/TmpFactorDir/linalg/ directory

COCOA_ROOT=../../../..
include $(COCOA_ROOT)/configuration/autoconf.mk
CWD=src/AlgebraicCore/TmpFactorDir/linalg/
DEPEND_FILE=Makefile_dependencies

SRCS=FFfind_block.c FFdet.c FFsolve.c FFkernel.c Zkernel.c \
     Zdet.c  Zsolve.c FFmat.c  Zmat.c mpz_from_padic.c Zmat_det_bound.c \
     Qmat.c Qsolve.c

OBJS=$(SRCS:.c=.o)

%.o: %.c
	$(COMPILE) -I. -I.. -c -o $@ $<

.PHONY: default
default: $(OBJS)
	ar -ruS $(COCOA_LIB) $(OBJS)

.PHONY: clean clean-local
clean: clean-local
	echo "Cleaned CoCoALib/$(CWD)"

clean-local:
	/bin/rm -f  $(OBJS)  "$(DEPEND_FILE).old"  *~

.PHONY: veryclean
veryclean: clean-local
	/bin/rm -f "$(DEPEND_FILE)"
	echo "Verycleaned CoCoALib/$(CWD)"

.PHONY: dependencies
dependencies:
	@if [ -f "$(DEPEND_FILE)" ] ; \
	then \
	  mv -f "$(DEPEND_FILE)" "$(DEPEND_FILE).old" ; \
	fi
	@echo "Rebuilding $(DEPEND_FILE) for CoCoALib $(VERSION) in directory $(CWD)"
	@echo "##################################################################"   >> $(DEPEND_FILE)
	@echo "#        ---  CoCoALib version $(VERSION)  ---"                       >> $(DEPEND_FILE)
	@echo "# Dependencies for directory $(CWD)"                                  >> $(DEPEND_FILE)
	@echo "# DO NOT EDIT: this file is automatically generated; to regenerate"   >> $(DEPEND_FILE)
	@echo "# run \`make dependencies' in the CoCoALib root directory."           >> $(DEPEND_FILE)
	@echo "##################################################################"   >> $(DEPEND_FILE)
	@echo                                                                        >> $(DEPEND_FILE)
	for srcfile in $(SRCS); \
	do \
	  objfile=`basename $$srcfile .C`.o; \
	  $(CXX) -I$(COCOA_ROOT)/include $(GMP_INCLUDE) -I. -I.. -MM "$$srcfile" -MQ "$$objfile" >> $(DEPEND_FILE); \
	  echo >> $(DEPEND_FILE); \
	done


$(DEPEND_FILE):  $(COCOA_ROOT)/configuration/version
	@touch $(DEPEND_FILE)  # to avoid infinite recursion in make!
	@$(MAKE) dependencies

include $(DEPEND_FILE)


$(OBJS): $(COCOA_ROOT)/configuration/autoconf.mk
