苏嵌//孙勇//2018.7.11

苏嵌                                                                                                                                   项目实战

学习日志                                       姓名:   孙勇                    日期:2018.7.11

 

 

今日学习任务

 

1、调试器gdb的介绍与简单命令的使用;                                         

2、工程管理器 make;

3、makefile语法的三要素;

4、Makefile的编写。      

今日任务完成情况

 

(详细说明本日任务是否按计划完成,开发的代码量)

 今日任务按要求完成,基本掌握gdb一些简单命令的使用以及简单makefile的编写。

今日开发中出现的问题汇总

 

 makefile编写完成后输入make出现没有规则可以创建目标

 

今日未解决问题

 

 无

今日开发收获

 了解了gdb的三个功能以及简单命令的使用,知道了工程管理器make的基本构成,学会了编写makefile文件。

 

自我评价

 

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

 

  今天总体还能跟上老师的进度,一些重点课后还需要时间多复习消化。

其他

 

 无


Makefile:

modules_make = $(MAKE) -C $(1);

modules_clean = $(MAKE) clean -C $(1);


.PHONY: all mm mc clean


all: $(Target)


mm:
@ $(foreach n,$(Modules),$(call modules_make,$(n)))
mc:
@ $(foreach n,$(Modules),$(call modules_clean,$(n)))


$(Target) : mm
$(CC) $(CFLAGS) -o $(Target) $(AllObjs) $(Libs)
@ echo $(Target) make done!


clean : mc
rm -rf $(Target)

@ echo clean done!


scripts/Makefile:

CC := gcc
CFLAGS := -Wall -O3
Libs = -lpthread
Target := cal
Source := $(wildcard src/*.c)
Objs := $(patsubst %.c,%.o,$(Source))
Modules += main add sub mul div

AllObjs := $(addsuffix /src/*.o,$(Modules))


add/makefile:

all : $(Objs)


clean : 
rm -rf $(Objs)




猜你喜欢

转载自blog.csdn.net/ygbrother/article/details/81003858