# modified by É. Canot -- IPR/CNRS -- Aug 2013

#===============================================================================
# SuiteSparseQR Makefile for compiling on Unix systems (for GNU Make)
#===============================================================================

# Default is to use METIS, so keep the following line commented out.
#SPQR_CONFIG = -DNPARTITION

I = -I. -I../CHOLMOD/Include -I../SuiteSparse_config -I./Include

C = $(CPLUSPLUS) $(CC_FLAGS) $(SPQR_CONFIG) $(I)

#-------------------------------------------------------------------------------
# all include files:
#-------------------------------------------------------------------------------

INC = Include/spqr.hpp \
      Include/SuiteSparseQR_C.h \
      Include/SuiteSparseQR_definitions.h \
      Include/SuiteSparseQR.hpp

OBJ = \
    ../obj/spqr_rmap.o \
    ../obj/SuiteSparseQR_C.o \
    ../obj/SuiteSparseQR_expert.o \
    ../obj/spqr_parallel.o \
    ../obj/spqr_kernel.o \
    ../obj/spqr_analyze.o \
    ../obj/spqr_assemble.o \
    ../obj/spqr_cpack.o \
    ../obj/spqr_csize.o \
    ../obj/spqr_fcsize.o \
    ../obj/spqr_debug.o \
    ../obj/spqr_front.o \
    ../obj/spqr_factorize.o \
    ../obj/spqr_freenum.o \
    ../obj/spqr_freesym.o \
    ../obj/spqr_freefac.o \
    ../obj/spqr_fsize.o \
    ../obj/spqr_maxcolnorm.o \
    ../obj/spqr_rconvert.o \
    ../obj/spqr_rcount.o \
    ../obj/spqr_rhpack.o \
    ../obj/spqr_rsolve.o \
    ../obj/spqr_stranspose1.o \
    ../obj/spqr_stranspose2.o \
    ../obj/spqr_hpinv.o \
    ../obj/spqr_1fixed.o \
    ../obj/spqr_1colamd.o \
    ../obj/SuiteSparseQR.o \
    ../obj/spqr_1factor.o \
    ../obj/spqr_cumsum.o \
    ../obj/spqr_shift.o \
    ../obj/spqr_happly.o \
    ../obj/spqr_panel.o \
    ../obj/spqr_happly_work.o \
    ../obj/SuiteSparseQR_qmult.o \
    ../obj/spqr_trapezoidal.o \
    ../obj/spqr_larftb.o \
    ../obj/spqr_append.o \
    ../obj/spqr_type.o \
    ../obj/spqr_tol.o

all : $(OBJ)

$(OBJ): $(INC)

../obj/spqr_1colamd.o: Source/spqr_1colamd.cpp
	$(C) -c $< -o $@

../obj/spqr_1factor.o: Source/spqr_1factor.cpp
	$(C) -c $< -o $@

../obj/spqr_1fixed.o: Source/spqr_1fixed.cpp
	$(C) -c $< -o $@

../obj/spqr_analyze.o: Source/spqr_analyze.cpp
	$(C) -c $< -o $@

../obj/spqr_parallel.o: Source/spqr_parallel.cpp
	$(C) -c $< -o $@

../obj/spqr_kernel.o: Source/spqr_kernel.cpp
	$(C) -c $< -o $@

../obj/spqr_append.o: Source/spqr_append.cpp
	$(C) -c $< -o $@

../obj/spqr_assemble.o: Source/spqr_assemble.cpp
	$(C) -c $< -o $@

../obj/spqr_cpack.o: Source/spqr_cpack.cpp
	$(C) -c $< -o $@

../obj/spqr_csize.o: Source/spqr_csize.cpp
	$(C) -c $< -o $@

../obj/spqr_cumsum.o: Source/spqr_cumsum.cpp
	$(C) -c $< -o $@

../obj/spqr_debug.o: Source/spqr_debug.cpp
	$(C) -c $< -o $@

../obj/spqr_factorize.o: Source/spqr_factorize.cpp
	$(C) -c $< -o $@

../obj/spqr_fcsize.o: Source/spqr_fcsize.cpp
	$(C) -c $< -o $@

../obj/spqr_freefac.o: Source/spqr_freefac.cpp
	$(C) -c $< -o $@

../obj/spqr_freenum.o: Source/spqr_freenum.cpp
	$(C) -c $< -o $@

../obj/spqr_freesym.o: Source/spqr_freesym.cpp
	$(C) -c $< -o $@

../obj/spqr_fsize.o: Source/spqr_fsize.cpp
	$(C) -c $< -o $@

../obj/spqr_happly.o: Source/spqr_happly.cpp
	$(C) -c $< -o $@

../obj/spqr_panel.o: Source/spqr_panel.cpp
	$(C) -c $< -o $@

../obj/spqr_happly_work.o: Source/spqr_happly_work.cpp
	$(C) -c $< -o $@

../obj/spqr_hpinv.o: Source/spqr_hpinv.cpp
	$(C) -c $< -o $@

../obj/spqr_larftb.o: Source/spqr_larftb.cpp
	$(C) -c $< -o $@

../obj/spqr_rconvert.o: Source/spqr_rconvert.cpp
	$(C) -c $< -o $@

../obj/spqr_rcount.o: Source/spqr_rcount.cpp
	$(C) -c $< -o $@

../obj/spqr_rhpack.o: Source/spqr_rhpack.cpp
	$(C) -c $< -o $@

../obj/spqr_rsolve.o: Source/spqr_rsolve.cpp
	$(C) -c $< -o $@

../obj/spqr_shift.o: Source/spqr_shift.cpp
	$(C) -c $< -o $@

../obj/spqr_stranspose1.o: Source/spqr_stranspose1.cpp
	$(C) -c $< -o $@

../obj/spqr_stranspose2.o: Source/spqr_stranspose2.cpp
	$(C) -c $< -o $@

../obj/spqr_trapezoidal.o: Source/spqr_trapezoidal.cpp
	$(C) -c $< -o $@

../obj/spqr_type.o: Source/spqr_type.cpp
	$(C) -c $< -o $@

../obj/spqr_front.o: Source/spqr_front.cpp
	$(C) -c $< -o $@

../obj/SuiteSparseQR_expert.o: Source/SuiteSparseQR_expert.cpp
	$(C) -c $< -o $@

../obj/spqr_maxcolnorm.o: Source/spqr_maxcolnorm.cpp
	$(C) -c $< -o $@

../obj/SuiteSparseQR_qmult.o: Source/SuiteSparseQR_qmult.cpp
	$(C) -c $< -o $@

../obj/SuiteSparseQR.o: Source/SuiteSparseQR.cpp
	$(C) -c $< -o $@

../obj/spqr_tol.o: Source/spqr_tol.cpp
	$(C) -c $< -o $@

../obj/SuiteSparseQR_C.o: Source/SuiteSparseQR_C.cpp
	$(C) -c $< -o $@

../obj/spqr_rmap.o: Source/spqr_rmap.cpp
	$(C) -c $< -o $@
