qmk build system

This commit is contained in:
huangjimin
2020-07-16 15:30:48 +08:00
parent a2ec961500
commit 42c4a59a8a
13 changed files with 128 additions and 95 deletions

View File

@@ -30,14 +30,14 @@ subdirs=
ifneq (help,$(findstring help,$(MAKECMDGOALS))) ifneq (help,$(findstring help,$(MAKECMDGOALS)))
ifeq (, $(strip ${BP})) ifeq (, $(strip ${BP}))
$(error when compile arch/, must specify BP and ARCH_LSRCS obviously , see `make help`) $(error when compile arch/, must specify BP obviously , see `make help`)
endif endif
include ${QTOP}/qmk/board-pack/bp.${BP} include ${QTOP}/qmk/board-pack/bp.${BP}
$(info ${ARCH_LSRCS})
ifeq (,$(strip ${ARCH_LSRCS})) ifeq (,$(strip ${ARCH_LSRCS}))
$(error when compile arch/, must specify BP and ARCH_LSRCS obviously , see `make help`) $(error when compile arch/, must specify ARCH_LSRCS on your bp.${BP} , see `make help`)
endif endif
endif endif

View File

@@ -33,11 +33,11 @@ subdirs =
all:: all::
make -C ${QTOP}/arch BP=Linux_Posix make -C ${QTOP}/arch BP=${BP}
make -C ${QTOP}/kernel make -C ${QTOP}/kernel BP=${BP}
make -C ${QTOP}/osal make -C ${QTOP}/osal BP=${BP}
make -C ${QTOP}/net make -C ${QTOP}/net BP=${BP}
make -C ${QTOP}/devices make -C ${QTOP}/devices BP=${BP}
exec = exec =
LD_A_FILES += $(LIBDIR)/libarch.a LD_A_FILES += $(LIBDIR)/libarch.a
LD_A_FILES += $(LIBDIR)/libkernel.a LD_A_FILES += $(LIBDIR)/libkernel.a

View File

@@ -36,11 +36,17 @@ LSRCS += $(wildcard *.s)
all:: all::
make -C ${QTOP}/arch BP=${BP} make -C ${QTOP}/arch BP=${BP}
make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP}
make -C ${QTOP}/components/connectivity/Eclipse-Paho-MQTT BP=${BP}
make -C ${QTOP}/components/utils/JSON BP=${BP}
make -C ${QTOP}/devices BP=${BP}
make -C ${QTOP}/kernel BP=${BP} make -C ${QTOP}/kernel BP=${BP}
make -C ${QTOP}/net/at BP=${BP}
make -C ${QTOP}/net/sal_module_wrapper BP=${BP}
make -C ${QTOP}/net/socket_wrapper BP=${BP}
make -C ${QTOP}/net/tencent_firmware_module_wrapper BP=${BP}
make -C ${QTOP}/osal BP=${BP} make -C ${QTOP}/osal BP=${BP}
make -C ${QTOP}/platform BP=${BP} make -C ${QTOP}/platform BP=${BP}
make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP}
make -C ${QTOP}/components/utils BP=${BP}
#exec = #exec =
LD_A_FILES += $(LIBDIR)/libarch.a LD_A_FILES += $(LIBDIR)/libarch.a
LD_A_FILES += $(LIBDIR)/libkernel.a LD_A_FILES += $(LIBDIR)/libkernel.a

View File

@@ -36,10 +36,16 @@ LSRCS += $(wildcard *.s)
all:: all::
make -C ${QTOP}/arch BP=${BP} make -C ${QTOP}/arch BP=${BP}
make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP}
make -C ${QTOP}/components/connectivity/Eclipse-Paho-MQTT BP=${BP}
make -C ${QTOP}/devices BP=${BP}
make -C ${QTOP}/kernel BP=${BP} make -C ${QTOP}/kernel BP=${BP}
make -C ${QTOP}/net/at BP=${BP}
make -C ${QTOP}/net/sal_module_wrapper BP=${BP}
make -C ${QTOP}/net/socket_wrapper BP=${BP}
make -C ${QTOP}/net/tencent_firmware_module_wrapper BP=${BP}
make -C ${QTOP}/osal BP=${BP} make -C ${QTOP}/osal BP=${BP}
make -C ${QTOP}/platform BP=${BP} make -C ${QTOP}/platform BP=${BP}
make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP}
#exec = #exec =
LD_A_FILES += $(LIBDIR)/libarch.a LD_A_FILES += $(LIBDIR)/libarch.a
LD_A_FILES += $(LIBDIR)/libkernel.a LD_A_FILES += $(LIBDIR)/libkernel.a

