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

相关文章

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中的列表、元组、字典

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2