1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
// $Id: builder_source.sce 5057 2008-07-22 00:59:39Z pcombes $
//******************* VARIABLE PART TO COSTUMIZE ***************************//
// -- MUMPS:
MUMPS_DIR = home + "/MUMPS_4.9.2";
MUMPS_INC_DIR = MUMPS_DIR+"/include"; //path until dmumps_c.h and zmumps_c.h
MUMPS_LIB_DIR = MUMPS_DIR+"/lib"; //path until libdmumps.a, libzmumps.a and libpord.a
MUMPS_LIB = MUMPS_LIB_DIR+"/libmumps_common.a";
DMUMPS_LIB = MUMPS_LIB_DIR+"/libdmumps.a";
ZMUMPS_LIB = MUMPS_LIB_DIR+"/libzmumps.a";
LIB_MPISEQ = MUMPS_DIR+"/libseq/libmpiseq.a";
// -- SCILAB: Path to scilab routines
SCI_DIR_INC = SCI + "/routines/";
// -- BLAS library, if not already included in Scilab:
BLAS_LIB = "";
// -- ORDERINGS (should correspond to the ones defined MUMPS's Makefile.inc):
PORD_LIB = MUMPS_LIB_DIR+"libpord.a";
METIS_LIB = HOME+"/metis-4.0/libmetis.a";
ORDERINGS_LIB = PORD_LIB+" "+METIS_LIB;
// -- PTHREAD lib required by MUMPS versions > 4.6
PTHREAD_LIB="-lpthread";
// -- COMPILER FOR THE INTERFACE
COMPILER_= "gcc -c -O";
// -- FORTRAN RUNTIME LIBRARIES
// -- g95
//FORT_LIB = "/usr/lib/libf95.a /usr/lib/libgcc.a";
// -- gfortran compiler
FORT_LIB="/usr/lib/libgfortran.a";
// -- ifort compiler
//FORT_LIB_DIR = "/opt/intel/fc/9.0/lib/";
//FORT_LIB = FORT_LIB_DIR+"libifcore.a"+" "+FORT_LIB_DIR+"libimf.a"+" "+FORT_LIB_DIR+"libguide.a"+" "+FORT_LIB_DIR+"libirc.a";
//**************************************************************************//
//******************* DON't EDIT BELOW (Normally) **************************//
//---- Build the Makefile
fd=mopen("Makefile","w");
mfprintf(fd,"SCIDIRINC = %s\n",SCI_DIR_INC);
mfprintf(fd,"MUMPSINCDIR = %s\n",MUMPS_INC_DIR);
mfprintf(fd,"CC = %s\n", COMPILER_);
mfprintf(fd,"all: intdmumpsc.o intzmumpsc.o\n");
mfprintf(fd,"intdmumpsc.o: intmumpsc.c\n");
mfprintf(fd,"\t$(CC) -o $@ $? -DMUMPS_ARITH=MUMPS_ARITH_d -I${MUMPSINCDIR} -I${SCIDIRINC}\n");
mfprintf(fd,"intzmumpsc.o: intmumpsc.c\n");
mfprintf(fd,"\t$(CC) -o $@ $? -DMUMPS_ARITH=MUMPS_ARITH_z -I${MUMPSINCDIR} -I${SCIDIRINC}\n");
mfprintf(fd,"clean:\n");
mfprintf(fd,"\trm *.o loader_inc.sce\n");
mclose(fd);
//---- Compile
unix("make");
//---- Build the Loader_inc.sce
fd=mopen("loader_inc.sce","w");
mfprintf(fd,"objects = [ path+\""intzmumpsc.o \"" ; \n")
mfprintf(fd," path+\""intdmumpsc.o\"" ; \n")
mfprintf(fd," \""%s\"" ; \n",DMUMPS_LIB)
mfprintf(fd," \""%s\"" ; \n",ZMUMPS_LIB)
mfprintf(fd," \""%s\"" ; \n",ORDERINGS_LIB)
mfprintf(fd," \""%s\"" ; \n",LIB_MPISEQ)
mfprintf(fd," \""%s\"" ; \n",PORD_LIB)
mfprintf(fd," \""%s\"" ; \n",METIS_LIB)
mfprintf(fd," \""%s\"" ; \n",BLAS_LIB)
mfprintf(fd," \""%s\"" ; \n",FORT_LIB)
mfprintf(fd," \""%s\"" ]; \n",PTHREAD_LIB)
mclose(fd);
|