View File

@@ -36,16 +36,16 @@ LSRCS += $(wildcard *.s)
all:: all::
make -C ${QTOP}/arch BP=${BP} make -C ${QTOP}/arch BP=${BP}
make -C ${QTOP}/kernel BP=${BP}
make -C ${QTOP}/osal BP=${BP}
make -C ${QTOP}/platform BP=${BP}
make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP} make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP}
make -C ${QTOP}/components/connectivity/Eclipse-Paho-MQTT BP=${BP} make -C ${QTOP}/components/connectivity/Eclipse-Paho-MQTT BP=${BP}
make -C ${QTOP}/devices BP=${BP} make -C ${QTOP}/devices BP=${BP}
make -C ${QTOP}/kernel BP=${BP}
make -C ${QTOP}/net/at BP=${BP} make -C ${QTOP}/net/at BP=${BP}
make -C ${QTOP}/net/tencent_firmware_module_wrapper BP=${BP}
make -C ${QTOP}/net/sal_module_wrapper BP=${BP} make -C ${QTOP}/net/sal_module_wrapper BP=${BP}
make -C ${QTOP}/net/socket_wrapper BP=${BP} make -C ${QTOP}/net/socket_wrapper BP=${BP}
make -C ${QTOP}/net/tencent_firmware_module_wrapper BP=${BP}
make -C ${QTOP}/osal BP=${BP}
make -C ${QTOP}/platform BP=${BP}
#exec = #exec =
LD_A_FILES += $(LIBDIR)/libarch.a LD_A_FILES += $(LIBDIR)/libarch.a
LD_A_FILES += $(LIBDIR)/libkernel.a LD_A_FILES += $(LIBDIR)/libkernel.a

View File

@@ -36,16 +36,16 @@ LSRCS += $(wildcard *.s)
all:: all::
make -C ${QTOP}/arch BP=${BP} make -C ${QTOP}/arch BP=${BP}
make -C ${QTOP}/kernel BP=${BP}
make -C ${QTOP}/osal BP=${BP}
make -C ${QTOP}/platform BP=${BP}
make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP} make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP}
make -C ${QTOP}/components/connectivity/Eclipse-Paho-MQTT BP=${BP} make -C ${QTOP}/components/connectivity/Eclipse-Paho-MQTT BP=${BP}
make -C ${QTOP}/devices BP=${BP} make -C ${QTOP}/devices BP=${BP}
make -C ${QTOP}/kernel BP=${BP}
make -C ${QTOP}/net/at BP=${BP} make -C ${QTOP}/net/at BP=${BP}
make -C ${QTOP}/net/tencent_firmware_module_wrapper BP=${BP}
make -C ${QTOP}/net/sal_module_wrapper BP=${BP} make -C ${QTOP}/net/sal_module_wrapper BP=${BP}
make -C ${QTOP}/net/socket_wrapper BP=${BP} make -C ${QTOP}/net/socket_wrapper BP=${BP}
make -C ${QTOP}/net/tencent_firmware_module_wrapper BP=${BP}
make -C ${QTOP}/osal BP=${BP}
make -C ${QTOP}/platform BP=${BP}
#exec = #exec =
LD_A_FILES += $(LIBDIR)/libarch.a LD_A_FILES += $(LIBDIR)/libarch.a
LD_A_FILES += $(LIBDIR)/libkernel.a LD_A_FILES += $(LIBDIR)/libkernel.a

View File

