首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Makefile不重建依赖项

Makefile不重建依赖项
EN

Stack Overflow用户
提问于 2012-10-15 01:05:03
回答 2查看 400关注 0票数 0

我刚开始使用makefile,并尝试生成一个基本的makefile作为大学练习的一部分。我有两个源代码文件,chello.c和writeexit.s,它们必须经过编译/汇编,然后链接到生成chello。

这是我到目前为止为makefile编写的代码:

代码语言:javascript
复制
chello: chello.o  writeexit.o
  ld -N chello.o writeexit.o -o chello

chello.o: chello.c
  gcc -c chello.c -o chello.o

writeexit.o: writeexit.s
  as writeexit.s -o writeexit.o

ld、gcc和as前面的空格都是制表符,所以我认为空格是可以的。当我调用'make makefile‘时,它返回'make: Nothing to be to for’makefile‘。’但是,如果我更改了chello的依赖项,比如chello.c,则返回相同的消息,并且chello的行为不会被修改。

EN

回答 2

Stack Overflow用户

发布于 2012-10-15 01:18:01

来自man make

make执行makefile中的命令以更新一个或多个目标名称,其中名称通常是程序。如果不存在makefile选项,make将按顺序查找Makefile GNUmakefile、Makefile和Makefile。

make makefile实际上将执行您的"makefile“文件(因为它列在手册页中的默认名称中),并尝试构建已经存在的"makefile”目标(因为您传递的参数

您需要的是构建"chello“二进制文件,因此您必须键入:

make chello

或者:

make -f makefile chello

票数 2
EN

Stack Overflow用户

发布于 2012-10-15 01:17:54

这里是另一个帐户,如果我只调用"make“而不是"make makefile”,它似乎工作得很好。这个问题可以忽略不计。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12884503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档