Makefile第二讲:打印出内容和使用变量

简介: 摘要 `@echo "开始生成最终执行文件,请稍候..."`这一句便是将一条信息输出到终端,为何前边有个`@`符号呢?有了这个符号该命令本身就不会输出到终端(不理解,自己去掉或者加上`@`符号试试),实验证明,字符串可以不加引号。

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

 

main.cpp

#include <iostream>
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)
目录
相关文章
|
6月前
|
存储 Shell 编译器
makefile 变量赋值方式
makefile 变量赋值方式
55 1
|
6月前
makefile 变量的替换,嵌套引用,命令行变量
makefile 变量的替换,嵌套引用,命令行变量
52 1
|
9月前
C --- 自定义一个宏打印当前文件名、函数名、行号
C --- 自定义一个宏打印当前文件名、函数名、行号
120 0
|
Shell 索引
shell脚本变量详解(自定义变量、环境变量、变量赋值、变量运算、变量内容替换)
shell变量 shell变量是指用一个特定的字符串去表示不固定的内容 1.变量的类型 1.1自定义变量 一般情况下不怎么使用环境变量,如果需要在其他文件中引入某个文件的变量则在脚本最开始的位置使用source 或者. 执行下该脚本即可
1906 0
shell脚本变量详解(自定义变量、环境变量、变量赋值、变量运算、变量内容替换)
goland 无法导入某些文件的变量、结构体、函数
goland 无法导入某些文件的变量、结构体、函数
|
Python
Python输出当前代码信息:文件,行号,函数名
Python输出当前代码信息:文件,行号,函数名
116 0
Python输出当前代码信息:文件,行号,函数名
定义带参数的C宏,方便输出调试信息
定义带参数的C宏,方便输出调试信息
54 0
【WRF如何在输出的wrfoutput文件中设置添加/删除变量】
【WRF如何在输出的wrfoutput文件中设置添加/删除变量】
脚本变量中包含空格的解决办法
脚本变量中包含空格的解决办法
167 0
|
C++ C语言
用C++输出九九乘法表(附带makefile文件)
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 闲来无事,写个简单的九九乘法表玩玩。具体代码如下: #include using namespace std; int main(int argc, cha...
1749 0