include ../../Makefile.inc

INCLUDE+=-I../common

COMMON = ../common

all: welfareMex.o focFullMex.o focDerFullMex.o profit2stageMex.o
#	constraintMex.o constraint2Mex.o
profitFullNewtonMex.o: newt.o profitFullNewton.o lu.o solve.o profitNewtonMex.c focFullNewton.o focDerFullNewton.o
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) profitFullNewtonMex.c \
	  $(COMMON)/cuda_generator.o profitFullNewton.o newt.o solve.o \
	  focFullNewton.o focDerFullNewton.o lu.o simulateDemographics.o -largeArrayDims
focFullMex.o: focFull.o simulateDemographics.o
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) focFullMex.c \
	  $(COMMON)/cuda_generator.o focFull.o simulateDemographics.o -largeArrayDims
focDerFullMex.o: focDerFull.o simulateDemographics.o
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) focDerFullMex.c \
	  $(COMMON)/cuda_generator.o focDerFull.o simulateDemographics.o -largeArrayDims
profitNewtonMex.o: newt.o profit_newton.o lu.o solve.o profitNewtonMex.c
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) profitNewtonMex.c \
	  $(COMMON)/cuda_generator.o profit_newton.o newt.o solve.o \
	  foc.o focDer.o lu.o simulateDemographics.o -largeArrayDims
monopolyMex.o: monopoly.o simulateDemographics.o
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) monopolyMex.c \
	  $(COMMON)/cuda_generator.o monopoly.o simulateDemographics.o -largeArrayDims
constraint2Mex.o: constraint2.o simulateDemographics.o
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) constraint2Mex.c \
	  $(COMMON)/cuda_generator.o constraint2.o simulateDemographics.o -largeArrayDims
profit2stageMex.o: profit.o simulateDemographics.o
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) profit2stageMex.c \
	  $(COMMON)/cuda_generator.o profit.o simulateDemographics.o -largeArrayDims
foc2stageDerMex.o: focDer.o simulateDemographics.o
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) foc2stageDerMex.c \
	  $(COMMON)/cuda_generator.o foc.o focDer.o simulateDemographics.o -largeArrayDims
welfareMex.o: welfare.o simulateDemographics.o
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) welfareMex.c \
	  $(COMMON)/cuda_generator.o welfare.o simulateDemographics.o -largeArrayDims
foc2stageMex.o: foc.o simulateDemographics.o
	$(MEX) $(INCLUDE) $(LIBS) $(MEX_OPTS) foc2stageMex.c \
	  $(COMMON)/cuda_generator.o foc.o simulateDemographics.o -largeArrayDims
solve.o: solve.c solve.h
	$(CC) $(CFLAGS) $(INCLUDE) -c solve.c
lu.o: lu.c lu.h
	$(CC) $(CFLAGS) $(INCLUDE) -c lu.c
profit.o: profit.c profit.h
	$(CC) $(CFLAGS) $(INCLUDE) -c profit.c
foc.o: foc.c foc.h
	$(CC) $(CFLAGS) $(INCLUDE) -c foc.c
focDer.o: focDer.c focDer.h
	$(CC) $(CFLAGS) $(INCLUDE) -c focDer.c
simulateDemographics.o: simulateDemographics.c simulateDemographics.h
	$(CC) $(CFLAGS) $(INCLUDE) -c simulateDemographics.c
welfare.o: welfare.c welfare.h
	$(CC) $(CFLAGS) $(INCLUDE) -c welfare.c
monopoly.o: monopoly.c
	$(CC) $(CFLAGS) $(INCLUDE) -c monopoly.c
constraint2.o: constraint2.c
	$(CC) $(CFLAGS) $(INCLUDE) -c constraint2.c
newt.o: newt.c newt.h
	$(CC) $(CFLAGS) $(INCLUDE) -c newt.c
profit_newton.o: profit_newton.c profit_newton.h
	$(CC) $(CFLAGS) $(INCLUDE) -c profit_newton.c
profitFullNewton.o: profitFullNewton.c profit_newton.h
	$(CC) $(CFLAGS) $(INCLUDE) -c profitFullNewton.c
focFull.o: focFull.c foc.h
	$(CC) $(CFLAGS) $(INCLUDE) -c focFull.c
focDerFull.o: focDerFull.c foc.h
	$(CC) $(CFLAGS) $(INCLUDE) -c focDerFull.c
focFullNewton.o: focFullNewton.c foc.h
	$(CC) $(CFLAGS) $(INCLUDE) -c focFullNewton.c
focDerFullNewton.o: focDerFullNewton.c foc.h
	$(CC) $(CFLAGS) $(INCLUDE) -c focDerFullNewton.c
clean:
	rm -rf *o
