# Project: hapFabia
# 
# SEPP 

: ${R_HOME}
	if test -z "${R_HOME}"; then
	   R_HOME=`${R_EXE} RHOME`		
	fi
	if test -z "${R_HOME}"; then
	   R_HOME=`R RHOME`		
	fi
	if test -z "${R_HOME}"; then
	    echo "Could not determine R home directory"
	    exit 1
	fi

##CC=`"${R_HOME}/bin/R" CMD config CC`
##CFLAGS=`"${R_HOME}/bin/R" CMD config CFLAGS`
##LDFLAGS=`"${R_HOME}/bin/R" CMD config LDFLAGS`



SRC1B = split_sparse_matrixB.c
SRC2B = vcftoFABIAB.c
LINKOBJ1B  = split_sparse_matrixB.o
LINKOBJ2B  = vcftoFABIAB.o
SRC1 = split_sparse_matrix.c
SRC2 = vcftoFABIA.c
LINKOBJ1  = split_sparse_matrix.o
LINKOBJ2  = vcftoFABIA.o
BIN1 = split_sparse_matrix
BIN2 = vcftoFABIA


USERDIR = ./commandLine/
USERDIRBUILD =	../inst/commandLine/

.PHONY: all clean

all:  			$(SHLIB) $(USERDIR)$(BIN1) $(USERDIR)$(BIN2)

commandline:		$(USERDIR)$(BIN1) $(USERDIR)$(BIN1) 

split_sparse_matrix:	$(USERDIR)$(BIN1) 

vcftoFABIA:		$(USERDIR)$(BIN2)


$(USERDIR)$(BIN1): $(USERDIR)$(LINKOBJ1) $(USERDIR)$(LINKOBJ1B)
		   $(CC) $(USERDIR)$(LINKOBJ1) $(USERDIR)$(LINKOBJ1B) -o $(USERDIR)$(BIN1)
		   -@if test ! -e $(USERDIRBUILD)$(R_ARCH); then mkdir -p $(USERDIRBUILD)$(R_ARCH); fi
		   mv $(USERDIR)$(BIN1) $(USERDIRBUILD)$(R_ARCH)

$(USERDIR)$(BIN2): $(USERDIR)$(LINKOBJ2) $(USERDIR)$(LINKOBJ2B)
		   $(CC) $(USERDIR)$(LINKOBJ2) $(USERDIR)$(LINKOBJ2B) -o $(USERDIR)$(BIN2)
		   -@if test ! -e $(USERDIRBUILD)$(R_ARCH); then mkdir -p $(USERDIRBUILD)$(R_ARCH); fi
		   mv $(USERDIR)$(BIN2) $(USERDIRBUILD)$(R_ARCH)

$(USERDIR)$(LINKOBJ1): $(USERDIR)$(SRC1)
		       $(CC) -c $(USERDIR)$(SRC1) -o $(USERDIR)$(LINKOBJ1) $(CFLAGS)

$(USERDIR)$(LINKOBJ2): $(USERDIR)$(SRC2)
		       $(CC) -c $(USERDIR)$(SRC2) -o $(USERDIR)$(LINKOBJ2) $(CFLAGS)

$(USERDIR)$(LINKOBJ1B): $(SRC1B)
			$(CC) -c $(SRC1B) -o $(USERDIR)$(LINKOBJ1B) $(CFLAGS)

$(USERDIR)$(LINKOBJ2B): $(SRC2B)
			$(CC) -c $(SRC2B) -o $(USERDIR)$(LINKOBJ2B) $(CFLAGS)



clean:
	${RM} *.a *.o *.so
	${RM} $(USERDIR)*.a $(USERDIR)*.o $(USERDIR)*.so

distclean:
	${RM} *.a *.o *.so
	${RM} $(USERDIR)*.a $(USERDIR)*.o $(USERDIR)*.so
	${RM} $(USERDIRBUILD)*
