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)))
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
include ${QTOP}/qmk/board-pack/bp.${BP}
$(info ${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

View File

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

View File

@@ -36,11 +36,17 @@ LSRCS += $(wildcard *.s)
all::
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}/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}/platform BP=${BP}
make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP}
make -C ${QTOP}/components/utils BP=${BP}
#exec =
LD_A_FILES += $(LIBDIR)/libarch.a
LD_A_FILES += $(LIBDIR)/libkernel.a

View File

@@ -36,10 +36,16 @@ LSRCS += $(wildcard *.s)
all::
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}/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}/platform BP=${BP}
make -C ${QTOP}/board/TencentOS_tiny_EVB_MX_Plus/BSP BP=${BP}
#exec =
LD_A_FILES += $(LIBDIR)/libarch.a
LD_A_FILES += $(LIBDIR)/libkernel.a

View File

@@ -36,16 +36,16 @@ LSRCS += $(wildcard *.s)
all::
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}/components/connectivity/Eclipse-Paho-MQTT 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/tencent_firmware_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/tencent_firmware_module_wrapper BP=${BP}
make -C ${QTOP}/osal BP=${BP}
make -C ${QTOP}/platform BP=${BP}
#exec =
LD_A_FILES += $(LIBDIR)/libarch.a
LD_A_FILES += $(LIBDIR)/libkernel.a

View File

@@ -36,16 +36,16 @@ LSRCS += $(wildcard *.s)
all::
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}/components/connectivity/Eclipse-Paho-MQTT 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/tencent_firmware_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/tencent_firmware_module_wrapper BP=${BP}
make -C ${QTOP}/osal BP=${BP}
make -C ${QTOP}/platform BP=${BP}
#exec =
LD_A_FILES += $(LIBDIR)/libarch.a
LD_A_FILES += $(LIBDIR)/libkernel.a

View File

@@ -30,13 +30,13 @@ subdirs=
ifneq (help,$(findstring help,$(MAKECMDGOALS)))
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
include ${QTOP}/qmk/board-pack/bp.${BP}
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

View File

@@ -30,13 +30,13 @@ subdirs=
ifneq (help,$(findstring help,$(MAKECMDGOALS)))
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
include ${QTOP}/qmk/board-pack/bp.${BP}
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

View File

@@ -22,14 +22,14 @@ ifeq ($(filter-out Linux Darwin,$(uname)),)
endif
endif
# arch
CFGFLAGS += -I${QTOP}/arch/linux/common/include/
CFGFLAGS += -I${QTOP}/arch/linux/posix/gcc
ARCH_LSCRS := $(wildcard ${QTOP}/arch/linux/posix/gcc/*.c)
ARCH_LSCRS += $(wildcard ${QTOP}/arch/linux/common/*.c)
ARCH_LSRCS += $(wildcard ${QTOP}/arch/linux/posix/gcc/*.c)
ARCH_LSRCS += $(wildcard ${QTOP}/arch/linux/common/*.c)
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
RANLIB = $(CROSS_COMPILE)ranlib
# debug
CFGFLAGS += -g -gdwarf-2
# cpu
###################################
# cpu/fpu/float-abi
CFGFLAGS += -mcpu=cortex-m4
# fpu
CFGFLAGS += -mfpu=fpv4-sp-d16
# float-abi
CFGFLAGS += -mfloat-abi=hard -mthumb
# Device
CFGFLAGS += -DUSE_HAL_DRIVER -DSTM32L431xx
CFGFLAGS += -Wall -fdata-sections -ffunction-sections
CFGFLAGS += -g -gdwarf-2
# C includes
# 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
# arch
CFGFLAGS += -I$(QTOP)/arch/arm/arm-v7m/common/include
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)
# Board
# Board TOS
CFGFLAGS += -I$(QTOP)/board/TencentOS_tiny_EVB_MX_Plus/TOS-CONFIG
# 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/BH1750
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/Modbus_Port
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/shell/include
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/utils/JSON/include
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")
# devices
#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")
CFGFLAGS += -I$(QTOP)/devices/esp8266
# examples
CFGFLAGS += -I$(QTOP)/examples/event_driven_at_module/at_evtdrv/include

View File

@@ -133,7 +133,13 @@ endif
ifndef LSRCS
LSRCS = $(filter-out $(patsubst ./%,%,${LSRCS_EXCLUDE_FILES}),${LSRCS_ALL})
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
LOBJS = $(patsubst $(QTOP)/%,%,$(addsuffix .o, $(basename ${LSRCS})))
@@ -169,8 +175,8 @@ NO_QMK_DEPS = 1
# enable partial recompilation through use of included
# dependency makefiles
#
ifndef NO_QMK_DEPS
zDEPS_OPT = -MMD -MP -MF'$(@:%.o=%.d)'
ifdef NO_QMK_DEPS
zDEPS_OPT = -MMD -MP -MF'$(@:%.o=%.d)' -Wa,-a,-ad,-alms='$(@:%.o=%.lst)'
endif # ifndef NO_QMK_DEPS