热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

求助:makefile看不明白,请帮忙

求助:makefile看不明白,请帮忙--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
[i=s] 本帖最后由 lzj2010 于 2010-2-2 16:29 编辑

以下是一段有限元程序及其makefile和makefile.in文件的位置,看不懂makefile有些符号查不到,请高手给看一下,解释一下

ver22下的文件两个
一:makefile.in 如下:

# Which compilers to use
FF = gfortran
CC = gcc

# What optimization level to use
FFOPTFLAG = -O2
CCOPTFLAG = -O2

# Source Types
FSOURCE =
CSOURCE =

# Source Extender
FEXT = f
CEXT = c

# What options to be used by the compiler
FOPTIOnS=
COPTIOnS=

# What options to be used by the loader
LDOPTIOnS= -L/usr/X11R6/lib -lX11 -lm

# Location of feap include files
FINCLUDE = /usr/example_sc/feappv22.zip_FILES/ver22/include

# What archiving to use
AR = ar rv

# Archive name
ARFEAP = /usr/example_sc/feappv22.zip_FILES/ver22/Feappv.a
二:makefile如下:

# N.B. It is necessary to modify 'makefile.in' before using make.

include ./makefile.in

CLEANDIRS = include elements plot program unix user windows main

feappv: archive
(cd main; make feappv)
@@echo "--> FEAPpv executable made <--"

archive:
(cd program; make archive)
(cd elements; make archive)
(cd plot; make archive)
(cd unix; make archive)
(cd user; make archive)
@@echo "--> FEAPpv Archive updated <--"

install: archive feappv

main中的文件:makefile如下:
include ../makefile.in

OBJECTS = feappv.o

SOURCES = $(FSOURCE)feappv.$(FEXT)

feappv: $(OBJECTS) $(SOURCES) $(ARFEAP)
ranlib $(ARFEAP)
$(FF) -o feappv $(OBJECTS) $(ARFEAP) \
$(LDOPTIONS)

.f.o:
$(FF) -c $(FFOPTFLAG) -I$(FINCLUDE) $*.f -o $*.o

.c.o:
$(CC) -c $(CCOPTFLAG) $*.c -o $*.o

windows中的makefile如下:
include ../makefile.in

SOURCES = $(FSOURCE)*.$(FEXT)

archive: $(SOURCES)
$(AR) $(ARFEAP) $%
@@echo "--->WINDOWS objects now up-to-date<---"
rm -f $% *.o

install: $(SOURCES)
@@echo "--->WINDOWS objects not installed in archive<---"

.f.o:
$(FF) -c -I$(FINCLUDE) $(FFOPTFLAG) *.f -o $*.o

.c.o:
$(CC) -c $(CCOPTFLAG) *.c -o $*.o

plot文件下没有,其余几个文件夹下是一样的makefile如下:
include ../makefile.in

SOURCES = $(wildcard $(FSOURCE)*.$(FEXT)) $(wildcard $(CSOURCE)*.$(CEXT))
OBJSF = $(SOURCES:.f=.o)
OBJS = $(OBJSF:.c=.o)
FL = built_objs

.SILENT:

archive:
@rm -f $(FL); \
$(MAKE) $(ARFEAP); \
MKRET=$$?; \
if [ -f $(FL) ]; then \
$(AR) $(ARFEAP) `cat $(FL)`; \
rm `cat $(FL)`; \
echo "--->`pwd` objects now up-to-date<---"; \
fi; \
if [ $$MKRET -ne 0 ]; then false; fi;

$(ARFEAP): $(ARFEAP)($(OBJS))

.f.a:
@if $(FF) -c -I$(FINCLUDE) $(FFOPTFLAG) $*.f -o $*.o; then echo $*.o >> $(FL); else false; fi;
@echo "Building $*.o"

.c.a:
if $(CC) -c $(CCOPTFLAG) $*.c -o $*.o; then echo $*.o >> $(FL); else false; fi;
其中的$$?,$$MKRET等等是些什么意思搞不明白,请高手给解释一下


推荐阅读
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
author-avatar
信雨2502873867
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有