免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2242 | 回复: 0
打印 上一主题 下一主题

makefile.def文件问题求教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-22 11:01 |只看该作者 |倒序浏览
本人第一次接触makefile.def文件,是要在Linux下编译Sparselib++遇到的问题
它的makefile.def文件如下,让我自己修改,我实在是看不懂,恳请大家指点一下
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#         ********   ***                                                */
#      *******  **  ***       ***      ***                 SparseLib++  */
#       *****      ***     ******** ********                            */
#        *****    ***     ******** ********                   R. Pozo   */
#   **  *******  ***   **   ***      ***                 K. Remington   */
#    ********   ********                                 A. Lumsdaine   */
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#
#          S p a r s e L i b  ++     m a k e f i l e . d e f
#
#    Compiler Specific Section:   Edit to reflect your environment
#-------------------------------------------------------------------------
#
#        Macro                 Significance
#
#   CCC                   C++ compiler
#   CCCFLAGS              flags to C++ compiler
#   CC                    C compiler
#   CFLAGS                flags to C compiler
#   LDFLAGS                                  libraries
#   HASRANLIB             't' if your system has ranlib, 'f' otherwise
#
#
# Some defaults are below for Sun C++, and GNU g++.  Uncomment the
# relevant sections.
#
#


#
# Support for optional vector-bounds checking:
#
# Use -DMV_VECTOR_BOUNDS_CHECK to perform runtime checking of
#                index bounds. Can be used to create a "debug" and a
#                a "production" version of MV++ libraries.
#
# Support for vectors and matrices of type complex:
#
# Use -DCOMPLEX_OSTREAM if your compiler does not provide a predefine
#                        a way to print complex numbers (e.g. cout << u; )
#
# Define COMPLEX to expand to whatever name your compiler uses for
#                complex numbers (e.g. g++ 2.7.0 uses templated classes
#                as per ANSI C++)  Most other compilers use "complex" or
#                "Complex".



# IBM xlC  v. 1.1
#
CCC             = xlC
CC              = xlc
CCCFLAGS        = -+ -O -DCOMPLEX=complex
LDFLAGS         = $(SPARSELIB_DIR)/lib/libsparse.a $(SPARSELIB_DIR)/lib/libspblas.a  \
                  $(SPARSELIB_DIR)/lib/libmv.a -lm -lcomplex



# Sun C++ 4.0.1
#
CCC                         = CC
CC                                 = acc       
CCCFLAGS                 = -O +w -DMV_VECTOR_BOUNDS_CHECK -g
CCCFLAGS                 =  +w -DMV_VECTOR_BOUNDS_CHECK -g -DCOMPLEX_OSTREAM -DCOMPLEX=complex
LDFLAGS                        =  $(SPARSELIB_DIR)/lib/libsparse.a $(SPARSELIB_DIR)/lib/libspblas.a  \
                                                $(SPARSELIB_DIR)/lib/libmv.a -lm -lcomplex



# g++ v. 2.6.3
#
CCC                         = g++
CC                                 = gcc       
CCCFLAGS                 =  -Wall -DMV_VECTOR_BOUNDS_CHECK -g -DCOMPLEX=complex
LDFLAGS                        =   $(SPARSELIB_DIR)/lib/libsparse.a $(SPARSELIB_DIR)/lib/libspblas.a \
                                                $(SPARSELIB_DIR)/lib/libmv.a -lm

# g++ v. 2.7.0
#
CCC                         = g++
CC                                 = gcc       
CCCFLAGS         =  -DMV_VECTOR_BOUNDS_CHECK -g -Wall -pedantic\
     '-DCOMPLEX=std::complex<double>'  
CCCFLAGS         =  -g -Wall -pedantic -O3 '-DCOMPLEX=std::complex<double>'  
LDFLAGS        = $(SPARSELIB_DIR)/lib/libsparse.a $(SPARSELIB_DIR)/lib/libspblas.a \
                                        $(SPARSELIB_DIR)/lib/libmv.a -lm

# g++ v. 4.0.1
#
CCC                         = g++
CC                                 = gcc       
CCCFLAGS         =  -ansi -g -Wall -pedantic -O3 '-DCOMPLEX=std::complex<double>'  
LDFLAGS        = $(SPARSELIB_DIR)/lib/libsparse.a $(SPARSELIB_DIR)/lib/libspblas.a \
                                        $(SPARSELIB_DIR)/lib/libmv.a -lm



# ranlib available on this system? 't' or 'f'
HASRANLIB = t


################################################################
#                                                              #
#           Implicit rules: do not modify after here           #
#                                                              #
################################################################


SPARSELIB_LIB_DIR                        = $(SPARSELIB_DIR)/lib
SPARSELIB_INCLUDE_DIR                = $(SPARSELIB_DIR)/include
SPARSELIB_MV_DIR                        = $(SPARSELIB_DIR)/mv
SPARSELIB_MV_INCLUDE_DIR        = $(SPARSELIB_MV_DIR)/include

SPARSELIB_A             = $(SPARSELIB_LIB_DIR)/libsparse.a
SPARSEBLAS_A            = $(SPARSELIB_LIB_DIR)/libspblas.a
MV_LIB_A                                = $(SPARSELIB_DIR)/lib/libmv.a


INCLUDES =  -I$(SPARSELIB_INCLUDE_DIR) -I$(SPARSELIB_MV_INCLUDE_DIR)


EXENAME     = -o
OBJ_EXT     = o
LIB_EXT     = a
EXE_EXT     =

.SUFFIXES: .c .cc .o

.cc.o:
        $(CCC) $(CCCFLAGS)  $(INCLUDES) -c $<

.c.o:
        $(CC) $(CFLAGS) $(INCLUDES) -c $<

.f.o:
        $(F77)  -c $<


我的gcc版本是4.4.6,请问大家我如何修改makefile.def文件,可以顺利make?谢谢了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP