!556 更新Makefile删除一些历史遗留无用代码并优化部分逻辑
Merge pull request !556 from Caoruihong/update_makefile
This commit is contained in:
commit
f4409babd4
|
@ -17,9 +17,9 @@ tags
|
||||||
|
|
||||||
# Menuconfig temp files
|
# Menuconfig temp files
|
||||||
/config.h
|
/config.h
|
||||||
.config
|
/defconfig
|
||||||
.config.old
|
/.config
|
||||||
|
/.config.old
|
||||||
|
|
||||||
# Build temp files
|
# Build temp files
|
||||||
/platform/board.ld
|
|
||||||
/out
|
/out
|
||||||
|
|
266
Makefile
266
Makefile
|
@ -27,35 +27,52 @@
|
||||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
LITEOSTOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
|
LITEOSTOPDIR := $(realpath $(dir $(firstword $(MAKEFILE_LIST))))
|
||||||
export OS=$(shell uname -s)
|
|
||||||
ifneq ($(OS), Linux)
|
|
||||||
LITEOSTOPDIR := $(shell dirname $(subst \,/,$(LITEOSTOPDIR))/./)
|
|
||||||
endif
|
|
||||||
|
|
||||||
LITEOSTHIRDPARTY := $(LITEOSTOPDIR)/../../third_party
|
LITEOSTHIRDPARTY := $(LITEOSTOPDIR)/../../third_party
|
||||||
|
|
||||||
export LITEOSTOPDIR
|
export LITEOSTOPDIR
|
||||||
export LITEOSTHIRDPARTY
|
export LITEOSTHIRDPARTY
|
||||||
|
|
||||||
RM = -rm -rf
|
|
||||||
MAKE = make
|
|
||||||
__LIBS = libs
|
|
||||||
APPS = apps
|
APPS = apps
|
||||||
ROOTFSDIR = rootfsdir
|
|
||||||
ROOTFS = rootfs
|
ROOTFS = rootfs
|
||||||
|
|
||||||
LITEOS_TARGET = liteos
|
LITEOS_TARGET = liteos
|
||||||
LITEOS_LIBS_TARGET = libs_target
|
LITEOS_LIBS_TARGET = libs
|
||||||
LITEOS_PLATFORM_BASE = $(LITEOSTOPDIR)/platform
|
|
||||||
|
# by the following eval, we would got some variables like these:
|
||||||
|
# ohos_root_path=/xx
|
||||||
|
# ohos_board=hispark_taurus
|
||||||
|
# ohos_kernel=liteos_a
|
||||||
|
# ohos_product=ipcamera_hispark_taurus
|
||||||
|
# ohos_product_path=/xx/vendor/hisilicon/hispark_taurus
|
||||||
|
# ohos_device_path=/xx/device/hisilicon/hispark_taurus/sdk_liteos
|
||||||
|
ohos_kernel ?= liteos_a
|
||||||
|
$(foreach line,$(shell hb env | sed 's/\[OHOS INFO\]/ohos/g;s/ /_/g;s/:_/=/g' || true),$(eval $(line)))
|
||||||
|
|
||||||
|
ifneq ($(ohos_kernel),liteos_a)
|
||||||
|
$(error The selected product ($(ohos_product)) is not a liteos_a kernel type product)
|
||||||
|
endif
|
||||||
|
|
||||||
export CONFIG_=LOSCFG_
|
export CONFIG_=LOSCFG_
|
||||||
|
export srctree=$(LITEOSTOPDIR)
|
||||||
|
|
||||||
|
SYSROOT_PATH ?= $(LITEOSTOPDIR)/../../prebuilts/lite/sysroot
|
||||||
|
export SYSROOT_PATH
|
||||||
|
|
||||||
|
LITEOS_MENUCONFIG_H ?= $(LITEOSTOPDIR)/config.h
|
||||||
|
export LITEOS_MENUCONFIG_H
|
||||||
|
|
||||||
|
CONFIG_FILE ?= $(LITEOSTOPDIR)/.config
|
||||||
|
export CONFIG_FILE
|
||||||
|
|
||||||
ifeq ($(PRODUCT_PATH),)
|
ifeq ($(PRODUCT_PATH),)
|
||||||
export PRODUCT_PATH=$(shell hb env|grep "product path:"|sed 's/.*: //g')
|
PRODUCT_PATH:=$(ohos_product_path)
|
||||||
endif
|
endif
|
||||||
|
export PRODUCT_PATH
|
||||||
|
|
||||||
ifeq ($(DEVICE_PATH),)
|
ifeq ($(DEVICE_PATH),)
|
||||||
export DEVICE_PATH=$(shell hb env|grep "device path:"|sed 's/.*: //g')
|
DEVICE_PATH:=$(ohos_device_path)
|
||||||
endif
|
endif
|
||||||
|
export DEVICE_PATH
|
||||||
|
|
||||||
ifeq ($(TEE:1=y),y)
|
ifeq ($(TEE:1=y),y)
|
||||||
tee = _tee
|
tee = _tee
|
||||||
|
@ -66,7 +83,8 @@ else
|
||||||
CONFIG ?= $(PRODUCT_PATH)/kernel_configs/debug$(tee).config
|
CONFIG ?= $(PRODUCT_PATH)/kernel_configs/debug$(tee).config
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(shell env CONFIG_=$(CONFIG_) DEVICE_PATH=$(DEVICE_PATH) olddefconfig >/dev/null)
|
KCONFIG_CONFIG ?= $(CONFIG)
|
||||||
|
export KCONFIG_CONFIG
|
||||||
|
|
||||||
-include $(LITEOSTOPDIR)/tools/build/config.mk
|
-include $(LITEOSTOPDIR)/tools/build/config.mk
|
||||||
|
|
||||||
|
@ -86,41 +104,36 @@ ROOTFS_DIR = $(OUT)/rootfs
|
||||||
ROOTFS_ZIP = $(OUT)/rootfs.zip
|
ROOTFS_ZIP = $(OUT)/rootfs.zip
|
||||||
VERSION =
|
VERSION =
|
||||||
|
|
||||||
SYSROOT_PATH ?= $(LITEOSTOPDIR)/../../prebuilts/lite/sysroot
|
define HELP =
|
||||||
export SYSROOT_PATH
|
-------------------------------------------------------
|
||||||
|
Usage: make [TARGET]... [PARAMETER=VALUE]...
|
||||||
|
|
||||||
all: $(OUT) $(BUILD) $(LITEOS_TARGET) $(APPS)
|
Targets:
|
||||||
lib: $(OUT) $(BUILD) $(LITEOS_LIBS_TARGET)
|
help: display this help and exit
|
||||||
|
clean: clean compiled objects
|
||||||
|
cleanall: clean all build outputs
|
||||||
|
all: make liteos kernel image and rootfs image (Default target)
|
||||||
|
rootfs: make a original rootfs image
|
||||||
|
$(LITEOS_LIBS_TARGET): compile all kernel modules (libraries)
|
||||||
|
$(LITEOS_TARGET): make liteos kernel image
|
||||||
|
update_config: update product kernel config (use menuconfig)
|
||||||
|
test: make the testsuits_app and put it into the rootfs dir
|
||||||
|
test_apps: make a rootfs img with the testsuits_app in it
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
FSTYPE: value should be one of (jffs2 vfat yaffs2)
|
||||||
|
TEE: boolean value(1 or y for true), enable tee
|
||||||
|
RELEASE: boolean value(1 or y for true), build release version
|
||||||
|
CONFIG: kernel config file to be use
|
||||||
|
-------------------------------------------------------
|
||||||
|
endef
|
||||||
|
export HELP
|
||||||
|
|
||||||
|
all: $(LITEOS_TARGET) $(ROOTFS)
|
||||||
|
|
||||||
help:
|
help:
|
||||||
$(HIDE)echo "-------------------------------------------------------"
|
$(HIDE)echo "$$HELP"
|
||||||
$(HIDE)echo "1.====make help: get help infomation of make"
|
|
||||||
$(HIDE)echo "2.====make: make a debug version based the .config"
|
|
||||||
$(HIDE)echo "3.====make debug: make a debug version based the .config"
|
|
||||||
$(HIDE)echo "4.====make release: make a release version for all platform"
|
|
||||||
$(HIDE)echo "5.====make release PLATFORM=xxx: make a release version only for platform xxx"
|
|
||||||
$(HIDE)echo "6.====make rootfsdir: make a original rootfs dir"
|
|
||||||
$(HIDE)echo "7.====make rootfs FSTYPE=***: make a original rootfs img"
|
|
||||||
$(HIDE)echo "8.====make test: make the testsuits_app and put it into the rootfs dir"
|
|
||||||
$(HIDE)echo "9.====make test_apps FSTYPE=***: make a rootfs img with the testsuits_app in it"
|
|
||||||
$(HIDE)echo "xxx should be one of (hi3516cv300 hi3516ev200 hi3556av100/cortex-a53_aarch32 hi3559av100/cortex-a53_aarch64)"
|
|
||||||
$(HIDE)echo "*** should be one of (jffs2)"
|
|
||||||
$(HIDE)echo "-------------------------------------------------------"
|
|
||||||
|
|
||||||
debug:
|
|
||||||
$(HIDE)echo "=============== make a debug version ==============="
|
|
||||||
$(HIDE) $(MAKE) all
|
|
||||||
|
|
||||||
release:
|
|
||||||
ifneq ($(PLATFORM),)
|
|
||||||
$(HIDE)echo "=============== make a release version for platform $(PLATFORM) ==============="
|
|
||||||
$(HIDE)$(SCRIPTS_PATH)/mklibversion.sh $(PLATFORM)
|
|
||||||
else
|
|
||||||
$(HIDE)echo "================make a release version for all platform ==============="
|
|
||||||
$(HIDE)$(SCRIPTS_PATH)/mklibversion.sh
|
|
||||||
endif
|
|
||||||
|
|
||||||
##### make sysroot #####
|
|
||||||
sysroot:
|
sysroot:
|
||||||
ifeq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
ifeq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
||||||
ifeq ($(wildcard $(SYSROOT_PATH)/usr/include/$(LLVM_TARGET)/),)
|
ifeq ($(wildcard $(SYSROOT_PATH)/usr/include/$(LLVM_TARGET)/),)
|
||||||
|
@ -129,105 +142,74 @@ endif
|
||||||
$(HIDE)echo "sysroot:" $(abspath $(SYSROOT_PATH))
|
$(HIDE)echo "sysroot:" $(abspath $(SYSROOT_PATH))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
##### make dynload #####
|
KCONFIG_CMDS := $(notdir $(wildcard $(dir $(shell which menuconfig))*config))
|
||||||
-include $(LITEOS_MK_PATH)/dynload.mk
|
|
||||||
|
|
||||||
#-----need move when make version-----#
|
|
||||||
##### make lib #####
|
|
||||||
$(__LIBS): $(OUT) $(CXX_INCLUDE)
|
|
||||||
|
|
||||||
$(OUT): $(LITEOS_MENUCONFIG_H)
|
|
||||||
$(HIDE)mkdir -p $(OUT)/lib
|
|
||||||
$(HIDE)$(CC) -I$(LITEOSTOPDIR)/kernel/base/include -I$(LITEOSTOPDIR)/../../$(LOSCFG_BOARD_CONFIG_PATH) \
|
|
||||||
-I$(LITEOS_PLATFORM_BASE)/include -imacros $< -E $(LITEOS_PLATFORM_BASE)/board.ld.S \
|
|
||||||
-o $(LITEOS_PLATFORM_BASE)/board.ld -P
|
|
||||||
|
|
||||||
$(BUILD):
|
|
||||||
$(HIDE)mkdir -p $(BUILD)
|
|
||||||
|
|
||||||
$(LITEOS_LIBS_TARGET): $(__LIBS) sysroot
|
|
||||||
$(HIDE)for dir in $(LIB_SUBDIRS); \
|
|
||||||
do $(MAKE) -C $$dir all || exit 1; \
|
|
||||||
done
|
|
||||||
$(HIDE)echo "=============== make lib done ==============="
|
|
||||||
|
|
||||||
##### make menuconfig #####
|
|
||||||
KCONFIG_CMDS = $(notdir $(wildcard $(dir $(shell which menuconfig))*config))
|
|
||||||
$(KCONFIG_CMDS):
|
$(KCONFIG_CMDS):
|
||||||
$(HIDE)$@ $(args)
|
$(HIDE)$@ $(args)
|
||||||
##### menuconfig end #######
|
|
||||||
|
|
||||||
$(LITEOS_MENUCONFIG_H): .config
|
$(LITEOS_MENUCONFIG_H) $(CONFIG_FILE): $(KCONFIG_CONFIG)
|
||||||
$(HIDE)genconfig
|
$(HIDE)genconfig --config-out $(CONFIG_FILE) --header-path $(LITEOS_MENUCONFIG_H) $(args)
|
||||||
|
|
||||||
$(LITEOS_TARGET): $(__LIBS) sysroot
|
|
||||||
$(HIDE)touch $(LOSCFG_ENTRY_SRC)
|
|
||||||
|
|
||||||
$(HIDE)for dir in $(LITEOS_SUBDIRS); \
|
|
||||||
do $(MAKE) -C $$dir all || exit 1; \
|
|
||||||
done
|
|
||||||
|
|
||||||
$(LD) $(LITEOS_LDFLAGS) $(LITEOS_TABLES_LDFLAGS) $(LITEOS_DYNLDFLAGS) -Map=$(OUT)/$@.map -o $(OUT)/$@ --start-group $(LITEOS_LIBDEP) --end-group
|
|
||||||
# $(SIZE) -t --common $(OUT)/lib/*.a >$(OUT)/$@.objsize
|
|
||||||
$(OBJCOPY) -O binary $(OUT)/$@ $(LITEOS_TARGET_DIR)/$@.bin
|
|
||||||
$(OBJDUMP) -t $(OUT)/$@ |sort >$(OUT)/$@.sym.sorted
|
|
||||||
$(OBJDUMP) -d $(OUT)/$@ >$(OUT)/$@.asm
|
|
||||||
# $(NM) -S --size-sort $(OUT)/$@ >$(OUT)/$@.size
|
|
||||||
|
|
||||||
$(APPS): $(LITEOS_TARGET) sysroot
|
|
||||||
$(HIDE)$(MAKE) -C apps all
|
|
||||||
|
|
||||||
prepare:
|
|
||||||
$(HIDE)mkdir -p $(OUT)/musl
|
|
||||||
ifeq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
|
||||||
$(HIDE)cp -fp $$($(CC) --target=$(LLVM_TARGET) --sysroot=$(SYSROOT_PATH) $(LITEOS_CFLAGS) -print-file-name=libc.so) $(OUT)/musl
|
|
||||||
$(HIDE)cp -fp $$($(GPP) --target=$(LLVM_TARGET) --sysroot=$(SYSROOT_PATH) $(LITEOS_CXXFLAGS) -print-file-name=libc++.so) $(OUT)/musl
|
|
||||||
else
|
|
||||||
$(HIDE)cp -fp $(LITEOS_COMPILER_PATH)/target/usr/lib/libc.so $(OUT)/musl
|
|
||||||
$(HIDE)cp -fp $(LITEOS_COMPILER_PATH)/arm-linux-musleabi/lib/libstdc++.so.6 $(OUT)/musl
|
|
||||||
$(HIDE)cp -fp $(LITEOS_COMPILER_PATH)/arm-linux-musleabi/lib/libgcc_s.so.1 $(OUT)/musl
|
|
||||||
$(STRIP) $(OUT)/musl/*
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(ROOTFSDIR): prepare $(APPS)
|
|
||||||
$(HIDE)$(MAKE) clean -C apps
|
|
||||||
$(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsdir.sh $(OUT) $(ROOTFS_DIR) $(LITEOS_TARGET_DIR)
|
|
||||||
ifneq ($(VERSION),)
|
|
||||||
$(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/releaseinfo.sh "$(VERSION)" $(ROOTFS_DIR) $(LITEOS_TARGET_DIR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(ROOTFS): $(ROOTFSDIR)
|
|
||||||
$(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsimg.sh $(ROOTFS_DIR) $(FSTYPE)
|
|
||||||
$(HIDE)cd $(ROOTFS_DIR)/.. && zip -r $(ROOTFS_ZIP) $(ROOTFS)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(HIDE)for dir in $(LITEOS_SUBDIRS); \
|
|
||||||
do $(MAKE) -C $$dir clean|| exit 1; \
|
|
||||||
done
|
|
||||||
$(HIDE)$(MAKE) -C apps clean
|
|
||||||
$(HIDE)$(RM) $(__OBJS) $(LITEOS_TARGET) $(BUILD) $(LITEOS_MENUCONFIG_H) *.bak *~
|
|
||||||
$(HIDE)$(RM) include/config include/generated
|
|
||||||
$(HIDE)$(MAKE) cleanrootfs
|
|
||||||
$(HIDE)echo "clean $(LITEOS_PLATFORM) finish"
|
|
||||||
|
|
||||||
cleanall: clean
|
|
||||||
$(HIDE)$(RM) $(LITEOSTOPDIR)/out $(LITEOS_PLATFORM_BASE)/board.ld
|
|
||||||
$(HIDE)echo "clean all done"
|
|
||||||
|
|
||||||
cleanrootfs:
|
|
||||||
$(HIDE)$(RM) $(OUT)/rootfs
|
|
||||||
$(HIDE)$(RM) $(OUT)/rootfs.zip
|
|
||||||
$(HIDE)$(RM) $(OUT)/rootfs.img
|
|
||||||
|
|
||||||
update_all_config:
|
|
||||||
$(HIDE)shopt -s globstar && for f in tools/build/config/**/*.config ; \
|
|
||||||
do \
|
|
||||||
echo updating $$f; \
|
|
||||||
test -f $$f && cp $$f .config && olddefconfig && savedefconfig --out $$f; \
|
|
||||||
done
|
|
||||||
|
|
||||||
update_config:
|
update_config:
|
||||||
$(HIDE)test -f "$(CONFIG)" && cp -v "$(CONFIG)" .config && menuconfig && savedefconfig --out "$(CONFIG)"
|
$(HIDE)test -f "$(CONFIG)" && cp -v "$(CONFIG)" .config && menuconfig && savedefconfig --out "$(CONFIG)"
|
||||||
|
|
||||||
.PHONY: all lib clean cleanall $(LITEOS_TARGET) debug release help update_all_config update_config
|
prepare: $(LITEOS_MENUCONFIG_H)
|
||||||
.PHONY: prepare sysroot cleanrootfs $(ROOTFS) $(ROOTFSDIR) $(APPS) $(KCONFIG_CMDS) $(LITEOS_LIBS_TARGET) $(__LIBS) $(OUT)
|
$(HIDE)mkdir -p $(OUT)/musl $(OUT)/lib $(BUILD)
|
||||||
|
|
||||||
|
$(LITEOS_LIBS_TARGET): prepare
|
||||||
|
$(HIDE)touch $(LOSCFG_ENTRY_SRC)
|
||||||
|
$(HIDE)for dir in $(LITEOS_SUBDIRS); do $(MAKE) -C $$dir all || exit 1; done
|
||||||
|
|
||||||
|
$(LITEOS_TARGET): $(OUT)/$(LITEOS_TARGET)
|
||||||
|
$(LITEOS_TARGET): $(OUT)/$(LITEOS_TARGET).map
|
||||||
|
#$(LITEOS_TARGET): $(OUT)/$(LITEOS_TARGET).objsize
|
||||||
|
$(LITEOS_TARGET): $(LITEOS_TARGET_DIR)/$(LITEOS_TARGET).bin
|
||||||
|
$(LITEOS_TARGET): $(OUT)/$(LITEOS_TARGET).sym.sorted
|
||||||
|
$(LITEOS_TARGET): $(OUT)/$(LITEOS_TARGET).asm
|
||||||
|
#$(LITEOS_TARGET): $(OUT)/$(LITEOS_TARGET).size
|
||||||
|
|
||||||
|
$(OUT)/$(LITEOS_TARGET): $(LITEOS_LIBS_TARGET)
|
||||||
|
$(LD) $(LITEOS_LDFLAGS) $(LITEOS_TABLES_LDFLAGS) -Map=$@.map -o $@ --start-group $(LITEOS_LIBDEP) --end-group
|
||||||
|
$(OUT)/$(LITEOS_TARGET).map: $(OUT)/$(LITEOS_TARGET)
|
||||||
|
$(OUT)/$(LITEOS_TARGET).objsize: $(LITEOS_LIBS_TARGET)
|
||||||
|
$(SIZE) -t --common $(OUT)/lib/*.a >$@
|
||||||
|
$(LITEOS_TARGET_DIR)/$(LITEOS_TARGET).bin: $(OUT)/$(LITEOS_TARGET)
|
||||||
|
$(OBJCOPY) -O binary $< $@
|
||||||
|
$(OUT)/$(LITEOS_TARGET).sym.sorted: $(OUT)/$(LITEOS_TARGET)
|
||||||
|
$(OBJDUMP) -t $< |sort >$@
|
||||||
|
$(OUT)/$(LITEOS_TARGET).asm: $(OUT)/$(LITEOS_TARGET)
|
||||||
|
$(OBJDUMP) -d $< >$@
|
||||||
|
$(OUT)/$(LITEOS_TARGET).size: $(OUT)/$(LITEOS_TARGET)
|
||||||
|
$(NM) -S --size-sort $< >$@
|
||||||
|
|
||||||
|
$(APPS): prepare
|
||||||
|
$(HIDE)$(MAKE) -C apps all
|
||||||
|
|
||||||
|
$(ROOTFS): $(APPS)
|
||||||
|
ifeq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
||||||
|
$(HIDE)cp -fp $$($(CC) --target=$(LLVM_TARGET) --sysroot=$(SYSROOT_PATH) $(LITEOS_CFLAGS) -print-file-name=libc.so) $(OUT)/musl
|
||||||
|
$(HIDE)cp -fp $$($(GPP) --target=$(LLVM_TARGET) --sysroot=$(SYSROOT_PATH) $(LITEOS_CXXFLAGS) -print-file-name=libc++.so) $(OUT)/musl
|
||||||
|
else
|
||||||
|
$(HIDE)cp -fp $$($(CC) $(LITEOS_CFLAGS) -print-file-name=libc.so) $(OUT)/musl
|
||||||
|
$(HIDE)cp -fp $$($(CC) $(LITEOS_CFLAGS) -print-file-name=libgcc_s.so.1) $(OUT)/musl
|
||||||
|
$(HIDE)cp -fp $$($(GPP) $(LITEOS_CXXFLAGS) -print-file-name=libstdc++.so.6) $(OUT)/musl
|
||||||
|
endif
|
||||||
|
$(STRIP) $(OUT)/musl/*
|
||||||
|
$(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsdir.sh $(OUT) $(ROOTFS_DIR) $(LITEOS_TARGET_DIR)
|
||||||
|
ifneq ($(VERSION),)
|
||||||
|
$(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/releaseinfo.sh "$(VERSION)" $(ROOTFS_DIR) $(LITEOS_TARGET_DIR)
|
||||||
|
endif
|
||||||
|
$(HIDE)$(LITEOSTOPDIR)/tools/scripts/make_rootfs/rootfsimg.sh $(ROOTFS_DIR) $(FSTYPE)
|
||||||
|
$(HIDE)cd $(ROOTFS_DIR)/.. && zip -r $(ROOTFS_ZIP) $(ROOTFS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(HIDE)for dir in $(LITEOS_SUBDIRS); do $(MAKE) -C $$dir clean || exit 1; done
|
||||||
|
$(HIDE)$(MAKE) -C apps clean
|
||||||
|
$(HIDE)$(RM) $(LITEOS_MENUCONFIG_H) $(CONFIG_FILE)
|
||||||
|
$(HIDE)echo "clean $(LOSCFG_PLATFORM) finish"
|
||||||
|
|
||||||
|
cleanall: clean
|
||||||
|
$(HIDE)$(RM) $(LITEOSTOPDIR)/out
|
||||||
|
$(HIDE)echo "clean all done"
|
||||||
|
|
||||||
|
.PHONY: all clean cleanall prepare sysroot help update_config
|
||||||
|
.PHONY: $(LITEOS_TARGET) $(ROOTFS) $(APPS) $(KCONFIG_CMDS) $(LITEOS_LIBS_TARGET)
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
LITEOSTOPDIR = $(shell pwd)/../
|
LITEOSTOPDIR := $(shell pwd)/../
|
||||||
|
|
||||||
include $(LITEOSTOPDIR)/.config
|
include $(LITEOSTOPDIR)/.config
|
||||||
include ./config.mk
|
include ./config.mk
|
||||||
|
|
|
@ -76,7 +76,6 @@ ARCH_INCLUDE := -I $(LITEOSTOPDIR)/arch/arm/include \
|
||||||
-I $(LITEOSTOPDIR)/arch/arm/$(LITEOS_ARCH_ARM)/src/include
|
-I $(LITEOSTOPDIR)/arch/arm/$(LITEOS_ARCH_ARM)/src/include
|
||||||
|
|
||||||
LITEOS_PLATFORM_INCLUDE += $(ARCH_INCLUDE)
|
LITEOS_PLATFORM_INCLUDE += $(ARCH_INCLUDE)
|
||||||
LITEOS_CXXINCLUDE += $(ARCH_INCLUDE)
|
|
||||||
|
|
||||||
# expose FPU info to assembly code
|
# expose FPU info to assembly code
|
||||||
ifeq ($(LOSCFG_ARCH_FPU_DISABLE), y)
|
ifeq ($(LOSCFG_ARCH_FPU_DISABLE), y)
|
||||||
|
|
10
build.sh
10
build.sh
|
@ -46,8 +46,8 @@ device_path=${12}
|
||||||
echo "${board_name}" "${device_company}"
|
echo "${board_name}" "${device_company}"
|
||||||
echo "sh param:" "$@"
|
echo "sh param:" "$@"
|
||||||
|
|
||||||
|
destination="defconfig"
|
||||||
function main() {
|
function main() {
|
||||||
destination=".config"
|
|
||||||
tee=""
|
tee=""
|
||||||
if [ "${tee_enable}" = "true" ]; then
|
if [ "${tee_enable}" = "true" ]; then
|
||||||
tee="_tee"
|
tee="_tee"
|
||||||
|
@ -85,10 +85,12 @@ if [ "x" != "x${arch_cflags}" ]; then
|
||||||
export ARCH_CFLAGS="${arch_cflags}"
|
export ARCH_CFLAGS="${arch_cflags}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export OUTDIR="${outdir}"
|
|
||||||
export PRODUCT_PATH="${product_path}"
|
export PRODUCT_PATH="${product_path}"
|
||||||
export DEVICE_PATH="${device_path}"
|
export DEVICE_PATH="${device_path}"
|
||||||
|
|
||||||
|
OUTDIR="${outdir}"
|
||||||
|
CONFIG="$(realpath ${destination})"
|
||||||
|
|
||||||
main && \
|
main && \
|
||||||
make clean && \
|
make clean CONFIG="$CONFIG" OUTDIR="$OUTDIR" && \
|
||||||
make -j rootfs VERSION="${ohos_version}"
|
make -j all VERSION="${ohos_version}" CONFIG="$CONFIG" OUTDIR="$OUTDIR"
|
||||||
|
|
61
config.mk
61
config.mk
|
@ -1,61 +0,0 @@
|
||||||
# Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
|
|
||||||
# Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
# are permitted provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer.
|
|
||||||
#
|
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
# of conditions and the following disclaimer in the documentation and/or other materials
|
|
||||||
# provided with the distribution.
|
|
||||||
#
|
|
||||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used
|
|
||||||
# to endorse or promote products derived from this software without specific prior written
|
|
||||||
# permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
||||||
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
||||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
||||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
############### 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) $(LITEOS_LIB_INCLUDE) \
|
|
||||||
$(LITEOS_DRIVERS_INCLUDE) $(LOSCFG_TOOLS_DEBUG_INCLUDE) \
|
|
||||||
$(LITEOS_PLATFORM_INCLUDE) $(LITEOS_DFX_INCLUDE) \
|
|
||||||
$(LITEOS_SECURITY_INCLUDE)
|
|
||||||
LITEOS_LIBDEP := $(LITEOS_BASELIB)
|
|
||||||
LITEOS_ASFLAGS := $(LITEOS_ASOPTS) $(LITEOS_INCLUDE)
|
|
||||||
LITEOS_CFLAGS := $(LITEOS_COPTS) $(LITEOS_CMACRO) \
|
|
||||||
$(LITEOS_CMACRO_TEST) $(LITEOS_IMAGE_MACRO) \
|
|
||||||
$(LITEOS_INCLUDE)
|
|
||||||
LITEOS_CXXFLAGS := $(LITEOS_CXXOPTS) $(LITEOS_CXXMACRO) \
|
|
||||||
$(LITEOS_CMACRO) $(LITEOS_CXXINCLUDE)
|
|
||||||
LITEOS_LDFLAGS := $(LITEOS_LD_OPTS) $(LITEOS_LD_PATH) \
|
|
||||||
$(LITEOS_LD_SCRIPT)
|
|
||||||
|
|
|
@ -48,4 +48,4 @@ LOCAL_INCLUDE := \
|
||||||
|
|
||||||
LOCAL_FLAGS := $(LITEOS_CFLAGS_INTERWORK) $(LOCAL_INCLUDE) $(LITEOS_GCOV_OPTS)
|
LOCAL_FLAGS := $(LITEOS_CFLAGS_INTERWORK) $(LOCAL_INCLUDE) $(LITEOS_GCOV_OPTS)
|
||||||
|
|
||||||
include $(HDF_DRIVER)
|
include $(MODULE)
|
||||||
|
|
|
@ -28,10 +28,8 @@
|
||||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
include $(LITEOSTOPDIR)/config.mk
|
include $(LITEOSTOPDIR)/config.mk
|
||||||
OBJOUT := $(OUT)/obj/kernel/user
|
|
||||||
|
|
||||||
MODULE_NAME := userinit
|
MODULE_NAME := userinit
|
||||||
LIBA := $(OUT)/lib/lib$(MODULE_NAME).O
|
|
||||||
|
|
||||||
LOCAL_INCLUDE := \
|
LOCAL_INCLUDE := \
|
||||||
-I $(LITEOSTOPDIR)/kernel/base/include\
|
-I $(LITEOSTOPDIR)/kernel/base/include\
|
||||||
|
@ -49,27 +47,19 @@ LOCAL_INCLUDE := \
|
||||||
LOCAL_SRCS := $(wildcard src/*.c) \
|
LOCAL_SRCS := $(wildcard src/*.c) \
|
||||||
$(wildcard src/*.S)
|
$(wildcard src/*.S)
|
||||||
|
|
||||||
LOCAL_CSRCS := $(filter %.c,$(LOCAL_SRCS))
|
|
||||||
LOCAL_ASMSRCS := $(filter %.S,$(LOCAL_SRCS))
|
|
||||||
|
|
||||||
LOCAL_COBJS := $(patsubst %.c,$(OBJOUT)/%.o,$(LOCAL_CSRCS))
|
|
||||||
LOCAL_ASMOBJS := $(patsubst %.S,$(OBJOUT)/%.o,$(LOCAL_ASMSRCS))
|
|
||||||
LOCAL_OBJS := $(LOCAL_COBJS) $(LOCAL_ASMOBJS)
|
|
||||||
|
|
||||||
LOCAL_FLAGS := $(LOCAL_INCLUDE)
|
LOCAL_FLAGS := $(LOCAL_INCLUDE)
|
||||||
|
|
||||||
all : $(LIBA)
|
include $(MODULE)
|
||||||
|
|
||||||
$(LOCAL_COBJS): $(OBJOUT)/%.o: %.c
|
LIBO := $(OUT)/lib/lib$(MODULE_NAME).O
|
||||||
$(HIDE)$(OBJ_MKDIR)
|
|
||||||
$(HIDE)$(CC) $(LITEOS_CFLAGS) $(LOCAL_FLAGS) $(LOCAL_CFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
$(LOCAL_ASMOBJS): $(OBJOUT)/%.o: %.S
|
$(LIBO): $(LIBA)
|
||||||
$(HIDE)$(OBJ_MKDIR)
|
$(HIDE) $(LD) -r -o $@ --whole-archive $< --no-whole-archive
|
||||||
$(HIDE)$(CC) $(LITEOS_CFLAGS) $(LOCAL_FLAGS) $(LOCAL_ASFLAGS) -c $< -o $@
|
$(HIDE) $(RM) $<
|
||||||
|
|
||||||
$(LIBA): $(LOCAL_OBJS)
|
clean2:
|
||||||
$(HIDE) $(LD) -r -o $@ $^
|
$(HIDE) $(RM) $(LIBO)
|
||||||
|
|
||||||
clean:
|
all: $(LIBO)
|
||||||
$(HIDE) rm -rf $(LOCAL_OBJS) $(LIBA)
|
clean: clean2
|
||||||
|
.PHONY: clean2
|
||||||
|
|
|
@ -5,7 +5,7 @@ config PLATFORM
|
||||||
default "virt" if PLATFORM_QEMU_ARM_VIRT_CA7
|
default "virt" if PLATFORM_QEMU_ARM_VIRT_CA7
|
||||||
|
|
||||||
config PRODUCT_NAME
|
config PRODUCT_NAME
|
||||||
string "unknown"
|
string "product name"
|
||||||
default "ipcamera_hi3516dv300_liteos" if PRODUCT_IPCAMERA_HI3516DV300_LITEOS
|
default "ipcamera_hi3516dv300_liteos" if PRODUCT_IPCAMERA_HI3516DV300_LITEOS
|
||||||
default "ipcamera_hi3518ev300_liteos" if PRODUCT_IPCAMERA_HI3518EV300_LITEOS
|
default "ipcamera_hi3518ev300_liteos" if PRODUCT_IPCAMERA_HI3518EV300_LITEOS
|
||||||
default "hispark_taurus" if PRODUCT_HISPARK_TAURUS
|
default "hispark_taurus" if PRODUCT_HISPARK_TAURUS
|
||||||
|
@ -13,7 +13,7 @@ config PRODUCT_NAME
|
||||||
default "arm_virt" if PRODUCT_QEMU_ARM
|
default "arm_virt" if PRODUCT_QEMU_ARM
|
||||||
|
|
||||||
config DEVICE_COMPANY
|
config DEVICE_COMPANY
|
||||||
string "unknown"
|
string "vendor name"
|
||||||
default "hisilicon" if PLATFORM_HI3516DV300
|
default "hisilicon" if PLATFORM_HI3516DV300
|
||||||
default "hisilicon" if PLATFORM_HI3518EV300
|
default "hisilicon" if PLATFORM_HI3518EV300
|
||||||
default "qemu" if PLATFORM_QEMU_ARM_VIRT_CA7
|
default "qemu" if PLATFORM_QEMU_ARM_VIRT_CA7
|
||||||
|
@ -22,11 +22,11 @@ choice
|
||||||
prompt "Chip"
|
prompt "Chip"
|
||||||
default PLATFORM_HI3516DV300
|
default PLATFORM_HI3516DV300
|
||||||
help
|
help
|
||||||
IPC has several chips:
|
IP Camera has several chips:
|
||||||
hi3516dv300
|
- hi3516dv300
|
||||||
hi3518ev300
|
- hi3518ev300
|
||||||
Qemu ARM Virt variants (based on different CPU types):
|
Qemu ARM Virt variants (based on different CPU types):
|
||||||
qemu_arm_virt_ca7
|
- qemu_arm_virt_ca7
|
||||||
|
|
||||||
config PLATFORM_HI3516DV300
|
config PLATFORM_HI3516DV300
|
||||||
bool "hi3516dv300"
|
bool "hi3516dv300"
|
||||||
|
|
|
@ -61,10 +61,22 @@ LOCAL_INCLUDE += -I $(LITEOSTOPDIR)/kernel/extended/vdso/include
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ALL_ASSRCS := $(wildcard *.S)
|
ALL_ASSRCS := $(wildcard *.S)
|
||||||
ASSRCS := $(subst board.ld.S,,$(ALL_ASSRCS))
|
ASSRCS := $(filter-out board.ld.S,$(ALL_ASSRCS))
|
||||||
|
|
||||||
LOCAL_SRCS += $(ASSRCS)
|
LOCAL_SRCS += $(ASSRCS)
|
||||||
|
|
||||||
LOCAL_FLAGS := $(LOCAL_INCLUDE) $(LITEOS_GCOV_OPTS)
|
LOCAL_FLAGS := $(LOCAL_INCLUDE) $(LITEOS_GCOV_OPTS)
|
||||||
|
|
||||||
|
BOARD_LD = $(OUT)/lib/board.ld
|
||||||
|
$(BOARD_LD): board.ld.S $(LITEOS_MENUCONFIG_H)
|
||||||
|
$(HIDE)$(CC) -I$(LITEOSTOPDIR)/kernel/base/include -I$(LITEOSTOPDIR)/../../$(LOSCFG_BOARD_CONFIG_PATH) -I. \
|
||||||
|
-imacros $(LITEOS_MENUCONFIG_H) -P -E $< -o $@
|
||||||
|
|
||||||
|
.PHONY: rm_board_ld
|
||||||
|
rm_board_ld:
|
||||||
|
$(HIDE)$(RM) $(BOARD_LD)
|
||||||
|
|
||||||
|
all: $(BOARD_LD)
|
||||||
|
clean: rm_board_ld
|
||||||
|
|
||||||
include $(MODULE)
|
include $(MODULE)
|
||||||
|
|
|
@ -43,8 +43,6 @@ USB_SRC :=
|
||||||
|
|
||||||
LITEOS_BASELIB += -lbsp
|
LITEOS_BASELIB += -lbsp
|
||||||
|
|
||||||
LITEOS_PLATFORM := $(subst $\",,$(LOSCFG_PLATFORM))
|
|
||||||
|
|
||||||
PLATFORM_BSP_BASE := $(LITEOSTOPDIR)/platform
|
PLATFORM_BSP_BASE := $(LITEOSTOPDIR)/platform
|
||||||
|
|
||||||
PLATFORM_INCLUDE := -I $(LITEOSTOPDIR)/../../$(LOSCFG_BOARD_CONFIG_PATH) \
|
PLATFORM_INCLUDE := -I $(LITEOSTOPDIR)/../../$(LOSCFG_BOARD_CONFIG_PATH) \
|
||||||
|
@ -55,10 +53,5 @@ PLATFORM_INCLUDE := -I $(LITEOSTOPDIR)/../../$(LOSCFG_BOARD_CONFIG_PATH) \
|
||||||
-I $(PLATFORM_BSP_BASE)/hw/include \
|
-I $(PLATFORM_BSP_BASE)/hw/include \
|
||||||
-I $(PLATFORM_BSP_BASE)/include
|
-I $(PLATFORM_BSP_BASE)/include
|
||||||
|
|
||||||
#
|
|
||||||
#-include $(LITEOSTOPDIR)/platform/bsp/board/$(LITEOS_PLATFORM)/board.mk
|
|
||||||
#
|
|
||||||
|
|
||||||
LIB_SUBDIRS += $(PLATFORM_BSP_BASE)
|
LIB_SUBDIRS += $(PLATFORM_BSP_BASE)
|
||||||
LITEOS_PLATFORM_INCLUDE += $(PLATFORM_INCLUDE)
|
LITEOS_PLATFORM_INCLUDE += $(PLATFORM_INCLUDE)
|
||||||
LITEOS_CXXINCLUDE += $(PLATFORM_INCLUDE)
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ TOP_LD_PATH = $(LITEOSTOPDIR)
|
||||||
SCRIPTS_PATH = $(LITEOS_SCRIPTPATH)
|
SCRIPTS_PATH = $(LITEOS_SCRIPTPATH)
|
||||||
LITEOS_MK_PATH = $(MK_PATH)
|
LITEOS_MK_PATH = $(MK_PATH)
|
||||||
LITEOS_SUBDIRS = $(LIB_SUBDIRS)
|
LITEOS_SUBDIRS = $(LIB_SUBDIRS)
|
||||||
LIB_BIGODIR = $(LITEOS_LIB_BIGODIR)
|
|
||||||
|
|
||||||
##### liteos tables -u ldflags #####
|
##### liteos tables -u ldflags #####
|
||||||
-include $(LITEOS_MK_PATH)/liteos_tables_ldflags.mk
|
-include $(LITEOS_MK_PATH)/liteos_tables_ldflags.mk
|
||||||
|
@ -47,7 +46,8 @@ LITEOS_INCLUDE := $(LITEOS_KERNEL_INCLUDE) $(LITEOS_EXTKERNEL_INCLUDE) \
|
||||||
$(LITEOS_COMPAT_INCLUDE) $(LITEOS_FS_INCLUDE) \
|
$(LITEOS_COMPAT_INCLUDE) $(LITEOS_FS_INCLUDE) \
|
||||||
$(LITEOS_NET_INCLUDE) $(LITEOS_LIB_INCLUDE) \
|
$(LITEOS_NET_INCLUDE) $(LITEOS_LIB_INCLUDE) \
|
||||||
$(LITEOS_DRIVERS_INCLUDE) $(LOSCFG_TOOLS_DEBUG_INCLUDE) \
|
$(LITEOS_DRIVERS_INCLUDE) $(LOSCFG_TOOLS_DEBUG_INCLUDE) \
|
||||||
$(LITEOS_PLATFORM_INCLUDE)
|
$(LITEOS_PLATFORM_INCLUDE) $(LITEOS_DFX_INCLUDE) \
|
||||||
|
$(LITEOS_SECURITY_INCLUDE)
|
||||||
LITEOS_LIBDEP := $(LITEOS_BASELIB)
|
LITEOS_LIBDEP := $(LITEOS_BASELIB)
|
||||||
LITEOS_ASFLAGS := $(LITEOS_ASOPTS) $(LITEOS_INCLUDE)
|
LITEOS_ASFLAGS := $(LITEOS_ASOPTS) $(LITEOS_INCLUDE)
|
||||||
LITEOS_CFLAGS := $(LITEOS_COPTS) $(LITEOS_CMACRO) \
|
LITEOS_CFLAGS := $(LITEOS_COPTS) $(LITEOS_CMACRO) \
|
||||||
|
|
|
@ -54,7 +54,7 @@ OBJ_MKDIR = if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi
|
||||||
RM = -rm -rf
|
RM = -rm -rf
|
||||||
ECHO = echo
|
ECHO = echo
|
||||||
ifeq ($(OS),)
|
ifeq ($(OS),)
|
||||||
OS = $(shell uname -s)
|
OS := $(shell uname -s)
|
||||||
export OS
|
export OS
|
||||||
endif
|
endif
|
||||||
COMPILE_NAME := $(patsubst %-,%,$(CROSS_COMPILE))
|
COMPILE_NAME := $(patsubst %-,%,$(CROSS_COMPILE))
|
||||||
|
@ -98,21 +98,15 @@ LITEOS_CXXFLAGS :=
|
||||||
LITEOS_BASELIB :=
|
LITEOS_BASELIB :=
|
||||||
LITEOS_LIBDEP :=
|
LITEOS_LIBDEP :=
|
||||||
## directory ##
|
## directory ##
|
||||||
LIB_BIGODIR :=
|
|
||||||
LIB_SUBDIRS :=
|
LIB_SUBDIRS :=
|
||||||
##compiler##
|
|
||||||
LITEOS_COMPILER_CXX_PATH :=
|
|
||||||
LITEOS_COMPILER_CXXLIB_PATH :=
|
|
||||||
LITEOS_COMPILER_GCCLIB_PATH :=
|
|
||||||
LITEOS_COMPILER_GCC_INCLUDE :=
|
|
||||||
LITEOS_DRIVERS_BASE_PATH :=
|
|
||||||
|
|
||||||
## variable define ##
|
## variable define ##
|
||||||
ifeq ($(LITEOSTHIRDPARTY),)
|
ifeq ($(LITEOSTHIRDPARTY),)
|
||||||
LITEOSTHIRDPARTY := $(LITEOSTOPDIR)/../../third_party
|
LITEOSTHIRDPARTY := $(LITEOSTOPDIR)/../../third_party
|
||||||
endif
|
endif
|
||||||
|
LITEOS_PLATFORM := $(LOSCFG_PLATFORM:"%"=%)
|
||||||
ifeq ($(OUTDIR),)
|
ifeq ($(OUTDIR),)
|
||||||
OUT = $(LITEOSTOPDIR)/out/$(LITEOS_PLATFORM)
|
OUT = $(LITEOSTOPDIR)/out/$(LITEOS_PLATFORM)
|
||||||
LITEOS_TARGET_DIR = $(OUT)
|
LITEOS_TARGET_DIR = $(OUT)
|
||||||
KERNEL_COMPILE_ONLY = y
|
KERNEL_COMPILE_ONLY = y
|
||||||
else
|
else
|
||||||
|
@ -125,27 +119,12 @@ MK_PATH = $(LITEOSTOPDIR)/tools/build/mk
|
||||||
CXX_PATH = $(LITEOSTOPDIR)/lib/cxxstl
|
CXX_PATH = $(LITEOSTOPDIR)/lib/cxxstl
|
||||||
JFFS_PATH = $(LITEOSTOPDIR)/fs/jffs2
|
JFFS_PATH = $(LITEOSTOPDIR)/fs/jffs2
|
||||||
LITEOS_SCRIPTPATH ?= $(LITEOSTOPDIR)/tools/scripts
|
LITEOS_SCRIPTPATH ?= $(LITEOSTOPDIR)/tools/scripts
|
||||||
LITEOS_LIB_BIGODIR = $(OUT)/lib/obj
|
|
||||||
LITEOS_MENUCONFIG_H ?= $(LITEOSTOPDIR)/config.h
|
LITEOS_MENUCONFIG_H ?= $(LITEOSTOPDIR)/config.h
|
||||||
LOSCFG_ENTRY_SRC = $(LITEOSTOPDIR)/platform/los_config.c
|
LOSCFG_ENTRY_SRC = $(LITEOSTOPDIR)/platform/los_config.c
|
||||||
|
|
||||||
### include variable
|
### include variable
|
||||||
MODULE = $(MK_PATH)/module.mk
|
MODULE = $(MK_PATH)/module.mk
|
||||||
ifeq ($(LOSCFG_COMPILER_HIMIX_32), y)
|
|
||||||
LITEOS_CMACRO += -D__COMPILER_HUAWEILITEOS__
|
|
||||||
else ifeq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
|
||||||
LITEOS_CMACRO += -D__COMPILER_HUAWEILITEOS__
|
|
||||||
else ifeq ($(LOSCFG_COMPILER_HCC_64), y)
|
|
||||||
LITEOS_CMACRO += -D__COMPILER_HUAWEILITEOS__
|
|
||||||
endif
|
|
||||||
LITEOS_CMACRO += -D__LITEOS__ -DSECUREC_IN_KERNEL=0
|
LITEOS_CMACRO += -D__LITEOS__ -DSECUREC_IN_KERNEL=0
|
||||||
ifeq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
|
||||||
LITEOS_BASELIB += -lclang_rt.builtins
|
|
||||||
LITEOS_BASELIB += -lunwind --no-dependent-libraries
|
|
||||||
else
|
|
||||||
LITEOS_BASELIB += -lgcc
|
|
||||||
LITEOS_BASELIB += -lgcc_eh
|
|
||||||
endif
|
|
||||||
AS_OBJS_LIBC_FLAGS = -D__ASSEMBLY__
|
AS_OBJS_LIBC_FLAGS = -D__ASSEMBLY__
|
||||||
|
|
||||||
ifeq ($(LOSCFG_QUICK_START), y)
|
ifeq ($(LOSCFG_QUICK_START), y)
|
||||||
|
@ -231,14 +210,15 @@ endif
|
||||||
|
|
||||||
#################################### Lib Option Begin ###############################
|
#################################### Lib Option Begin ###############################
|
||||||
ifeq ($(LOSCFG_LIB_LIBC), y)
|
ifeq ($(LOSCFG_LIB_LIBC), y)
|
||||||
LIB_SUBDIRS += lib/libc
|
LIB_SUBDIRS += lib/libc
|
||||||
LIB_SUBDIRS += lib/libsec
|
LITEOS_BASELIB += -lc
|
||||||
|
|
||||||
LITEOS_BASELIB += -lc -lsec
|
|
||||||
LITEOS_LIBC_INCLUDE += \
|
LITEOS_LIBC_INCLUDE += \
|
||||||
$(LITEOS_LIBSCREW_INCLUDE) \
|
|
||||||
-I $(LITEOSTOPDIR)/lib/libc/include \
|
-I $(LITEOSTOPDIR)/lib/libc/include \
|
||||||
-I $(LITEOSTHIRDPARTY)/musl/porting/liteos_a/kernel/include \
|
-I $(LITEOSTHIRDPARTY)/musl/porting/liteos_a/kernel/include \
|
||||||
|
|
||||||
|
LIB_SUBDIRS += lib/libsec
|
||||||
|
LITEOS_BASELIB += -lsec
|
||||||
|
LITEOS_LIBC_INCLUDE += \
|
||||||
-I $(LITEOSTHIRDPARTY)/bounds_checking_function/include
|
-I $(LITEOSTHIRDPARTY)/bounds_checking_function/include
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -247,13 +227,7 @@ endif
|
||||||
LITEOS_LIBSCREW_INCLUDE += -I $(LITEOSTOPDIR)/lib/libscrew/include
|
LITEOS_LIBSCREW_INCLUDE += -I $(LITEOSTOPDIR)/lib/libscrew/include
|
||||||
|
|
||||||
ifeq ($(LOSCFG_KERNEL_CPPSUPPORT), y)
|
ifeq ($(LOSCFG_KERNEL_CPPSUPPORT), y)
|
||||||
ifeq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
|
||||||
LITEOS_BASELIB += -lc++ -lc++abi
|
|
||||||
LITEOS_BASELIB += -lcppsupport
|
LITEOS_BASELIB += -lcppsupport
|
||||||
else
|
|
||||||
LITEOS_BASELIB += -lsupc++
|
|
||||||
LITEOS_BASELIB += -lcppsupport -lstdc++
|
|
||||||
endif
|
|
||||||
LIB_SUBDIRS += kernel/extended/cppsupport
|
LIB_SUBDIRS += kernel/extended/cppsupport
|
||||||
LITEOS_CPPSUPPORT_INCLUDE += -I $(LITEOSTOPDIR)/kernel/extended/cppsupport
|
LITEOS_CPPSUPPORT_INCLUDE += -I $(LITEOSTOPDIR)/kernel/extended/cppsupport
|
||||||
endif
|
endif
|
||||||
|
@ -551,10 +525,6 @@ OBJDUMP = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)objdump
|
||||||
SIZE = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)size
|
SIZE = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)size
|
||||||
NM = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)nm
|
NM = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)nm
|
||||||
STRIP = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)strip
|
STRIP = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)strip
|
||||||
|
|
||||||
VERSION_NUM := v1
|
|
||||||
LITEOS_COMPILER_CXX_PATH = $(LITEOS_COMPILER_PATH)/include
|
|
||||||
|
|
||||||
LLVM_TARGET := arm-liteos
|
LLVM_TARGET := arm-liteos
|
||||||
LLVM_EXTRA_OPTS := -target $(LLVM_TARGET) -fms-extensions -Wno-address-of-packed-member
|
LLVM_EXTRA_OPTS := -target $(LLVM_TARGET) -fms-extensions -Wno-address-of-packed-member
|
||||||
LLVM_EXTRA_LD_OPTS := -fuse-ld=lld --rtlib=compiler-rt
|
LLVM_EXTRA_LD_OPTS := -fuse-ld=lld --rtlib=compiler-rt
|
||||||
|
@ -573,55 +543,8 @@ OBJDUMP = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)objdump
|
||||||
SIZE = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)size
|
SIZE = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)size
|
||||||
NM = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)nm
|
NM = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)nm
|
||||||
STRIP = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)strip
|
STRIP = $(LITEOS_COMPILER_PATH)/bin/$(CROSS_COMPILE)strip
|
||||||
|
|
||||||
ifeq ($(VERSION_NUM),)
|
|
||||||
VERSION_NUM := $(shell $(CC) -dumpversion)
|
|
||||||
export VERSION_NUM
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LITEOS_COMPILER_CXX_PATH = $(LITEOS_COMPILER_PATH)/$(COMPILE_NAME)/include
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
|
||||||
LITEOS_COMPILER_CXXLIB_PATH = $(LITEOS_COMPILER_PATH)/lib/$(LLVM_TARGET)/c++/a7_softfp_neon-vfpv4
|
|
||||||
LITEOS_COMPILER_GCCLIB_PATH = $(LITEOS_COMPILER_PATH)/lib/clang/current/lib/$(LLVM_TARGET)/a7_softfp_neon-vfpv4
|
|
||||||
LITEOS_COMPILER_GCC_INCLUDE = -I $(LITEOS_COMPILER_PATH)/lib/clang/current/include
|
|
||||||
else ifeq ($(LOSCFG_COMPILER_HIMIX_32), y)
|
|
||||||
LITEOS_COMPILER_CXXLIB_PATH = $(LITEOS_COMPILER_PATH)/$(COMPILE_NAME)/lib
|
|
||||||
LITEOS_COMPILER_GCCLIB_PATH = $(LITEOS_COMPILER_PATH)/lib/gcc/$(COMPILE_NAME)/$(VERSION_NUM)
|
|
||||||
LITEOS_COMPILER_GCC_INCLUDE = -I $(LITEOS_COMPILER_PATH)/lib/gcc/arm-linux-ohoseabi/$(VERSION_NUM)/include
|
|
||||||
else ifeq ($(LOSCFG_COMPILER_HCC_64), y)
|
|
||||||
LITEOS_COMPILER_CXXLIB_PATH = $(LITEOS_COMPILER_PATH)/$(COMPILE_NAME)/lib64
|
|
||||||
LITEOS_COMPILER_GCCLIB_PATH = $(LITEOS_COMPILER_PATH)/lib64/gcc/$(COMPILE_NAME)/$(VERSION_NUM)
|
|
||||||
LITEOS_COMPILER_GCC_INCLUDE = -I $(LITEOS_COMPILER_PATH)/lib64/gcc/aarch64-linux-gnu/$(VERSION_NUM)/include
|
|
||||||
endif
|
|
||||||
|
|
||||||
LITEOS_CXXINCLUDE += \
|
|
||||||
-I $(LITEOS_COMPILER_CXX_PATH)/c++/$(VERSION_NUM) \
|
|
||||||
-I $(LITEOS_COMPILER_CXX_PATH)/c++/$(VERSION_NUM)/ext \
|
|
||||||
-I $(LITEOS_COMPILER_CXX_PATH)/c++/$(VERSION_NUM)/backward \
|
|
||||||
-I $(LITEOSTOPDIR)/compat/posix/include \
|
|
||||||
-I $(LITEOSTOPDIR)/fs/include \
|
|
||||||
-I $(LITEOSTOPDIR)/kernel/include \
|
|
||||||
$(LITEOS_LIBC_INCLUDE)
|
|
||||||
|
|
||||||
ifneq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
|
||||||
LITEOS_CXXINCLUDE += -I $(LITEOS_COMPILER_CXX_PATH)/c++/$(VERSION_NUM)/backward
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(LOSCFG_COMPILER_HIMIX_32), y)
|
|
||||||
LITEOS_CXXINCLUDE += \
|
|
||||||
-I $(LITEOS_COMPILER_CXX_PATH)/c++/$(VERSION_NUM)/arm-linux-ohoseabi
|
|
||||||
LITEOS_CXXMACRO += -DLOSCFG_KERNEL_CPP_EXCEPTIONS_SUPPORT
|
|
||||||
LITEOS_CMACRO += -DLOSCFG_KERNEL_CPP_EXCEPTIONS_SUPPORT
|
|
||||||
else ifeq ($(LOSCFG_COMPILER_HCC_64), y)
|
|
||||||
LITEOS_CXXINCLUDE += \
|
|
||||||
-I $(LITEOS_COMPILER_CXX_PATH)/c++/$(VERSION_NUM)/aarch64-linux-gnu
|
|
||||||
LITEOS_CXXMACRO += -DLOSCFG_KERNEL_CPP_EXCEPTIONS_SUPPORT
|
|
||||||
LITEOS_CMACRO += -DLOSCFG_KERNEL_CPP_EXCEPTIONS_SUPPORT
|
|
||||||
endif
|
|
||||||
|
|
||||||
LITEOS_CXXINCLUDE += $(LITEOS_COMPILER_GCC_INCLUDE)
|
|
||||||
FP = -fno-omit-frame-pointer
|
FP = -fno-omit-frame-pointer
|
||||||
LITEOS_CXXOPTS_BASE += -std=c++11 -nostdlib -nostdinc -nostdinc++ -fexceptions -fpermissive -fno-use-cxa-atexit \
|
LITEOS_CXXOPTS_BASE += -std=c++11 -nostdlib -nostdinc -nostdinc++ -fexceptions -fpermissive -fno-use-cxa-atexit \
|
||||||
-fno-builtin -frtti -fno-pic -Winvalid-pch $(WARNING_AS_ERROR) $(LLVM_EXTRA_OPTS) $(FP)
|
-fno-builtin -frtti -fno-pic -Winvalid-pch $(WARNING_AS_ERROR) $(LLVM_EXTRA_OPTS) $(FP)
|
||||||
|
@ -638,9 +561,8 @@ LITEOS_FS_INCLUDE := $(LITEOS_VFS_INCLUDE) $(LITEOS_FAT_CACHE_IN
|
||||||
$(LITEOS_PROC_INCLUDE) $(LITEOS_FAT_VIRPART_INCLUDE) \
|
$(LITEOS_PROC_INCLUDE) $(LITEOS_FAT_VIRPART_INCLUDE) \
|
||||||
$(LITEOS_FAT_INCLUDE)
|
$(LITEOS_FAT_INCLUDE)
|
||||||
LITEOS_NET_INCLUDE := $(LITEOS_LWIP_SACK_INCLUDE)
|
LITEOS_NET_INCLUDE := $(LITEOS_LWIP_SACK_INCLUDE)
|
||||||
LITEOS_LIB_INCLUDE := $(LITEOS_LIBC_INCLUDE) $(LITEOS_LIBM_INCLUDE) \
|
LITEOS_LIB_INCLUDE := $(LITEOS_LIBC_INCLUDE) $(LITEOS_LIBM_INCLUDE) \
|
||||||
$(LITEOS_ZLIB_INCLUDE) $(LITEOS_COMPILER_GCC_INCLUDE) \
|
$(LITEOS_ZLIB_INCLUDE) $(LITEOS_LIBSCREW_INCLUDE)
|
||||||
$(LITEOS_LIBSCREW_INCLUDE)
|
|
||||||
LITEOS_DRIVERS_INCLUDE := $(LITEOS_CELLWISE_INCLUDE) $(LITEOS_GPIO_INCLUDE) \
|
LITEOS_DRIVERS_INCLUDE := $(LITEOS_CELLWISE_INCLUDE) $(LITEOS_GPIO_INCLUDE) \
|
||||||
$(LITEOS_HIDMAC_INCLUDE) $(LITEOS_HIETH_SF_INCLUDE) \
|
$(LITEOS_HIDMAC_INCLUDE) $(LITEOS_HIETH_SF_INCLUDE) \
|
||||||
$(LITEOS_HIGMAC_INCLUDE) $(LITEOS_I2C_INCLUDE) \
|
$(LITEOS_HIGMAC_INCLUDE) $(LITEOS_I2C_INCLUDE) \
|
||||||
|
@ -692,8 +614,7 @@ LITEOS_LD_OPTS += -nostartfiles
|
||||||
endif
|
endif
|
||||||
LITEOS_LD_OPTS += -static --gc-sections
|
LITEOS_LD_OPTS += -static --gc-sections
|
||||||
LITEOS_LD_OPTS += $(LITEOS_DYNLOADOPTS)
|
LITEOS_LD_OPTS += $(LITEOS_DYNLOADOPTS)
|
||||||
LITEOS_LD_PATH += -L$(LITEOS_SCRIPTPATH)/ld -L$(LITEOSTOPDIR)/platform -L$(OUT)/lib -L$(LITEOS_LIB_BIGODIR) -L$(LITEOSTOPDIR)/tools/build
|
LITEOS_LD_PATH += -L$(OUT)/lib
|
||||||
LITEOS_LD_PATH += -L$(LITEOS_COMPILER_GCCLIB_PATH) -L$(LITEOS_COMPILER_CXXLIB_PATH)
|
|
||||||
ifeq ($(LOSCFG_VENDOR) ,y)
|
ifeq ($(LOSCFG_VENDOR) ,y)
|
||||||
LITEOS_LD_PATH += -L$(OUT)/lib/rdk -L$(OUT)/lib/sdk \
|
LITEOS_LD_PATH += -L$(OUT)/lib/rdk -L$(OUT)/lib/sdk \
|
||||||
-L$(OUT)/lib/main_server
|
-L$(OUT)/lib/main_server
|
||||||
|
@ -705,15 +626,24 @@ else
|
||||||
LITEOS_LD_SCRIPT := -T$(LITEOSTOPDIR)/tools/build/liteos.ld
|
LITEOS_LD_SCRIPT := -T$(LITEOSTOPDIR)/tools/build/liteos.ld
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
##compiler##
|
||||||
|
ifeq ($(LOSCFG_COMPILER_CLANG_LLVM), y)
|
||||||
|
_CC = $(CC) $(LLVM_EXTRA_OPTS) $(LLVM_EXTRA_LD_OPTS) $(LITEOS_CORE_COPTS)
|
||||||
|
LITEOS_BASELIB += $(shell $(_CC) "-print-file-name=libunwind.a") --no-dependent-libraries
|
||||||
|
else
|
||||||
|
_CC = $(CC) $(LITEOS_CORE_COPTS)
|
||||||
|
LITEOS_BASELIB += $(shell $(_CC) "-print-file-name=libgcc_eh.a")
|
||||||
|
endif
|
||||||
|
LITEOS_BASELIB += $(shell $(_CC) "-print-libgcc-file-name")
|
||||||
|
LITEOS_LIB_INCLUDE += -isystem $(shell $(_CC) "-print-file-name=include")
|
||||||
|
|
||||||
# temporary
|
# temporary
|
||||||
LITEOS_PLATFORM_INCLUDE += \
|
LITEOS_PLATFORM_INCLUDE += \
|
||||||
-I $(LITEOSTOPDIR)/kernel/base/include \
|
-I $(LITEOSTOPDIR)/kernel/base/include \
|
||||||
-I $(LITEOSTOPDIR)/kernel/extended/cpup \
|
-I $(LITEOSTOPDIR)/kernel/extended/cpup \
|
||||||
-I $(LITEOSTOPDIR)/kernel/extended/trace
|
-I $(LITEOSTOPDIR)/kernel/extended/trace
|
||||||
|
|
||||||
LITEOS_CXXINCLUDE += \
|
LITEOS_CXXINCLUDE = $(LITEOS_INCLUDE)
|
||||||
$(LITEOS_NET_INCLUDE) \
|
|
||||||
-I $(LITEOSTOPDIR)/kernel/base/include
|
|
||||||
|
|
||||||
LITEOS_COPTS_NODEBUG := $(LITEOS_NODEBUG) $(LITEOS_COPTS_BASE) $(LITEOS_COPTS_EXTRA)
|
LITEOS_COPTS_NODEBUG := $(LITEOS_NODEBUG) $(LITEOS_COPTS_BASE) $(LITEOS_COPTS_EXTRA)
|
||||||
LITEOS_COPTS_INTERWORK := $(LITEOS_INTERWORK) $(LITEOS_COPTS_BASE) $(LITEOS_COPTS_EXTRA_INTERWORK)
|
LITEOS_COPTS_INTERWORK := $(LITEOS_INTERWORK) $(LITEOS_COPTS_BASE) $(LITEOS_COPTS_EXTRA_INTERWORK)
|
||||||
|
|
|
@ -53,7 +53,7 @@ fi
|
||||||
cp -f ${LIB_DIR}/* ${ROOTFS_DIR}/lib
|
cp -f ${LIB_DIR}/* ${ROOTFS_DIR}/lib
|
||||||
cp -u ${LIB_DIR}/* ${OUT_DIR}/libs
|
cp -u ${LIB_DIR}/* ${OUT_DIR}/libs
|
||||||
|
|
||||||
if [ -e ${ETC_DIR} ]; then
|
if [ -e ${ETC_DIR}/.mkshrc ]; then
|
||||||
cp -f ${ETC_DIR}/.mkshrc ${ROOTFS_DIR}/etc
|
cp -f ${ETC_DIR}/.mkshrc ${ROOTFS_DIR}/etc
|
||||||
cp -u ${ETC_DIR}/.mkshrc ${OUT_DIR}/etc
|
cp -u ${ETC_DIR}/.mkshrc ${OUT_DIR}/etc
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue