forked from Archive/PX4-Autopilot
platform -> board
This commit is contained in:
parent
abe48bd714
commit
50739c1843
34
Makefile
34
Makefile
|
@ -14,12 +14,22 @@ include $(PX4_BASE)/makefiles/setup.mk
|
||||||
CONFIGS ?= px4fmu_default px4io_default
|
CONFIGS ?= px4fmu_default px4io_default
|
||||||
|
|
||||||
#
|
#
|
||||||
# Platforms (boards) that we build NuttX export kits for.
|
# Boards that we build NuttX export kits for.
|
||||||
#
|
#
|
||||||
PLATFORMS = px4fmu px4io
|
BOARDS = px4fmu px4io
|
||||||
|
|
||||||
#
|
#
|
||||||
# If the user has listed a config as a target, strip it out and override CONFIGS
|
# Debugging
|
||||||
|
#
|
||||||
|
MQUIET = --no-print-directory
|
||||||
|
#MQUIET = --print-directory
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# No user-serviceable parts below
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# If the user has listed a config as a target, strip it out and override CONFIGS.
|
||||||
#
|
#
|
||||||
EXPLICIT_CONFIGS := $(filter $(CONFIGS),$(MAKECMDGOALS))
|
EXPLICIT_CONFIGS := $(filter $(CONFIGS),$(MAKECMDGOALS))
|
||||||
ifneq ($(EXPLICIT_CONFIGS),)
|
ifneq ($(EXPLICIT_CONFIGS),)
|
||||||
|
@ -34,12 +44,6 @@ endif
|
||||||
STAGED_FIRMWARES = $(foreach config,$(CONFIGS),$(IMAGE_DIR)/$(config).px4)
|
STAGED_FIRMWARES = $(foreach config,$(CONFIGS),$(IMAGE_DIR)/$(config).px4)
|
||||||
FIRMWARES = $(foreach config,$(CONFIGS),$(BUILD_DIR)/$(config).build/firmware.px4)
|
FIRMWARES = $(foreach config,$(CONFIGS),$(BUILD_DIR)/$(config).build/firmware.px4)
|
||||||
|
|
||||||
#
|
|
||||||
# Debugging
|
|
||||||
#
|
|
||||||
MQUIET = --no-print-directory
|
|
||||||
#MQUIET = --print-directory
|
|
||||||
|
|
||||||
all: $(STAGED_FIRMWARES)
|
all: $(STAGED_FIRMWARES)
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -76,18 +80,18 @@ $(FIRMWARES): $(BUILD_DIR)/%.build/firmware.px4:
|
||||||
#
|
#
|
||||||
# XXX PX4IO configuration name is bad - NuttX configs should probably all be "px4"
|
# XXX PX4IO configuration name is bad - NuttX configs should probably all be "px4"
|
||||||
#
|
#
|
||||||
NUTTX_ARCHIVES = $(foreach platform,$(PLATFORMS),$(ARCHIVE_DIR)/$(platform).export)
|
NUTTX_ARCHIVES = $(foreach board,$(BOARDS),$(ARCHIVE_DIR)/$(board).export)
|
||||||
.PHONY: archives
|
.PHONY: archives
|
||||||
archives: $(NUTTX_ARCHIVES)
|
archives: $(NUTTX_ARCHIVES)
|
||||||
|
|
||||||
$(ARCHIVE_DIR)/%.export: platform = $(notdir $(basename $@))
|
$(ARCHIVE_DIR)/%.export: board = $(notdir $(basename $@))
|
||||||
$(ARCHIVE_DIR)/%.export: configuration = $(if $(filter $(platform),px4io),io,nsh)
|
$(ARCHIVE_DIR)/%.export: configuration = $(if $(filter $(board),px4io),io,nsh)
|
||||||
$(NUTTX_ARCHIVES): $(ARCHIVE_DIR)/%.export: $(NUTTX_SRC) $(NUTTX_APPS)
|
$(NUTTX_ARCHIVES): $(ARCHIVE_DIR)/%.export: $(NUTTX_SRC) $(NUTTX_APPS)
|
||||||
@echo %% Configuring NuttX for $(platform)
|
@echo %% Configuring NuttX for $(board)
|
||||||
$(Q) (cd $(NUTTX_SRC) && $(RMDIR) nuttx-export)
|
$(Q) (cd $(NUTTX_SRC) && $(RMDIR) nuttx-export)
|
||||||
$(Q) make -C $(NUTTX_SRC) -r $(MQUIET) distclean
|
$(Q) make -C $(NUTTX_SRC) -r $(MQUIET) distclean
|
||||||
$(Q) (cd $(NUTTX_SRC)/tools && ./configure.sh $(platform)/$(configuration))
|
$(Q) (cd $(NUTTX_SRC)/tools && ./configure.sh $(board)/$(configuration))
|
||||||
@echo %% Exporting NuttX for $(platform)
|
@echo %% Exporting NuttX for $(board)
|
||||||
$(Q) make -C $(NUTTX_SRC) -r $(MQUIET) export
|
$(Q) make -C $(NUTTX_SRC) -r $(MQUIET) export
|
||||||
$(Q) mkdir -p $(dir $@)
|
$(Q) mkdir -p $(dir $@)
|
||||||
$(Q) $(COPY) $(NUTTX_SRC)/nuttx-export.zip $@
|
$(Q) $(COPY) $(NUTTX_SRC)/nuttx-export.zip $@
|
||||||
|
|
|
@ -7,4 +7,4 @@
|
||||||
#
|
#
|
||||||
CONFIG_ARCH = CORTEXM4F
|
CONFIG_ARCH = CORTEXM4F
|
||||||
|
|
||||||
include $(PX4_MK_INCLUDE)/toolchain_gnu-arm-eabi.mk
|
include $(PX4_MK_DIR)/toolchain_gnu-arm-eabi.mk
|
|
@ -7,4 +7,4 @@
|
||||||
#
|
#
|
||||||
CONFIG_ARCH = CORTEXM3
|
CONFIG_ARCH = CORTEXM3
|
||||||
|
|
||||||
include $(PX4_MK_INCLUDE)/toolchain_gnu-arm-eabi.mk
|
include $(PX4_MK_DIR)/toolchain_gnu-arm-eabi.mk
|
|
@ -6,4 +6,4 @@ CONFIG = px4fmu_default
|
||||||
SRCS = $(PX4_BASE)/platforms/empty.c
|
SRCS = $(PX4_BASE)/platforms/empty.c
|
||||||
ROMFS_ROOT = $(PX4_BASE)/ROMFS/$(CONFIG)
|
ROMFS_ROOT = $(PX4_BASE)/ROMFS/$(CONFIG)
|
||||||
|
|
||||||
include $(PX4_BASE)/makefiles/firmware.mk
|
include $(PX4_MK_DIR)/firmware.mk
|
||||||
|
|
|
@ -5,4 +5,4 @@
|
||||||
CONFIG = px4io_default
|
CONFIG = px4io_default
|
||||||
SRCS = $(PX4_BASE)/platforms/empty.c
|
SRCS = $(PX4_BASE)/platforms/empty.c
|
||||||
|
|
||||||
include $(PX4_BASE)/makefiles/firmware.mk
|
include $(PX4_MK_DIR)/firmware.mk
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
#
|
#
|
||||||
# Requires:
|
# Requires:
|
||||||
#
|
#
|
||||||
# PLATFORM
|
# BOARD
|
||||||
# Must be set to a platform name known to the PX4 distribution (as
|
# Must be set to a board name known to the PX4 distribution (as
|
||||||
# we need a corresponding NuttX export archive to link with).
|
# we need a corresponding NuttX export archive to link with).
|
||||||
#
|
#
|
||||||
# Optional:
|
# Optional:
|
||||||
|
@ -41,16 +41,16 @@
|
||||||
# If PX4_BASE wasn't set previously, work out what it should be
|
# If PX4_BASE wasn't set previously, work out what it should be
|
||||||
# and set it here now.
|
# and set it here now.
|
||||||
#
|
#
|
||||||
export PX4_MK_INCLUDE ?= $(dir $(lastword $(MAKEFILE_LIST)))
|
export MK_DIR ?= $(dir $(lastword $(MAKEFILE_LIST)))
|
||||||
ifeq ($(PX4_BASE),)
|
ifeq ($(PX4_BASE),)
|
||||||
export PX4_BASE := $(abspath $(PX4_MK_INCLUDE)/..)
|
export PX4_BASE := $(abspath $(MK_DIR)/..)
|
||||||
$(info %% set PX4_BASE to $(PX4_BASE))
|
$(info %% set PX4_BASE to $(PX4_BASE))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# Get path and tool config
|
# Get path and tool config
|
||||||
#
|
#
|
||||||
include $(PX4_MK_INCLUDE)/setup.mk
|
include $(MK_DIR)/setup.mk
|
||||||
|
|
||||||
#
|
#
|
||||||
# If WORK_DIR is not set, create a 'build' directory next to the
|
# If WORK_DIR is not set, create a 'build' directory next to the
|
||||||
|
@ -63,18 +63,18 @@ endif
|
||||||
$(info %% WORK_DIR $(WORK_DIR))
|
$(info %% WORK_DIR $(WORK_DIR))
|
||||||
|
|
||||||
#
|
#
|
||||||
# Sanity-check the PLATFORM variable and then get the platform config.
|
# Sanity-check the BOARD variable and then get the board config.
|
||||||
# If PLATFORM is not set, but CONFIG is, use that.
|
# If BOARD is not set, but CONFIG is, use that.
|
||||||
#
|
#
|
||||||
# The platform config in turn will fetch the toolchain configuration.
|
# The board config in turn will fetch the toolchain configuration.
|
||||||
#
|
#
|
||||||
ifeq ($(PLATFORM),)
|
ifeq ($(BOARD),)
|
||||||
ifeq ($(CONFIG),)
|
ifeq ($(CONFIG),)
|
||||||
$(error At least one of the PLATFORM or CONFIG variables must be set before including firmware.mk)
|
$(error At least one of the BOARD or CONFIG variables must be set before including firmware.mk)
|
||||||
endif
|
endif
|
||||||
PLATFORM := $(firstword $(subst _, ,$(CONFIG)))
|
BOARD := $(firstword $(subst _, ,$(CONFIG)))
|
||||||
endif
|
endif
|
||||||
include $(PX4_MK_INCLUDE)/platform_$(PLATFORM).mk
|
include $(PX4_MK_DIR)/board_$(BOARD).mk
|
||||||
|
|
||||||
#
|
#
|
||||||
# Things that, if they change, might affect everything
|
# Things that, if they change, might affect everything
|
||||||
|
@ -86,11 +86,11 @@ GLOBAL_DEPS += $(MAKEFILE_LIST)
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
#
|
#
|
||||||
# Check that the NuttX archive for the selected platform is available.
|
# Check that the NuttX archive for the selected board is available.
|
||||||
#
|
#
|
||||||
NUTTX_ARCHIVE := $(wildcard $(ARCHIVE_DIR)/$(PLATFORM).export)
|
NUTTX_ARCHIVE := $(wildcard $(ARCHIVE_DIR)/$(BOARD).export)
|
||||||
ifeq ($(NUTTX_ARCHIVE),)
|
ifeq ($(NUTTX_ARCHIVE),)
|
||||||
$(error The NuttX export archive for $(PLATFORM) is missing from $(ARCHIVE_DIR) - try 'make archives' in $(PX4_BASE))
|
$(error The NuttX export archive for $(BOARD) is missing from $(ARCHIVE_DIR) - try 'make archives' in $(PX4_BASE))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -244,7 +244,7 @@ $(filter %.S.o,$(OBJS)): $(WORK_DIR)/%.S.o: %.S $(GLOBAL_DEPS)
|
||||||
|
|
||||||
$(PRODUCT_BUNDLE): $(PRODUCT_BIN)
|
$(PRODUCT_BUNDLE): $(PRODUCT_BIN)
|
||||||
@echo %% Generating $@
|
@echo %% Generating $@
|
||||||
$(Q) $(MKFW) --prototype $(IMAGE_DIR)/$(PLATFORM).prototype \
|
$(Q) $(MKFW) --prototype $(IMAGE_DIR)/$(BOARD).prototype \
|
||||||
--git_identity $(PX4_BASE) \
|
--git_identity $(PX4_BASE) \
|
||||||
--image $< > $@
|
--image $< > $@
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#
|
#
|
||||||
export PX4_APP_SRC = $(PX4_BASE)/src/apps
|
export PX4_APP_SRC = $(PX4_BASE)/src/apps
|
||||||
export PX4_LIB_SRC = $(PX4_BASE)/src/libs
|
export PX4_LIB_SRC = $(PX4_BASE)/src/libs
|
||||||
|
export PX4_MK_DIR = $(PX4_BASE)/makefiles
|
||||||
export NUTTX_SRC = $(PX4_BASE)/nuttx
|
export NUTTX_SRC = $(PX4_BASE)/nuttx
|
||||||
export NUTTX_APP_SRC = $(PX4_BASE)/apps
|
export NUTTX_APP_SRC = $(PX4_BASE)/apps
|
||||||
export MAVLINK_SRC = $(PX4_BASE)/mavlink
|
export MAVLINK_SRC = $(PX4_BASE)/mavlink
|
||||||
|
|
Loading…
Reference in New Issue