添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

摘要 `@echo "开始生成最终执行文件,请稍候..."`这一句便是将一条信息输出到终端,为何前边有个`@`符号呢?有了这个符号该命令本身就不会输出到终端(不理解,自己去掉或者加上`@`符号试试),实验证明,字符串可以不加引号。 看到`OBJS = main.o`了吗?这就是变量的定义,变量定义遵循一般语言的变量命名规则,可以是`_`和`$`开头,变量的值无论是字符串还是什么,都可以不要引号;有一种情况必须不要引号,就像上例这种,具体的....自己尝试吧。

Makefile

main.cpp

#include 
using namespace std; int main() { cout <<"Hello makefile"; return 0; } 

makefile

OBJS = main.o
test:$(OBJS)
    @echo "开始生成最终执行文件,请稍候..."
    g++ main.o -o test
main.o:main.cpp g++ -c main.cpp -o main.o clean: rm main.o test 
  • @echo "开始生成最终执行文件,请稍候..." 这一句便是将一条信息输出到终端,为何前边有个 @ 符号呢?有了这个符号该命令本身就不会输出到终端(不理解,自己去掉或者加上 @ 符号试试),实验证明,字符串可以不加引号。
  • 看到 OBJS = main.o 了吗?这就是变量的定义,变量定义遵循一般语言的变量命名规则,可以是 _ $ 开头,变量的值无论是字符串还是什么,都可以不要引号;有一种情况必须不要引号,就像上例这种,具体的….自己尝试吧。
  • $(OBJS) 这是对变量的调用。
  • 还可以把shell命令的返回值作赋给变量,例如将当前目录的路径赋值给变量: CURRENT_DIR = $(shell pwd)
  •