mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-04 06:10:16 +03:00
The toolchain wrapper automatically adds Position Independent Execution and stack protector flags in the build process when selected in the configuration. at91bootstrap being freestanding code, it doesn't support these, so we have to disable them. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit 1351222486b93b72c00057fb3401d40967025164) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
56 lines
1.9 KiB
Makefile
56 lines
1.9 KiB
Makefile
################################################################################
|
|
#
|
|
# at91bootstrap
|
|
#
|
|
################################################################################
|
|
|
|
AT91BOOTSTRAP_VERSION = 1.16
|
|
AT91BOOTSTRAP_SITE = ftp://www.at91.com/pub/at91bootstrap
|
|
AT91BOOTSTRAP_SOURCE = AT91Bootstrap$(AT91BOOTSTRAP_VERSION).zip
|
|
AT91BOOTSTRAP_LICENSE = BSD-Source-Code
|
|
AT91BOOTSTRAP_LICENSE_FILES = include/sdramc.h
|
|
|
|
AT91BOOTSTRAP_BOARD = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_BOARD))
|
|
AT91BOOTSTRAP_MEMORY = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_MEMORY))
|
|
AT91BOOTSTRAP_MAKE_SUBDIR = board/$(AT91BOOTSTRAP_BOARD)/$(AT91BOOTSTRAP_MEMORY)
|
|
AT91BOOTSTRAP_BINARY = $(AT91BOOTSTRAP_MAKE_SUBDIR)/$(AT91BOOTSTRAP_MEMORY)_$(AT91BOOTSTRAP_BOARD).bin
|
|
|
|
AT91BOOTSTRAP_INSTALL_IMAGES = YES
|
|
AT91BOOTSTRAP_INSTALL_TARGET = NO
|
|
|
|
define AT91BOOTSTRAP_EXTRACT_CMDS
|
|
$(UNZIP) -d $(BUILD_DIR) $(AT91BOOTSTRAP_DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
|
|
mv $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)/* $(@D)
|
|
rmdir $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)
|
|
endef
|
|
|
|
ifneq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)),)
|
|
define AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
|
|
$(APPLY_PATCHES) $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \*.patch
|
|
endef
|
|
|
|
AT91BOOTSTRAP_POST_PATCH_HOOKS += AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
|
|
endif
|
|
|
|
# The at91bootstrap Makefile doesn't support customizing
|
|
# CFLAGS/LDFLAGS, so we cheat and pass our custom flags through CC and
|
|
# LD.
|
|
define AT91BOOTSTRAP_BUILD_CMDS
|
|
$(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) \
|
|
CC="$(TARGET_CC) -fno-stack-protector" \
|
|
LD="$(TARGET_CC) -fno-PIE" \
|
|
-C $(@D)/$(AT91BOOTSTRAP_MAKE_SUBDIR)
|
|
endef
|
|
|
|
define AT91BOOTSTRAP_INSTALL_IMAGES_CMDS
|
|
cp $(@D)/$(AT91BOOTSTRAP_BINARY) $(BINARIES_DIR)
|
|
endef
|
|
|
|
$(eval $(generic-package))
|
|
|
|
ifeq ($(BR2_TARGET_AT91BOOTSTRAP)$(BR_BUILDING),yy)
|
|
ifeq ($(AT91BOOTSTRAP_BOARD),)
|
|
$(error No AT91Bootstrap board name set. Check your BR2_TARGET_AT91BOOTSTRAP_BOARD setting)
|
|
endif
|
|
endif
|