Makefile模板之 sub.c main.c

简介: <pre code_snippet_id="92121" snippet_file_name="blog_20131202_1_1518773" name="code" class="plain"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 18px;">arm-linux-objcopy被用来复制一
arm-linux-objcopy被用来复制一个目标文件的内容到另一个文件中,可以使用不同于源文件的格式来输出目的文件,即可以进行格式转换。用来将ELF格式的可执行文件转换为二进制文件。

arm-linux-objdump用于显示二进制文件信息,常用来查看反汇编代码。

src := $(shell ls *.c)
objs := $(patsubst %.c, %.o, $(src))


target: $(objs)
	gcc -o $@ $^
%.o:%.c
	gcc -c -o $@ $<
clean:
	rm -rf target *.o

_________________________________________________________________________________________

sub.c / sub.h /main.c三个文件:
gcc -c sub.c -o sub.o
gcc -c main.c -o main.o
gcc main.o sub.o -o test
./test

不想提供源码时,可以编译成静态库:
gcc -c sub.c -o sub.o
gcc -shared sub.o -o sub.a
gcc main.o -o test ./sub.a

———————————————————————————————————————————————————

 汇编  gcc -S sub.c -o sub.s 
预处理 gcc -E sub.c 

目录
相关文章
|
2月前
|
IDE 编译器 Shell
初玩Makefile与Go项目中Makefile的简单使用
初玩Makefile与Go项目中Makefile的简单使用
36 0
|
3月前
好用的 自定义Makefile文件
好用的 自定义Makefile文件
13 0
|
3月前
|
计算机视觉
基于opencv的Makefile模板
基于opencv的Makefile模板
|
9月前
CPP2022-01-Helloworld
CPP2022-01-Helloworld
32 0
|
10月前
|
C++
Clion配置单个project下可以运行多个CPP文件的main函数
Clion配置单个project下可以运行多个CPP文件的main函数
729 0
在ROS 中 功能包 中将类的函数定义 与 声明 分开 文件写 用main.cpp 调用 如何配置 CmakeList.txt
在ROS 中 功能包 中将类的函数定义 与 声明 分开 文件写 用main.cpp 调用 如何配置 CmakeList.txt
在ROS 中 功能包 中将类的函数定义  与 声明 分开 文件写  用main.cpp 调用  如何配置  CmakeList.txt
替换 lib/main.dart.
替换 lib/main.dart.
92 0
|
Java
【错误记录】Groovy工程中的文件查找策略 ( main 函数中需要使用 src/main/groovy/Script.groovy | Groovy 脚本直接使用代码相对路径 )
【错误记录】Groovy工程中的文件查找策略 ( main 函数中需要使用 src/main/groovy/Script.groovy | Groovy 脚本直接使用代码相对路径 )
142 0
【错误记录】Groovy工程中的文件查找策略 ( main 函数中需要使用 src/main/groovy/Script.groovy | Groovy 脚本直接使用代码相对路径 )
Ogrekit共享库main.cpp源码
Ogrekit共享库main.cpp源码
55 0