liteOS-A学习笔记-04 Liteos-a的编译系统-4-1_怎么编译子目录

我们以编译文件系统为例讲解过程,核心就是子系统的makefile。
首先,config.mk文件定义的通用的编译选项和宏定义;
其次,定义好本地的源文件头文件和编译选项;
最后,定义哪些文件生成这个结果以及生成的方法。

step1:

Openharmony_CommentByLine\kernel_liteos_a_note\fs\fat\makefile

下面的makefile的1~4包含了编译文件系统源文件的路径和头文件路径以及编译选项。

################################################################
# 5. $(LITEOSTOPDIR):表示内核顶层目录(OpenharmonyFor6ull_Weidongshan\kernel\liteos_a)里面的config.mk
include $(LITEOSTOPDIR)/config.mk

################################################################
# 1. $(shell pwd)表示:当前目录 Openharmony_CommentByLine\kernel_liteos_a_note\fs\fat
# $(notdir $(shell pwd))表示:去掉前缀即fat
MODULE_NAME := $(notdir $(shell pwd)) 

################################################################
# 2. LOCAL_SRCS表示:本地源文件,
# 当前目录下os_adapt文件夹下面所有的*.c文件即fat_shellcmd.c和fatfs.c
LOCAL_SRCS := $(wildcard os_adapt/*.c)
# 还包含了另外的路径下(third_party\FatFs\source)的*.c
LOCAL_SRCS += $(wildcard $(LITEOSTHIRDPARTY)/FatFs/source/*.c)
################################################################
# 3. LOCAL_INCLUDE 表示:本地源文件对应的头文件
LOCAL_INCLUDE := \
    -I $(LITEOSTHIRDPARTY)/FatFs/source \
    -I $(LITEOSTOPDIR)/fs/fat/virpart/include

################################################################
# 4. LOCAL_FLAGS 表示:本地编译选项
LOCAL_FLAGS := $(LOCAL_INCLUDE) $(LITEOS_GCOV_OPTS)

################################################################
# 6.如何链接
# $(MODULE)表示路径:kernel\liteos_a\tools\build\mk\module.mk
include $(MODULE)

step2:上面的5.定义了通用编译选项

源文件如下

OpenharmonyFor6ull_Weidongshan\kernel\liteos_a\config.mk

############### this is a makefile that you can config it ###############
-include $(LITEOSTOPDIR)/tools/build/mk/los_config.mk

TOP_LD_PATH      = $(LITEOSTOPDIR)
SCRIPTS_PATH     = $(LITEOS_SCRIPTPATH)
LITEOS_MK_PATH   = $(MK_PATH)
LITEOS_SUBDIRS   = $(LIB_SUBDIRS)
LIB_BIGODIR      = $(LITEOS_LIB_BIGODIR)

##### liteos tables -u ldflags #####
# 内核的各种通用编译选项
-include $(LITEOS_MK_PATH)/liteos_tables_ldflags.mk


LITEOS_COPTS   := $(LITEOS_COPTS_DEBUG) $(LITEOS_COPTS_BASE)  \
                  $(LITEOS_COPTS_EXTRA) $(LITEOS_CORE_COPTS)
LITEOS_CXXOPTS  := $(LITEOS_CXXOPTS_BASE)
LITEOS_INCLUDE  := $(LITEOS_KERNEL_INCLUDE)  $(LITEOS_EXTKERNEL_INCLUDE) \
                   $(LITEOS_COMPAT_INCLUDE)  $(LITEOS_FS_INCLUDE) \
                   $(LITEOS_NET_INCLUDE)     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值