导航:首页 > 操作系统 > linuxmakefile

linuxmakefile

发布时间:2022-02-04 08:37:33

1. linux下makefile文件的编写

INC_PATH:=-I./include/
LIB_PATH:=-L./lib/
LIBS:=$(LIB_PATH)-lerr-larm
CC:=gcc
LD:=gcc
CFLAGS:=-O2-Wall$(INC_PATH)
SRC_PATH:=./source
SOURCE:=$(SRC_PATH)/a.c
$(SRC_PATH)/b.c
$(SRC_PATH)/c.c
TARGET:=target
OBJS:=a.ob.oc.o
$(TARGET):$(OBJS)
$(LD)-O2-o$(TARGET)$(OBJS)$(LIBS)
a.o:$(SRC_PATH)/a.c
$(CC)$(CFLAGS)-c-o$@$<
b.o:$(SRC_PATH)/b.c
$(CC)$(CFLAGS)-c-o$@$<
c.o:$(SRC_PATH)/c.c
$(CC)$(CFLAGS)-c-o$@$<
.PHONY:clean
clean:
-rm-f$(OBJS)

2. linux Makefile configure里面 += := -= 这些符号的意思

:= 和 = 用在赋值时,:= 的赋值是马上生效, 而 = 则是等到变量被引用时才递归生效。用两个简单的makefile举例说明最简单:

makefile1:
bar=456
foo=${bar}
bar=${xxx}
xxx=123

all:
echo ${foo}

echo出的结果是 123, foo的值在 echo 的时候,先被扩展成 ${bar}, 再递归的被扩展成 ${xxx},最终是123

makefile2:
bar=456
foo:=${bar}
bar=${xxx}
xxx=123

all:
echo ${foo}
此时由于 用了 := ,在赋值时候 foo 的值就直接被扩展成 bar 在那个时刻的值,即 456, 最后的echo的结果也就是 456 了。

+= 就很简单了,就是在一个变量的值的尾部增加内容,如:
foo = abc
foo += efg

则 foo 的值就是 abc efg

makefile没有 -= 这个操作符。

3. linux 系统自带makefile的么在哪里找到

redhat 4.0?你说的是RHEL4吧

makefile仅仅是文件而已,或者说一系列脚本,可以手工编写,也可以其他脚本或者开发环境自动生成,然后你使用make命令调用makefile文件

寒死我了lz makefile是随源代码发行包一起提供的 ,通常来讲,下载源代码后运行./configure 然后就自动生成合适你的系统的makefile 然后运行make即可

总之上搜索引擎查查make的使用方法就了解了

4. LINUX makefile 命令

第4步是第三步的说明。
也就是说 第三步应该会输出第四步这些东西。
然后你要根据你的需求 以及第四步的说明,来配置./18_angels的参数。

5. 关于linux的makefile

命令行必需以[Tab]键开始,以和Makefile其他行区别。
就是说所有的命令行必需以[Tab] 字符开始,但并不是所有的以[Tab]键出现行都是命令行。但make程序会把出现在第一条规则之后的所有以[Tab]字符开始的行都作为命令行来处理。
你下面的rm语法上没问题的,所以应该是[Tab]的问题。

6. 在linux下怎么makefile

Linux系统下makefile的作用把编写好的源文件进行编译与链接,makefile的基本格式如下:

target…
:prerequisite…
(Tab键)command
#格式解释
target:生成的目标文件,可以是可执行文件,也可以是中间目标文件
prerequisite:生成target所需要的文件
command:make需要的执行命令,一般是编译与链接的命令,命令前面必须要有Tab键才能有效果

makefile的简单例子(用的Ubuntu11.10):

gcc–chello.c:编译command目录下的hello.c源文件,编译之后会生成hello.o中间文件。
rm:删除command目录下的hello.o与exe.out文件
./exe.out:输出exe.out可执行文件,hello.c中写的是HelloWorld!
make:make命令与makeexe命令执行的效果是一样的。

7. linux中Makefile中:=表示意思,解释一下,谢谢

makefile中:=是指引用,比如 KDIR:= /lib/moles/2.6.30/build,其中文件路径太长,用KDIR来表示,在后面的语句中就可以用$KDIR来代指/lib/moles/2.6.30/build;其实就是为了方便程序的书写。记着引用时要在前面加$。 就类似于C语言变量的概念。

8. linux下makefile问题

A目录MAkefile内容是什么。cd ../A ?这里有问题 ,不是上一级目录,可以这样改:

make -C A/
make -C B/

9. linux里面的make和makefile是做什么的

1、make:是一个非常重要的编译命令,本质上它是一个程序。利用make工具,可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。

2、Makefile文件 :Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作,本质上makefile文件是个文本文件,用于配置编译过程。makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。makefile 文件是许多编译器--包括 Windows NT 下的编译器--维护编译信息的常用方法,只是在集成开发环境中,用户通过友好的界面修改 makefile 文件而已。

3、在 UNIX 系统中,习惯使用 Makefile 作为 makfile 文件。如果要使用其他文件作为 makefile,则可利用类似下面的 make 命令选项指定 makefile 文件:

$ make -f Makefile.debug

例如,一个名为prog的程序由三个C源文件filea.c、fileb.c和filec.c以及库文件LS编译生成,这三个文件还分别包含自己的头文件a.h 、b.h和c.h。通常情况下,C编译器将会输出三个目标文件filea.o、fileb.o和filec.o。假设filea.c和fileb.c都要声明用到一个名为defs的文件,但filec.c不用。即在filea.c和fileb.c里都有这样的声明:
#include "defs"
那么下面的文档就描述了这些文件之间的相互联系:
#It is a example for describing makefile
prog : filea.o fileb.o filec.o
cc filea.o fileb.o filec.o -LS -o prog
filea.o : filea.c a.h defs
cc -c filea.c
fileb.o : fileb.c b.h defs
cc -c fileb.c
filec.o : filec.c c.h
cc -c filec.c
这个描述文档就是一个简单的makefile文件。

10. 如何在linux下写makefile

Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。

make命令的选项与参数

然后就完了。

阅读全文

与linuxmakefile相关的资料

热点内容
oppor系列如何解除应用加密 浏览:596
程序员那么可爱姜逸城初恋 浏览:495
modbustcp编程 浏览:490
实况为什么安卓看不了 浏览:129
Java多线程Queue 浏览:94
云服务器499元三年 浏览:980
nbd源码 浏览:846
x86在arm上编译 浏览:7
linux怎么配置网络 浏览:307
程序员想要的小礼物 浏览:186
java获取网页url 浏览:624
怎么做解压神器泡泡版 浏览:966
自己动手做一个c编译器 浏览:929
手机如何链接谷歌服务器地址 浏览:137
废掉一个程序员的武功 浏览:249
java树形算法 浏览:641
通达信加锁指标源码怎么看 浏览:754
将同名文件移动到部分同名文件夹 浏览:403
摆荡指标加压力线源码 浏览:915
新一代单片机特征 浏览:770