@@ -247,4 +247,4 @@ clean:
####################################### #######################################
-include $(wildcard $(BUILD_DIR)/*.d) -include $(wildcard $(BUILD_DIR)/*.d)
# *** EOF *** # *** EOF ***

View File

@@ -30,13 +30,13 @@ subdirs=
ifneq (help,$(findstring help,$(MAKECMDGOALS))) ifneq (help,$(findstring help,$(MAKECMDGOALS)))
ifeq (, $(strip ${BP})) ifeq (, $(strip ${BP}))
$(error when compile arch/, must specify BP and PLATFORM_HAL_LSRCS obviously , see `make help`) $(error when compile arch/, must specify BP obviously , see `make help`)
endif endif
include ${QTOP}/qmk/board-pack/bp.${BP} include ${QTOP}/qmk/board-pack/bp.${BP}
ifeq (,$(strip ${PLATFORM_HAL_LSRCS})) ifeq (,$(strip ${PLATFORM_HAL_LSRCS}))
$(error when compile arch/, must specify BP and PLATFORM_HAL_LSRCS obviously , see `make help`) $(error when compile arch/, must specify PLATFORM_HAL_LSRCS on your bp.${BP} , see `make help`)
endif endif
endif endif

View File

@@ -30,13 +30,13 @@ subdirs=
ifneq (help,$(findstring help,$(MAKECMDGOALS))) ifneq (help,$(findstring help,$(MAKECMDGOALS)))
ifeq (, $(strip ${BP})) ifeq (, $(strip ${BP}))
$(error when compile arch/, must specify BP and PLATFORM_VENDOR_BSP_LSRCS obviously , see `make help`) $(error when compile arch/, must specify BP obviously, see `make help`)
endif endif
include ${QTOP}/qmk/board-pack/bp.${BP} include ${QTOP}/qmk/board-pack/bp.${BP}
ifeq (,$(strip ${PLATFORM_VENDOR_BSP_LSRCS})) ifeq (,$(strip ${PLATFORM_VENDOR_BSP_LSRCS}))
$(error when compile arch/, must specify BP and PLATFORM_VENDOR_BSP_LSRCS obviously , see `make help`) $(error when compile arch/, must specify PLATFORM_VENDOR_BSP_LSRCS on your bp.${BP}, see `make help`)
endif endif
endif endif

View File

@@ -22,14 +22,14 @@ ifeq ($(filter-out Linux Darwin,$(uname)),)
endif endif
endif endif
# arch
CFGFLAGS += -I${QTOP}/arch/linux/common/include/ CFGFLAGS += -I${QTOP}/arch/linux/common/include/
CFGFLAGS += -I${QTOP}/arch/linux/posix/gcc CFGFLAGS += -I${QTOP}/arch/linux/posix/gcc
ARCH_LSCRS := $(wildcard ${QTOP}/arch/linux/posix/gcc/*.c) ARCH_LSRCS += $(wildcard ${QTOP}/arch/linux/posix/gcc/*.c)
ARCH_LSCRS += $(wildcard ${QTOP}/arch/linux/common/*.c) ARCH_LSRCS += $(wildcard ${QTOP}/arch/linux/common/*.c)
CFGFLAGS += -O0 -Wall -g2 -ggdb CFGFLAGS += -O0 -Wall -g2 -ggdb
@@ -42,3 +42,39 @@ CFGFLAGS += -I${QTOP}/kernel/pm/include
# kernel
CFGFLAGS += -I${QTOP}/kernel/core/include
CFGFLAGS += -I${QTOP}/kernel/evtdrv/include
CFGFLAGS += -I${QTOP}/kernel/hal/include
CFGFLAGS += -I${QTOP}/kernel/pm/include
# CMSIS
CFGFLAGS += -I${QTOP}/osal/cmsis_os
#net
CFGFLAGS += -I$(QTOP)/net/at/include
CFGFLAGS += -I$(QTOP)/net/sal_module_wrapper
# components
CFGFLAGS += -I$(QTOP)/components/connectivity/Modbus/3rdparty/freemodbus-v1.6/modbus/include
CFGFLAGS += -I$(QTOP)/components/shell/include
CFGFLAGS += -I$(QTOP)/components/connectivity/mqttclient/mqttclient
CFGFLAGS += -I$(QTOP)/components/connectivity/mqttclient/mqtt
CFGFLAGS += -I$(QTOP)/components/connectivity/mqttclient/common
CFGFLAGS += -I$(QTOP)/components/connectivity/mqttclient/platform/TencentOS-tiny
CFGFLAGS += -I$(QTOP)/components/connectivity/mqttclient/network
CFGFLAGS += -I$(QTOP)/components/fs/kv/include
CFGFLAGS += -I$(QTOP)/components/ota/common/flash
CFGFLAGS += -I$(QTOP)/components/connectivity/Eclipse-Paho-MQTT/wrapper/include
CFGFLAGS += -I$(QTOP)/components/utils/JSON/include
# devices
# examples
CFGFLAGS += -I$(QTOP)/examples/event_driven_at_module/at_evtdrv/include

View File

@@ -1,40 +0,0 @@
# toolchain
uname := $(shell uname -s)
ifeq ($(filter-out Linux Darwin,$(uname)),)
ifeq ($(shell uname -m),x86_64)
CC = $(CROSS_COMPILE)gcc
CXX = $(CROSS_COMPILE)g++
LD = $(CROSS_COMPILE)ld
AR = $(CROSS_COMPILE)ar
ARFLAGS = -rc
STRIP = $(CROSS_COMPILE)strip
RANLIB = $(CROSS_COMPILE)ranlib
else
CROSS_COMPILE =
CC = $(CROSS_COMPILE)gcc -m32
CXX = $(CROSS_COMPILE)g++ -m32
LD = $(CROSS_COMPILE)ld -melf_i386
AR = $(CROSS_COMPILE)ar
ARFLAGS = -rc
STRIP = $(CROSS_COMPILE)strip
RANLIB = $(CROSS_COMPILE)ranlib
endif
endif
CFGFLAGS += -O0 -Wall -g2 -ggdb
CFGFLAGS += -I${QTOP}/board/Linux_Posix/hello_world/inc
CFGFLAGS += -I${QTOP}/osal/cmsis_os
CFGFLAGS += -I${QTOP}/kernel/core/include
CFGFLAGS += -I${QTOP}/kernel/evtdrv/include
CFGFLAGS += -I${QTOP}/kernel/hal/include
CFGFLAGS += -I${QTOP}/kernel/pm/include
CFGFLAGS += -I${QTOP}/arch/linux/common/include
CFGFLAGS += -I${QTOP}/arch/linux/posix/gcc

View File

@@ -7,31 +7,25 @@ ARFLAGS = -rc
STRIP = $(CROSS_COMPILE)strip STRIP = $(CROSS_COMPILE)strip
RANLIB = $(CROSS_COMPILE)ranlib RANLIB = $(CROSS_COMPILE)ranlib
# debug
CFGFLAGS += -g -gdwarf-2
# cpu # cpu
###################################
# cpu/fpu/float-abi
CFGFLAGS += -mcpu=cortex-m4 CFGFLAGS += -mcpu=cortex-m4
# fpu
CFGFLAGS += -mfpu=fpv4-sp-d16 CFGFLAGS += -mfpu=fpv4-sp-d16
# float-abi
CFGFLAGS += -mfloat-abi=hard -mthumb CFGFLAGS += -mfloat-abi=hard -mthumb
# Device # Device
CFGFLAGS += -DUSE_HAL_DRIVER -DSTM32L431xx CFGFLAGS += -DUSE_HAL_DRIVER -DSTM32L431xx
CFGFLAGS += -Wall -fdata-sections -ffunction-sections CFGFLAGS += -Wall -fdata-sections -ffunction-sections
CFGFLAGS += -g -gdwarf-2
# C includes # arch
# Kernel
CFGFLAGS += -I${QTOP}/kernel/core/include
CFGFLAGS += -I${QTOP}/kernel/evtdrv/include
CFGFLAGS += -I${QTOP}/kernel/hal/include
CFGFLAGS += -I${QTOP}/kernel/pm/include
# Arch
CFGFLAGS += -I$(QTOP)/arch/arm/arm-v7m/common/include CFGFLAGS += -I$(QTOP)/arch/arm/arm-v7m/common/include
CFGFLAGS += -I$(QTOP)/arch/arm/arm-v7m/cortex-m4/gcc CFGFLAGS += -I$(QTOP)/arch/arm/arm-v7m/cortex-m4/gcc
@@ -42,7 +36,8 @@ ARCH_LSRCS += $(wildcard ${QTOP}/arch/arm/arm-v7m/common/*.c)
ARCH_LSRCS += $(wildcard ${QTOP}/arch/arm/arm-v7m/common/*.s) ARCH_LSRCS += $(wildcard ${QTOP}/arch/arm/arm-v7m/common/*.s)
ARCH_LSRCS += $(wildcard ${QTOP}/arch/arm/arm-v7m/common/*.S) ARCH_LSRCS += $(wildcard ${QTOP}/arch/arm/arm-v7m/common/*.S)
# Board # Board TOS
CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/TOS-CONFIG CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/TOS-CONFIG
# CMSIS # CMSIS
@@ -58,16 +53,40 @@ CFGFLAGS += -I$(QTOP)/platform/vendor_bsp/st/CMSIS/Include
CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/DHT11 CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/DHT11
CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/BH1750 CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/BH1750
CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/OLED CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/OLED
CFGFLAGS += -I$(QTOP)/examples/event_driven_at_module/at_evtdrv/include
#board BSP
CFGFLAGS += -I$(QTOP)/net/at/include
CFGFLAGS += -I$(QTOP)/net/sal_module_wrapper
CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/PM25 CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/PM25
CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/Modbus_Port CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/Modbus_Port
CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/E53_IA1 CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/E53_IA1
CFGFLAGS += -I$(QTOP)/devices/esp8266
BSP_LSRCS += $(shell find $(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Src -name "*.c" -o -name "*.s")
BSP_LSRCS += $(shell find $(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware -name "*.c" -o -name "*.s")
#platform/vendor_bsp
PLATFORM_VENDOR_BSP_LSRCS += $(shell find $(QTOP)/platform/vendor_bsp/st/STM32L4xx_HAL_Driver/Src -name "*.c" -o -name "*.s")
PLATFORM_HAL_LSRCS += $(shell find $(QTOP)/platform/hal/st/stm32l4xx -name "*.c" -o -name "*.s")
# kernel
CFGFLAGS += -I${QTOP}/kernel/core/include
CFGFLAGS += -I${QTOP}/kernel/evtdrv/include
CFGFLAGS += -I${QTOP}/kernel/hal/include
CFGFLAGS += -I${QTOP}/kernel/pm/include
# CMSIS
CFGFLAGS += -I${QTOP}/osal/cmsis_os
#net
CFGFLAGS += -I$(QTOP)/net/at/include
CFGFLAGS += -I$(QTOP)/net/sal_module_wrapper
# components
CFGFLAGS += -I$(QTOP)/components/connectivity/Modbus/3rdparty/freemodbus-v1.6/modbus/include CFGFLAGS += -I$(QTOP)/components/connectivity/Modbus/3rdparty/freemodbus-v1.6/modbus/include
CFGFLAGS += -I$(QTOP)/components/shell/include CFGFLAGS += -I$(QTOP)/components/shell/include
CFGFLAGS += -I$(QTOP)/components/connectivity/mqttclient/mqttclient CFGFLAGS += -I$(QTOP)/components/connectivity/mqttclient/mqttclient
@@ -80,9 +99,9 @@ CFGFLAGS += -I$(QTOP)/components/ota/common/flash
CFGFLAGS += -I$(QTOP)/components/connectivity/Eclipse-Paho-MQTT/wrapper/include CFGFLAGS += -I$(QTOP)/components/connectivity/Eclipse-Paho-MQTT/wrapper/include
CFGFLAGS += -I$(QTOP)/components/utils/JSON/include CFGFLAGS += -I$(QTOP)/components/utils/JSON/include
BSP_LSRCS += $(shell find $(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Src -name "*.c" -o -name "*.s") # devices
BSP_LSRCS += $(shell find $(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware -name "*.c" -o -name "*.s")
#platform/vendor_bsp CFGFLAGS += -I$(QTOP)/devices/esp8266
PLATFORM_VENDOR_BSP_LSRCS += $(shell find $(QTOP)/platform/vendor_bsp/st/STM32L4xx_HAL_Driver/Src -name "*.c" -o -name "*.s")
PLATFORM_HAL_LSRCS += $(shell find $(QTOP)/platform/hal/st/stm32l4xx -name "*.c" -o -name "*.s") # examples
CFGFLAGS += -I$(QTOP)/examples/event_driven_at_module/at_evtdrv/include

View File

@@ -133,7 +133,13 @@ endif
ifndef LSRCS ifndef LSRCS
LSRCS = $(filter-out $(patsubst ./%,%,${LSRCS_EXCLUDE_FILES}),${LSRCS_ALL}) LSRCS = $(filter-out $(patsubst ./%,%,${LSRCS_EXCLUDE_FILES}),${LSRCS_ALL})
else else
$(info $(shell echo -e "[$(BP)] INFO LSRCS is defined by users, LSRCS=$(LSRCS)"))
$(info [$(BP)] INFO LSRCS defined by user, use `make V=1` verbose print )
ifneq (0,$(V))
$(info LSRCS=$(LSRCS)")
endif
endif endif
LOBJS = $(patsubst $(QTOP)/%,%,$(addsuffix .o, $(basename ${LSRCS}))) LOBJS = $(patsubst $(QTOP)/%,%,$(addsuffix .o, $(basename ${LSRCS})))
@@ -169,8 +175,8 @@ NO_QMK_DEPS = 1
# enable partial recompilation through use of included # enable partial recompilation through use of included
# dependency makefiles # dependency makefiles
# #
ifndef NO_QMK_DEPS ifdef NO_QMK_DEPS
zDEPS_OPT = -MMD -MP -MF'$(@:%.o=%.d)' zDEPS_OPT = -MMD -MP -MF'$(@:%.o=%.d)' -Wa,-a,-ad,-alms='$(@:%.o=%.lst)'
endif # ifndef NO_QMK_DEPS endif # ifndef NO_QMK_DEPS