- 积分
- 0
- 注册时间
- 2009-4-18
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2013-5-20 12:29:18
|
显示全部楼层
来自 黑龙江哈尔滨
Makefile.def- ############################################################################
- #
- # Program: OpenSees
- #
- # Purpose: A Top-level Makefile to create the libraries needed
- # to use the OpenSees framework. Works for Linux 7.1 and
- # above, modified to use the OpenGl libraries.
- #
- # Written: fmk
- # Created: 10/99
- #
- # Send bug reports, comments or suggestions to fmckenna@ce.berkeley.edu
- #
- ############################################################################
- # %---------------------------------%
- # | 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/OpenSees
- # %---------------------------------%
- # | SECTION 2: MAKEFILE CONSTANTS |
- # %---------------------------------%
- #
- # Specify the constants the are used as control structure variables in the Makefiles.
- #OPERATING_SYSTEM = LINUX
- OPERATING_SYSTEM = LINUX
- #GRAPHICS = UsingOpenGL, UsingX11, NONE
- GRAPHICS = UsingOpenGL
- #PROGRAMMING_MODE = PARALLEL_INTERPRETERS
- #PROGRAMMING_MODE = SEQUENTIAL, THREADS OR DISTRIBUTED_MPI
- PROGRAMMING_MODE = SEQUENTIAL
- #COMPILER = GCC, KAI
- COMPILER = GCC
- #DEBUG_MODE = DEBUG, NO_DEBUG
- DEBUG_MODE = NO_DEBUG
- #RELIABILITY = YES_RELIABILITY, NO_RELIABILITY
- RELIABILITY = 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 = /usr/local
- HOME = /home/lxw/myusr
- FE = $(HOME)/OpenSees/SRC
- AMDdir = $(HOME)/OpenSees/OTHER/AMD
- ARPACKdir = $(HOME)/OpenSees/OTHER/ARPACK
- BLASdir = $(HOME)/OpenSees/OTHER/BLAS
- CBLASdir = $(HOME)/OpenSees/OTHER/CBLAS
- CSPARSEdir = $(HOME)/OpenSees/OTHER/CSPARSE
- LAPACKdir = $(HOME)/OpenSees/OTHER/LAPACK
- METISdir = $(HOME)/OpenSees/OTHER/METIS
- SRCdir = $(HOME)/OpenSees/SRC
- ifeq ($(PROGRAMMING_MODE), THREADS)
- SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_MT
- else
- SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU_4.1/SRC
- endif
- UMFPACKdir = $(HOME)/OpenSees/OTHER/UMFPACK
- DIRS = $(AMDdir) \
- $(ARPACKdir) \
- $(BLASdir) \
- $(CBLASdir) \
- $(CSPARSEdir) \
- $(LAPACKdir) \
- $(METISdir)\
- $(SRCdir) \
- $(SUPERLUdir) \
- $(UMFPACKdir) \
- # %-------------------------------------------------------%
- # | 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!
- AMD_LIBRARY = $(HOME)/lib/libAMD.a
- ARPACK_LIBRARY = $(HOME)/lib/libArpack.a
- BJMISC_LIBRARY = $(HOME)/lib/libBJmisc.a # BJ_UCD jeremic@ucdavis.edu
- BLAS_LIBRARY = $(HOME)/lib/libBlas.a
- CBLAS_LIBRARY = $(HOME)/lib/libCBlas.a
- CSPARSE_LIBRARY = $(HOME)/lib/libCSparse.a
- FE_LIBRARY = $(HOME)/lib/libOpenSees.a
- LAPACK_LIBRARY = $(HOME)/lib/libLapack.a
- MATMOD_LIBRARY = $(HOME)/lib/libmatmod.a # BJ_UCD jeremic@ucdavis.edu
- METIS_LIBRARY = $(HOME)/lib/libMetis.a
- NDARRAY_LIBRARY = $(HOME)/lib/libndarray.a # BJ_UCD jeremic@ucdavis.edu
- SUPERLU_LIBRARY = $(HOME)/lib/libSuperLU.a
- TCL_LIBRARY = /usr/lib/libtk8.5.so /usr/lib/libtcl8.5.so
- UMFPACK_LIBRARY = $(HOME)/lib/libUmfpack.a
- BLITZ_LIBRARY =
- #%===================GRAPHIC_LIBRARY===================%
- #GRAPHIC_LIBRARY =
- #ifeq ($(GRAPHICS), UsingX11)
- #GRAPHIC_LIBRARY = /usr/X11R6/lib/libX11.a
- #else
- #GRAPHIC_LIBRARY = /usr/lib/libGL.a /usr/X11R6/lib/libX11.a /usr/X11R6/lib/libXext.a \
- # /usr/lib/libGLU.a
- #endif
- #ifeq ($(GRAPHICS), UsingX11)
- #GRAPHIC_LIBRARY = -L/usr/lib/libX11.a
- #else
- #GRAPHIC_LIBRARY = -L/usr/X11R6/lib -lX11 -lGL -lGLU
- #endif
- ifeq ($(GRAPHICS), UsingOpenGL)
- GRAPHIC_LIBRARY = /usr/lib/libGL.so /usr/lib/libX11.a /usr/lib/libXext.a /usr/lib/libGLU.so
- else
- GRAPHIC_LIBRARY = -L/usr/lib/libX11.a
- endif
- #%===================RELIABILITY_LIBRARY===================%
- ifeq ($(RELIABILITY), YES_RELIABILITY)
- RELIABILITY_LIBRARY = $(HOME)/lib/libReliability.a
- else
- RELIABILITY_LIBRARY =
- endif
- # WATCH OUT .. These libraries are removed when 'make wipe' is invoked.
- WIPE_LIBS = $(FE_LIBRARY) \
- $(LAPACK_LIBRARY) \
- $(BLAS_LIBRARY) \
- $(CBLAS_LIBRARY) \
- $(SUPERLU_LIBRARY) \
- $(ARPACK_LIBRARY) \
- $(UMFPACK_LIBRARY) \
- $(METIS_LIBRARY) \
- $(RELIABILITY_LIBRARY)\
- $(AMD_LIBRARY) \
- $(CSPARSE_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++ = /usr/bin/g++
- CC = /usr/bin/gcc
- FC = /usr/bin/gfortran
- AR = ar
- ARFLAGS = cqls
- RANLIB = ranlib
- RANLIBFLAGS =
- #%====GRAPHIC_FLAG====%
- #GRAPHICS = UsingOpenGL, UsingX11
- ifeq ($(GRAPHICS), UsingOpenGL)
- GRAPHIC_FLAG = -D_GLX
- else
- ifeq ($(GRAPHICS),NONE)
- GRAPHIC_FLAG = -D_NOGRAPHICS
- else
- GRAPHIC_FLAG = -D_X11
- endif
- endif
- #%====PROGRAMMING_FLAG====%
- ifeq ($(PROGRAMMING_MODE), THREADS)
- PROGRAMMING_FLAG = -D_THREADS -D_PTHREAD
- else
- PROGRAMMING_FLAG =
- endif
- #%====DEBUG_FLAG====%
- ifeq ($(DEBUG_MODE), DEBUG)
- DEBUG_FLAG = -D_G3DEBUG
- else
- DEBUG_FLAG =
- endif
- #%====RELIABILITY_FLAG====%
- ifeq ($(RELIABILITY), YES_RELIABILITY)
- RELIABILITY_FLAG = -D_RELIABILITY
- else
- RELIABILITY_FLAG =
- endif
- # Compiler Flags
- #
- # NOTES:
- # C++ FLAGS TAKE need _UNIX or _WIN32 for preprocessor dircetives
- # - the _WIN32 for the Windows95/98 or NT operating system.
- # C FLAGS used -DUSE_VENDOR_BLAS (needed in SuperLU) if UNIX in C++ FLAGS
- #
- ifeq ($(DEBUG_MODE), DEBUG)
- C++FLAGS = -Wall -funroll-loops -fcse-follow-jumps \
- -fthread-jumps -fcse-skip-blocks -frerun-cse-after-loop \
- -felide-constructors \
- -fcaller-saves -ffloat-store -fforce-addr \
- -fschedule-insns -fschedule-insns2 -D_LINUX -D_UNIX \
- $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \
- -fexpensive-optimizations \
- -fforce-addr -fforce-mem -finline-functions \
- -fkeep-inline-functions \
- -fno-function-cse -fno-inline -fno-peephole \
- -fschedule-insns -fschedule-insns2 \
- -fstrength-reduce -fthread-jumps -g -pg \
- -ffloat-store -D_RELIABILITY -D_TCL85
- CFLAGS = -Wall -pg $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
- FFLAGS = -Wall
- # Linker
- LINKER = $(CC++)
- LINKFLAGS = -g -pg
- else
- # modified as optimizaton currently causing problems with Steel01 code
- C++FLAGS = -Wall -O3 -D_UNIX -ftemplate-depth-30 -D_LINUX \
- $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG) \
- -ffloat-store -D_TCL85
- CFLAGS = -Wall -O3 $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
- FFLAGS = -Wall -O
- # Linker
- LINKER = $(CC++)
- LINKFLAGS =
- endif
- ifeq ($(COMPILER), KAI)
- CC++ = /usr/local/KAI/KCC_BASE/bin/KCC
- CC = /usr/local/KAI/KCC_BASE/bin/KCC
- FC = /usr/bin/g77
- C++FLAGS = -D_KAI -D_UNIX -D_LINUX +K1 +K3 -O3 \
- $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) $(DEBUG_FLAG) $(PROGRAMMING_FLAG)
- --display_error_number --backend -ffloat-store -D_TCL85
- CFLAGS = -D_KAI -D_UNIX -D_LINUX $(GRAPHIC_FLAG) $(RELIABILITY_FLAG) \
- $(DEBUG_FLAG) $(PROGRAMMING_FLAG) +K3 -O3 --c
- FFLAGS = -Wall -O
- LINKER = $(CC++)
- LINKFLAGS =
- endif
- # Misc
- MAKE = make
- CD = cd
- ECHO = echo
- RM = rm
- RMFLAGS = -f
- SHELL = /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 .f files. |
- # %-------------------------------------------%
- #
- .cpp.o:
- @$(ECHO) Making $@ from $<
- $(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
- .C.o:
- @$(ECHO) Making $@ from $<
- $(CC++) $(C++FLAGS) $(INCLUDES) -c $< -o $@
- .c.o:
- @$(ECHO) Making $@ from $<
- $(CC) $(CFLAGS) -c $< -o $@
- .f.o:
- @$(ECHO) Making $@ from $<
- $(FC) $(FFLAGS) -c $< -o $@
- # %---------------------------------------------------------%
- # | 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)/lib
- MACHINE_NUMERICAL_LIBS = -lm \
- $(ARPACK_LIBRARY) \
- $(SUPERLU_LIBRARY) \
- $(CSPARSE_LIBRARY) \
- $(AMD_LIBRARY)\
- $(UMFPACK_LIBRARY) $(METIS_LIBRARY) \
- $(LAPACK_LIBRARY) $(BLAS_LIBRARY) $(CBLAS_LIBRARY) \
- $(GRAPHIC_LIBRARY) $(RELIABILITY_LIBRARY) \
- -ldl -lgfortran -lpng
- ifeq ($(PROGRAMMING_MODE), THREADS)
- MACHINE_SPECIFIC_LIBS = -lpthread
- else
- MACHINE_SPECIFIC_LIBS =
- endif
- # %---------------------------------------------------------%
- # | SECTION 8: INCLUDE FILES |
- # | |
- # | The following macros specify include files needed for |
- # | compilation. |
- # %---------------------------------------------------------%
- MACHINE_INCLUDES = -I/usr/include \
- -I$(BASE)/include \
- -I/usr/include/cxx \
- -I$(HOME)/include -I$(HOME)/blitz \
- -I$(UMFPACKdir) -I$(SUPERLUdir) \
- -I/usr/include/cxxtools \
- -I/usr/include/blitz \
- -I/usr/include/X11 \
- -I/usr/lib/glib-2.0/include \
- -I/usr/include/GL
- # this file contains all the OpenSees/SRC includes
- include $(FE)/Makefile.incl
- TCL_INCLUDES = -I/usr/include/tcl8.5 -I/usr/include
- INCLUDES = $(TCL_INCLUDES) $(FE_INCLUDES) $(MACHINE_INCLUDES)
复制代码 |
评分
-
1
查看全部评分
-
|