#===============================================================================
# CG_DESCENT/Demo/Makefile: For compiling the CG_DESCENT demo
#===============================================================================

default: ccode

include ../../SuiteOPTconfig/SuiteOPTconfig.mk

# C code only:
ccode: run_cg_descent run_cg_descentQP

I = -I$(SUITEOPT)/SuiteOPTconfig \
	-I$(SUITEOPT)/PASA/Include \
	-I$(SUITEOPT)/PPROJ/Include \
	-I$(SUITEOPT)/CGDESCENT/Include \
	-I$(SUITEOPT)/NAPHEAP/Include

C = $(CC) $(CFLAGS) $(OPTFLAGS) $(I)

LIB = $(SUITEOPT)/ldlibs/libcg_descent.a \
	$(SUITEOPT)/ldlibs/libsuiteoptconfig.a \
	$(BLAS) $(LAPACK) $(XERBLA) -lm

INCLUDE = Makefile \
	$(SUITEOPT)/SuiteOPTconfig/Userconfig.mk \
	$(SUITEOPT)/SuiteOPTconfig/SuiteOPTconfig.mk \
	$(SUITEOPT)/SuiteOPTconfig/sopt.h \
	$(SUITEOPT)/PASA/Include/pasa.h \
	$(SUITEOPT)/CGDESCENT/Include/cg_descent.h \
	$(SUITEOPT)/NAPHEAP/Include/napheap_internal.h \
	$(SUITEOPT)/NAPHEAP/Include/napheap.h

#-------------------------------------
# run_cg_descent
#-------------------------------------

run_cg_descent: lib $(INCLUDE) run_cg_descent.c
	$(C) -o run_cg_descent run_cg_descent.c $(LDLIBS) $(LIB)

#-------------------------------------
# run_cg_descentQP
#-------------------------------------

run_cg_descentQP: lib $(INCLUDE) run_cg_descentQP.c
	$(C) -o run_cg_descentQP run_cg_descentQP.c $(LDLIBS) $(LIB)

#-------------------------------------
# Purge
#-------------------------------------

purge:
	- $(RM) run_cg_descent
	- $(RM) run_cg_descentQP

#-------------------------------------
# Clean
#-------------------------------------

clean:
	- $(RM) $(CLEAN)

#-------------------------------------
# Lib
#-------------------------------------

lib:
	( cd ../../SuiteOPTconfig ; $(MAKE) )
	( cd ../Lib ; $(MAKE) )
