#
# Makefile
#	Makefile
#
# by: Joan Gimeno
# 
# This is the makefile that generates the objects
SRCDIR	=src
LIB	=lib
TESTDIR =test
TESTLDIR=test_lib
TESTSDIR=test_solve

# Default target executed when no arguments are given to make.
.PHONY: default_target
default_target: all

.PHONY: all
all: test test_lib test_solve

.PHONY: src
src:
	-make -C $(SRCDIR)

.PHONY: lib
lib: 
	-make -C $(SRCDIR) lib

.PHONY: test
test: 
	-make -C $(TESTDIR)

.PHONY: test_lib
test_lib: 
	-make -C $(TESTLDIR)
	
.PHONY: test_solve
test_solve: 
	-make -C $(TESTSDIR)

.PHONY: clean 
clean:
	-make -C $(SRCDIR) clean
	-make -C $(TESTDIR) clean
	-make -C $(TESTLDIR) clean
	-make -C $(TESTSDIR) clean

.PHONY: cleanlib
cleanlib:
	-make -C $(SRCDIR) cleanlib
	
.PHONY: cleanobj
cleanobj:
	-make -C $(SRCDIR) cleanobj
	-make -C $(TESTDIR) cleanobj
	-make -C $(TESTLDIR) cleanobj
	-make -C $(TESTSDIR) cleanobj

# Help Target
.PHONY: help
help:
	@echo "The following are some of the valid targets for this Makefile:"
	@echo "... all (the default if no target is provided)"
	@echo "... test"
	@echo "... test_lib"
	@echo "... lib"
	@echo "... clean"
	@echo "... cleanlib"
	@echo "... cleanobj"