Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
############################################################################## Program: OpenSees## Purpose: A Top-level Makefile to create the libraries needed# to use the OpenSees framework.## version created for SDSC datastar sequential## Written: fmk# Created: 01/2003############################################################################### %---------------------------------%# | SECTION 1: PROGRAM |# %---------------------------------%## Specify the location and name of the OpenSees interpreter program# that will be created (if this all works!)OpenSees_PROGRAM = $(HOME)/bin/OpenSeesOpenSees_PROGRAM_MPI = $(HOME)/bin/OpenSeesMPI# %---------------------------------%# | SECTION 2: MAKEFILE CONSTANTS |# %---------------------------------%## Specify the constants the are used as control structure variables in the Makefiles.OPERATING_SYSTEM = LINUX#GRAPHICS = UsingOpenGLGRAPHICS =PROGRAMMING_MODE = PARALLEL_INTERPRETERS#DEBUG_MODE = DEBUG, NO_DEBUGDEBUG_MODE = NO_DEBUG#RELIABILITY = YES_RELIABILITY, NO_RELIABILITYRELIABILITY = NO_RELIABILITY# %---------------------------------%# | SECTION 3: PATHS |# %---------------------------------%## Note: if vendor supplied BLAS and LAPACK libraries or if you have# any of the libraries already leave the directory location blank AND# remove the directory from DIRS.BASE =# PUT YOUR HOME DIRECTOREY HEREHOME = /u/ac/gpetropo/fmkFE = $(HOME)/OpenSees/SRCBLASdir = $(HOME)/OpenSees/OTHER/BLASCBLASdir = $(HOME)/OpenSees/OTHER/CBLASLAPACKdir = $(HOME)/OpenSees/OTHER/LAPACKARPACKdir = $(HOME)/OpenSees/OTHER/ARPACKUMFPACKdir = $(HOME)/OpenSees/OTHER/UMFPACKMETISdir = $(HOME)/OpenSees/OTHER/METISSRCdir = $(HOME)/OpenSees/SRCSUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_3.0/SRCSUPERLU_DISTdir = $(HOME)/OpenSees/OTHER/SuperLU_DIST_2.0/SRCDIRS = $(BLASdir) \$(CBLASdir) \$(LAPACKdir) \$(SUPERLUdir) \$(SUPERLU_DISTdir) \$(ARPACKdir) \$(UMFPACKdir) \$(METISdir) \$(SRCdir)# %-------------------------------------------------------%# | SECTION 4: LIBRARIES |# | |# | The following section defines the libraries that will |# | be created and/or linked with when the libraries are |# | being created or linked with. |# %-------------------------------------------------------%## Note: if vendor supplied BLAS and LAPACK libraries leave the# libraries blank. You have to get your own copy of the tcl/tk# library!!## Note: For libraries that will be created (any in DIRS above)# make sure the directory exsists where you want the library to go!FE_LIBRARY = $(HOME)/lib/libOpenSees.aNDARRAY_LIBRARY = $(HOME)/lib/libndarray.a # BJ_UCD jeremic@ucdavis.eduMATMOD_LIBRARY = $(HOME)/lib/libmatmod.a # BJ_UCD jeremic@ucdavis.eduBJMISC_LIBRARY = $(HOME)/lib/libBJmisc.a # BJ_UCD jeremic@ucdavis.eduLAPACK_LIBRARY = $(HOME)/lib/libLapack.aBLAS_LIBRARY = $(HOME)/lib/libBlas.aSUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.aCBLAS_LIBRARY = $(HOME)/lib/libCBlas.aARPACK_LIBRARY = $(HOME)/lib/libArpack.aUMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.aMETIS_LIBRARY = $(HOME)/lib/libMetis.aDISTRIBUTED_SUPERLU_LIBRARY = $(HOME)/lib/libDistributedSuperLU.aTCL_LIBRARY = /usr/local/tcl8.4/lib64/libtcl8.4.so \/usr/local/tk8.4/lib64/libtk8.4.soGRAPHIC_LIBRARY = -L/usr/include/GL -lGL -lGLU#RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.aRELIABILITY_LIBRARY =# WATCH OUT .. These libraries are removed when 'make wipe' is invoked.WIPE_LIBS = $(FE_LIBRARY) \$(NDARRAY_LIBRARY) \$(MATMOD_LIBRARY) \$(ARPACK_LIBRARY) \$(DISTRIBUTED_SUPERLU_LIBRARY) \$(SUPERLU_LIBRARY) \$(UMFPACK_LIBRARY) \$(METIS_LIBRARY) \$(LAPACK_LIBRARY) \$(BLAS_LIBRARY) \$(CBLAS_LIBRARY) \$(RELIABILITY_LIBRARY)# %---------------------------------------------------------%# | SECTION 5: COMPILERS |# | |# | The following macros specify compilers, linker/loaders, |# | the archiver, and their options. You need to make sure |# | these are correct for your system. |# %---------------------------------------------------------%# #################################################### # Compilers# ####################################################CC++ = xlC_r#CC = xlc_r#FC = xlf_r#F90 = xlf90_r#LINKER = xlC_rCC++ = mpicxxCC = mpiccFC = mpif77F90 = mpif90FORTRAN = $(FC)LINKER = $(CC++)AR = arARCH = arARFLAGS = -v -q#ARCHFLAGS = cqlsARCHFLAGS = -v -qRANLIB = ranlibRANLIBFLAGS =GRAPHIC_FLAG = -D_NOGRAPHICS -D_GLXGRAPHIC_FLAG = -D_NOGRAPHICSPROGRAMMING_FLAG =PROGRAMMING_FLAG =ifeq ($(PROGRAMMING_MODE), PARALLEL)PROGRAMMING_FLAG = -D_PARALLEL_PROCESSINGendififeq ($(PROGRAMMING_MODE), PARALLEL_INTERPRETERS)PROGRAMMING_FLAG = -D_PARALLEL_INTERPRETERSendif#RELIABILITY_FLAG = -D_RELIABILITYRELIABILITY_FLAG =#DEBUG_FLAG = -D_G3DEBUGDEBUG_FLAG =OPT_FLAG = -O3#-qstrict -q64PROF_FLAG =#-g -pgCOMP_FLAG = -D_TCL84 -DMPICH_IGNORE_CXX_SEEK#-qnoipaC++FLAGS = -D_LINUX -D_UNIX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(OPT_FLAG) $(COMP_FLAG)\$(PROGRAMMING_FLAG) -D_KAI -cpp $(PROF_FLAG)CFLAGS = $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) -D_KAI -D_PARALLEL_PROCESSING $(OPT_FLAG) $(COMP_FLAG) $(PROF_FLAG)FFLAGS = -qextname $(OPT_FLAG) $(COMP_FLAG) $(PROF_FLAG)LINKFLAGS = $(PROF_FLAG)#-bnoquiet -bbigtoc# MiscMAKE = /usr/bin/gmakeCD = cdECHO = echoRM = rmRMFLAGS = -fSHELL = /bin/sh# %---------------------------------------------------------%# | SECTION 6: COMPILATION |# | |# | The following macros specify the macros used in |# | to compile the source code into object code. |# %---------------------------------------------------------%.SUFFIXES:.SUFFIXES: .C .c .f .f90 .cpp .o .cpp## %------------------%# | Default command. |# %------------------%#.DEFAULT:@$(ECHO) "Unknown target $@, try: make help"## %-----------------------------------------------%# | Command to build .o files from source files. |# %-----------------------------------------------%#.cpp.o:@$(ECHO) Making $@ from $< $@ with $(CC++) $(C++FLAGS) $(INCLUDES) -c $<@$(CC++) $(C++FLAGS) $(INCLUDES) -c $<.C.o:@$(ECHO) Making $@ from $<$(CC++) $(C++FLAGS) $(INCLUDES) -c $<.c.o:@$(ECHO) Making $@ from $<$(CC) $(CFLAGS) -c $<.f.o:@$(ECHO) Making $@ from $<$(FC) $(FFLAGS) -c $<.f77.o:@$(ECHO) Making $@ from $<$(FC) $(FFLAGS) -c $<.f90.o:@$(ECHO) Making $@ from $<$(FC90) $(FFLAGS) -c $<# %---------------------------------------------------------%# | SECTION 7: OTHER LIBRARIES |# | |# | The following macros specify other libraries that must |# | be linked with when creating executables. These are |# | platform specific and typically order does matter!! |# %---------------------------------------------------------%MACHINE_LINKLIBS = -L$(BASE)/lib \-L$(HOME)/libHAVEPETSC = NOPETSCINC =PETSC_LIB =PETSC_FLAG =ifeq ($(HAVEPETSC), YES)PETSC_DIR = /usr/local/apps/petsc-2.2.1-64PETSC_ARCH = rs6000_64BOPT = OPETSC = YESPETSC_FLAG = -D_PETSCPETSCINC = -I$(PETSC_DIR)/include -I$(PETSC_DIR)/bmake/$(PETSC_ARCH) -D_PETSC -DPETSC_USE_BOPT_g -DPETSC_USE_EXTERN_CXXPETSC_LIB = -L$(PETSC_DIR)/lib/libg/$(PETSC_ARCH) \-lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc \$(FE)/system_of_eqn/linearSOE/petsc/PetscSOE.o \$(FE)/system_of_eqn/linearSOE/petsc/PetscSolver.o \$(FE)/system_of_eqn/linearSOE/petsc/PetscSparseSeqSolver.oendifHAVEMUMPS = NOMUMPS_INCLUDE =MUMPS_LIB =ifeq ($(HAVEMUMPS), YES)MUMPS_DIR = /users/ucb/ux455280/MUMPS_4.7.3MUMPS = YESMUMPS_FLAG = -D_MUMPSMUMPS_LIB = -L$(MUMPS_DIR)/lib \-ldmumps -lpord -lpesslsmp -lblacssmp \$(FE)/system_of_eqn/linearSOE/mumps/MumpsSOE.o \$(FE)/system_of_eqn/linearSOE/mumps/MumpsSolver.o \$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSOE.o \$(FE)/system_of_eqn/linearSOE/mumps/MumpsParallelSolver.oMUMPS_INCLUDE = -I$(MUMPS_DIR)/includeendif#PARALLEL_LIB = $(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSOE.o \# $(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o \# $(FE)/system_of_eqn/linearSOE/diagonal/DistributedDiagonalSolver.o \# $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSparseGenColLinSOE.o \# $(FE)/system_of_eqn/linearSOE/sparseGEN/DistributedSuperLU.oHPM_LIB =MACHINE_NUMERICAL_LIBS = -lm \$(ARPACK_LIBRARY) \$(SUPERLU_LIBRARY) \$(UMFPACK_LIBRARY) \$(LAPACK_LIBRARY) \$(BLAS_LIBRARY) \$(CBLAS_LIBRARY) \$(GRAPHIC_LIBRARY)\$(RELIABILITY_LIBRARY) \$(DISTRIBUTED_SUPERLU_LIBRARY) \$(METIS_LIBRARY) $(PARALLEL_LIB) $(PETSC_LIB) $(HPM_LIB)MACHINE_SPECIFIC_LIBS = -L${MKL_HOME}/lib/em64t -lmkl -lguide -lpthread -lmkl_gfortran -lmkl_lapack \-L${INTEL_HOME}/lib -lifport -lifcore -lsvml -lipgo -lirc -lirc_s -ldl# %---------------------------------------------------------%# | SECTION 8: INCLUDE FILES |# | |# | The following macros specify include files needed for |# | compilation. |# %---------------------------------------------------------%MACHINE_INCLUDES = -I/usr/local/BerkeleyDB.4.0/include \-I/usr/include/mysql \-I/usr/local/apps/hpm/include \-I$(HOME)/include \-I$(UMFPACKdir) \-I$(SUPERLUdir) \-I$(SUPERLU_DISTdir) \-I/usr/lpp/ppe.poe/include \$(PETSCINC)# this file contains all the OpenSees/SRC includesinclude $(FE)/Makefile.incl#TCL_INCLUDES = -I/home/fmk/tcl8.3.3/genericINCLUDES = $(MACHINE_INCLUDES) $(TCL_INCLUDES) $(FE_INCLUDES)