#Makefile

#Change this variable, if GSL is not installed under the default library path for the compiler. Example: -L /usr/local/lib
LIBS_PATH = -L /usr/lib

LIBS_LNX_D_LAPACK = -llapack -lm
SLIBS_LNX_D_LAPACK = -llapack -lm -lgfortran -lcblas

GCC = gcc

CPPFLAGS = -w -O3

OUTPUT = ./CERAMIC
STATIC_OUTPUT = ./CERAMIC-static

all: 
	$(GCC) ./CERAMIC.c $(LIBS_PATH) $(LIBS_LNX_D_LAPACK) $(CPPFLAGS) -o $(OUTPUT) 

debug: 
	$(GCC) ./CERAMIC.c $(LIBS_PATH) $(LIBS_LNX_D_LAPACK) -O0 -g -w -o $(OUTPUT)

clean:
	rm -f $(OUTPUT)
	rm -f $(STATIC_OUTPUT)
	rm -f ./libdgesvd.a
	rm -f ./lapack_routine/*.o

static: dgesvd
	$(GCC) ./CERAMIC.c ./libdgesvd.a -static $(LIBS_PATH) $(SLIBS_LNX_D_LAPACK) $(CPPFLAGS) -o $(STATIC_OUTPUT)


dgesvd:
	(cd ./lapack_routine;$(MAKE))  
