前言

该文章只记录一个最基本的 Makefile 的实现,在阅读该文章前,我假设读者已经掌握了 Liunx之编译脚本Makefile介绍 知识点
害,好伤元气,一点都不想写这无意义的玩意儿,前方路漫漫,一步一步来吧~~~

测试项目说明
/*
project name : makefile_unit_testing
compile      : gcc
system       : ubuntu 18.04.4 -64bit
source level :
           main.c
           unit_log.h
           unit_log.c
*/
提醒

大可不必强迫自己去做一些伤元气的事,或者写一些伤元气的代码。一切为了部落,呼哈~~

目录
Makefile之一层功力代码实现
# 这个 Makefile 是一个比较完善的,也是基于显式规则产出的
makefile_unit_testing: unit_log.o main.o
	gcc -o makefile_unit_testing main.o unit_log.o
	
unit_log.o: unit_log.s
	gcc -c unit_log.s -o unit_log.o
	
unit_log.s: unit_log.i
	gcc -S unit_log.i
	
unit_log.i:
	gcc -E -o unit_log.i unit_log.c
	
main.o: main.s
	gcc -c main.s -o main.o

main.s: main.i
	gcc -S main.i

main.i: unit_log.c main.c
	gcc -E -o main.i main.c

.PHONE:
clean:
	rm -rf *.i *.s *.o makefile_unit_testing
Makefile测试结果

  1. 查看当前项目的目录
  2. make之后makefile执行的流程
  3. make完成后产生的编译文件和目标文件
posted on 2020-12-07 14:43  怪小子  阅读(85)  评论(0编辑  收藏  举报