第二十一课 打造专业的编译环境(中)

Posted wanmeishenghuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二十一课 打造专业的编译环境(中)相关的知识,希望对你有一定的参考价值。

技术分享图片

 

技术分享图片

 

技术分享图片

 

技术分享图片

 

技术分享图片

 

技术分享图片

 

技术分享图片

技术分享图片

 

 1 .PHONY : all compile link clean rebuild
 2 
 3 MODULES := common  4            module  5            main
 6            
 7 MKDIR := mkdir
 8 RM := rm -fr
 9 
10 CC := gcc
11 LFLAGS := 
12 
13 DIR_PROJECT := $(realpath .)
14 DIR_BUILD := build
15 DIR_BUILD_SUB := $(addprefix $(DIR_BUILD)/, $(MODULES))
16 MODULE_LIB := $(addsuffix .a, $(MODULES))
17 MODULE_LIB := $(addprefix $(DIR_BUILD)/, $(MODULE_LIB))
18 
19 APP := app.out
20 APP := $(addprefix $(DIR_BUILD)/, $(APP))
21 
22 all : compile $(APP)
23     @echo "Success! Target ==> $(APP)"
24 
25 compile : $(DIR_BUILD) $(DIR_BUILD_SUB)
26     @echo "Begin to compile ..."
27     @set -e; 28     for dir in $(MODULES); 29     do 30         cd $$dir && $(MAKE) all DEBUG:=$(DEBUG) && cd .. ; 31     done
32     @echo "Compile Success!"
33     
34 link $(APP) : $(MODULE_LIB)
35     @echo "Begin to link ..."
36     $(CC) -o $(APP) -Xlinker "-(" $^ -Xlinker "-)" $(LFLAGS)
37     @echo "Link Success!"
38     
39 $(DIR_BUILD) $(DIR_BUILD_SUB) : 
40     $(MKDIR) [email protected]
41     
42 clean : 
43     @echo "Begin to clean ..."
44     $(RM) $(DIR_BUILD)
45     @echo "Clean Success!"
46     
47 rebuild : clean all

 

技术分享图片

 

以上是关于第二十一课 打造专业的编译环境(中)的主要内容,如果未能解决你的问题,请参考以下文章

第二十二课 打造专业的编译环境(下)

Python第二十一课(反射/元类)

第二册二十一课

python第二十一课——str中的常用函数(重要)

第二十一课 线性表的链式存储结构

快学Scala 第二十一课 (初始化trait的抽象字段)