Makefile 编译文件中的c文件,输出可执行文件main

2024-06-19 06:04

本文主要是介绍Makefile 编译文件中的c文件,输出可执行文件main,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Makefile文件

CC = aarch64-linux-gnu-gcc
CFLAGS =  
SRCS = $(wildcard *.c)
OBJS = $(SRCS:.c=.o)
TARGET = mainall: $(TARGET)$(TARGET): $(OBJS)$(CC) $(CFLAGS) -o $@ $^%.o: %.c$(CC) $(CFLAGS) -c $< -o $@clean:rm -f $(OBJS) $(TARGET)

执行make之后输出:

total 168
-rwxrw-r-- 1 build build  3185 Apr 15 06:27 can.c
-rwxrw-r-- 1 build build   353 Apr 15 06:27 can.h
-rw-rw-r-- 1 build build  5664 Jun 18 11:13 can.o
-rwxrw-r-- 1 build build  4736 Apr 15 06:27 i2c.c
-rwxrw-r-- 1 build build   717 Apr 15 06:27 i2c.h
-rw-rw-r-- 1 build build  7368 Jun 18 11:13 i2c.o
-rwxrwxr-x 1 build build 34664 Jun 18 11:13 main
-rwxrw-r-- 1 build build  2090 Apr 15 06:27 main.c
-rw-rw-r-- 1 build build  4672 Jun 18 11:13 main.o
-rwxrw-r-- 1 build build   246 Jun 18 10:27 Makefile
-rwxrw-r-- 1 build build   573 Apr 15 06:27 README.md
-rwxrw-r-- 1 build build 10416 Apr 15 06:27 spi.c
-rwxrw-r-- 1 build build  5439 Apr 15 06:27 spi.h
-rw-rw-r-- 1 build build 21720 Jun 18 11:13 spi.o
-rwxrw-r-- 1 build build  1654 Apr 15 06:27 system_cmd.c
-rwxrw-r-- 1 build build   166 Apr 15 06:27 system_cmd.h
-rw-rw-r-- 1 build build  3400 Jun 18 11:13 system_cmd.o
-rwxrw-r-- 1 build build  4724 Apr 15 06:27 uart.c
-rwxrw-r-- 1 build build   566 Apr 15 06:27 uart.h
-rw-rw-r-- 1 build build  7384 Jun 18 11:13 uart.o

打包生成了main这个可执行文件,可以放到开发板上进行测试了

这篇关于Makefile 编译文件中的c文件,输出可执行文件main的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1074208

相关文章

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

Python将字库文件打包成可执行文件的常见方法

《Python将字库文件打包成可执行文件的常见方法》在Python打包时,如果你想将字库文件一起打包成一个可执行文件,有几种常见的方法,具体取决于你使用的打包工具,下面就跟随小编一起了解下具体的实现方... 目录使用 PyInstaller基本方法 - 使用 --add-data 参数使用 spec 文件(

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

python多种数据类型输出为Excel文件

《python多种数据类型输出为Excel文件》本文主要介绍了将Python中的列表、元组、字典和集合等数据类型输出到Excel文件中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一.列表List二.字典dict三.集合set四.元组tuplepython中的列表、元组、字典