makefile changes for newer ct-ng
This commit is contained in:
parent
9833f1b162
commit
cad5d8d15a
13
.gitignore
vendored
13
.gitignore
vendored
@ -1,6 +1,7 @@
|
||||
/.sdk_patch_*
|
||||
/esp_iot_sdk_v*/
|
||||
/esp_iot_sdk_v*.zip
|
||||
/ESP8266_NONOS_SDK_V1.5.1_16_01_08.zip
|
||||
/sdk
|
||||
/xtensa-lx106-elf/
|
||||
.sdk_patch_*
|
||||
sdk
|
||||
xtensa-lx106-elf/
|
||||
.sdk_dir_*
|
||||
esp_nonos_sdk_*
|
||||
ESP8266_NONOS_SDK-*.zip
|
||||
*.o
|
||||
|
||||
268
Makefile
268
Makefile
@ -4,17 +4,34 @@
|
||||
# which can be used with multiple SDK versions.
|
||||
STANDALONE = y
|
||||
|
||||
GCC_VERSION = 7.3.0
|
||||
CT_GCC_VERSION = 7_3_0
|
||||
|
||||
# Directory to install toolchain to, by default inside current dir.
|
||||
TOOLCHAIN = $(TOP)/xtensa-lx106-elf
|
||||
|
||||
# NOTE: Leave this as-is and use full shas above to simplfiy things.
|
||||
# Instead of all the makefile hacks that break every time, just
|
||||
# always call it master, then d/l the SDK as a zip based on SHA.
|
||||
VENDOR_SDK = master
|
||||
|
||||
# Vendor SDK version to install, see VENDOR_SDK_ZIP_* vars below
|
||||
# for supported versions.
|
||||
VENDOR_SDK = 2.1.0-18-g61248df
|
||||
|
||||
.PHONY: crosstool-NG toolchain libhal libcirom sdk
|
||||
########################### SDK Commit List ############################
|
||||
## Pre-Krack - 10aea1782b2cac518a1a30eb8b4e046ed76c8d7c #
|
||||
## Krack patch - 61248df5f6d45d130313b412f7492f581fd4cadf #
|
||||
## master@10d7772 - 10d777260264f658965c5f323ae7f6741074d50e #
|
||||
## master@4899e50 - 4671b17cc9fc6ed6787c2d310daf8accccf29c8d #
|
||||
## master@4899e50 - 0e2308ff41578f6ad9a73f805ac4a441747d2a8e #
|
||||
## master@cab958d - 779294b0a220a6bd72c73963d890c2f1d9116b5e #
|
||||
## ------------------------- v2.2.0 release -------------------------- #
|
||||
## master@fcdedd6 - f2c63854331c8d46f7ffe944f6697ab204a54379 <-- curr. #
|
||||
########################################################################
|
||||
|
||||
REPO_TAG :=v2.2.1
|
||||
VENDOR_FULL_SHA :=3ea90190d3092131505c97ac0ddb41d5e8bedefc
|
||||
VENDOR_GIT_ZIP :="ESP8266_NONOS_SDK-$(VENDOR_FULL_SHA).zip"
|
||||
VENDOR_ZIP_DL_URI :="https://github.com/someburner/ESP8266_NONOS_SDK/releases/download/$(REPO_TAG)/$(VENDOR_GIT_ZIP)"
|
||||
|
||||
.PHONY: crosstool-ng esptool toolchain _libhal libs sdk liblwip postbuild
|
||||
|
||||
TOP = $(PWD)
|
||||
SHELL = /bin/bash
|
||||
@ -22,16 +39,23 @@ PATCH = patch -b -N
|
||||
UNZIP = unzip -q -o
|
||||
VENDOR_SDK_ZIP = $(VENDOR_SDK_ZIP_$(VENDOR_SDK))
|
||||
VENDOR_SDK_DIR = $(VENDOR_SDK_DIR_$(VENDOR_SDK))
|
||||
VENDOR_ZIP_DIR = $(VENDOR_ZIP_DIR_$(VENDOR_SDK))
|
||||
|
||||
VENDOR_SDK_DIR_2.1.0-18-g61248df = ESP8266_NONOS_SDK-2.1.0-18-g61248df
|
||||
VENDOR_SDK_ZIP_master = ESP8266_NONOS_SDK-master.zip
|
||||
VENDOR_ZIP_DIR_master = ESP8266_NONOS_SDK-master
|
||||
VENDOR_SDK_DIR_master = esp_nonos_sdk_master
|
||||
VENDOR_SDK_ZIP_2.1.0 = ESP8266_NONOS_SDK-2.1.0.zip
|
||||
VENDOR_SDK_DIR_2.1.0 = ESP8266_NONOS_SDK-2.1.0
|
||||
VENDOR_ZIP_DIR_2.1.0 = ESP8266_NONOS_SDK-2.1.0
|
||||
VENDOR_SDK_DIR_2.1.0 = esp_nonos_sdk_v2.1.0
|
||||
VENDOR_SDK_ZIP_2.0.0 = ESP8266_NONOS_SDK_V2.0.0_16_08_10.zip
|
||||
VENDOR_SDK_DIR_2.0.0 = ESP8266_NONOS_SDK_V2.0.0_16_08_10
|
||||
VENDOR_ZIP_DIR_2.0.0 = ESP8266_NONOS_SDK_V2.0.0_16_08_10
|
||||
VENDOR_SDK_DIR_2.0.0 = esp_nonos_sdk_v2.0.0
|
||||
VENDOR_SDK_ZIP_1.5.4 = ESP8266_NONOS_SDK_V1.5.4_16_05_20.zip
|
||||
VENDOR_SDK_DIR_1.5.4 = ESP8266_NONOS_SDK_V1.5.4_16_05_20
|
||||
VENDOR_ZIP_DIR_1.5.4 = ESP8266_NONOS_SDK_V1.5.4_16_05_20
|
||||
VENDOR_SDK_DIR_1.5.4 = esp_nonos_sdk_v1.5.4
|
||||
VENDOR_SDK_ZIP_1.5.3 = ESP8266_NONOS_SDK_V1.5.3_16_04_18.zip
|
||||
VENDOR_SDK_DIR_1.5.3 = ESP8266_NONOS_SDK_V1.5.3_16_04_18/ESP8266_NONOS_SDK
|
||||
VENDOR_ZIP_DIR_1.5.3 = ESP8266_NONOS_SDK_V1.5.3_16_04_18/ESP8266_NONOS_SDK
|
||||
VENDOR_SDK_DIR_1.5.3 = esp_nonos_sdk_v1.5.3
|
||||
VENDOR_SDK_ZIP_1.5.2 = ESP8266_NONOS_SDK_V1.5.2_16_01_29.zip
|
||||
VENDOR_SDK_DIR_1.5.2 = esp_iot_sdk_v1.5.2
|
||||
VENDOR_SDK_ZIP_1.5.1 = ESP8266_NONOS_SDK_V1.5.1_16_01_08.zip
|
||||
@ -72,9 +96,7 @@ VENDOR_SDK_DIR_0.9.3 = esp_iot_sdk_v0.9.3
|
||||
VENDOR_SDK_ZIP_0.9.2 = esp_iot_sdk_v0.9.2_14_10_24.zip
|
||||
VENDOR_SDK_DIR_0.9.2 = esp_iot_sdk_v0.9.2
|
||||
|
||||
|
||||
|
||||
all: esptool libcirom standalone sdk sdk_patch $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/libhal.a $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc lwip
|
||||
all: toolchain esptool sdk libs liblwip postbuild
|
||||
@echo
|
||||
@echo "Xtensa toolchain is built, to use it:"
|
||||
@echo
|
||||
@ -91,56 +113,42 @@ else
|
||||
@echo
|
||||
endif
|
||||
|
||||
standalone: sdk sdk_patch toolchain
|
||||
ifeq ($(STANDALONE),y)
|
||||
@echo "Installing vendor SDK headers into toolchain sysroot"
|
||||
@cp -Rf sdk/include/* $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/include/
|
||||
@echo "Installing vendor SDK libs into toolchain sysroot"
|
||||
@cp -Rf sdk/lib/* $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/
|
||||
@echo "Installing vendor SDK linker scripts into toolchain sysroot"
|
||||
@sed -e 's/\r//' sdk/ld/eagle.app.v6.ld | sed -e s@../ld/@@ >$(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/eagle.app.v6.ld
|
||||
@sed -e 's/\r//' sdk/ld/eagle.rom.addr.v6.ld >$(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/eagle.rom.addr.v6.ld
|
||||
endif
|
||||
esptool: $(TOOLCHAIN)/bin/esptool.py
|
||||
|
||||
clean: clean-sdk
|
||||
$(MAKE) -C crosstool-NG clean MAKELEVEL=0
|
||||
-rm -rf crosstool-NG/.build/src
|
||||
-rm -f crosstool-NG/local-patches/gcc/4.8.5/1000-*
|
||||
-rm -rf $(TOOLCHAIN)
|
||||
|
||||
clean-sdk:
|
||||
rm -rf $(VENDOR_SDK_DIR)
|
||||
rm -f sdk
|
||||
rm -f .sdk_patch_$(VENDOR_SDK)
|
||||
rm -f user_rf_cal_sector_set.o empty_user_rf_pre_init.o
|
||||
$(MAKE) -C esp-open-lwip -f Makefile.open clean
|
||||
|
||||
clean-sysroot:
|
||||
rm -rf $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/*
|
||||
rm -rf $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/include/*
|
||||
|
||||
|
||||
esptool: toolchain
|
||||
$(TOOLCHAIN)/bin/esptool.py:
|
||||
cp esptool/esptool.py $(TOOLCHAIN)/bin/
|
||||
|
||||
toolchain: $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
|
||||
# cp strip_libgcc_funcs.txt $(TOOLCHAIN)/lib/gcc/xtensa-lx106-elf/$(GCC_VERSION)/
|
||||
# cd $(TOOLCHAIN)/lib/gcc/xtensa-lx106-elf/$(GCC_VERSION)/; $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar -M < strip_libgcc_funcs.txt; rm strip_libgcc_funcs.txt
|
||||
# cp strip_libc_funcs.txt $(TOOLCHAIN)/xtensa-lx106-elf/lib
|
||||
# cd $(TOOLCHAIN)/xtensa-lx106-elf/lib; $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar -M < strip_libc_funcs.txt; rm strip_libc_funcs.txt
|
||||
|
||||
$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc: crosstool-NG/ct-ng
|
||||
cp -f 1000-mforce-l32.patch crosstool-NG/local-patches/gcc/4.8.5/
|
||||
$(MAKE) -C crosstool-NG -f ../Makefile _toolchain
|
||||
$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc: crosstool-ng/ct-ng
|
||||
$(MAKE) -C crosstool-ng -f ../Makefile _toolchain
|
||||
|
||||
_toolchain:
|
||||
./ct-ng xtensa-lx106-elf
|
||||
sed -r -i.org s%CT_PREFIX_DIR=.*%CT_PREFIX_DIR="$(TOOLCHAIN)"% .config
|
||||
sed -r -i s%CT_INSTALL_DIR_RO=y%"#"CT_INSTALL_DIR_RO=y% .config
|
||||
sed -r -i s%CT_PREFIX_DIR_RO=y%"#"CT_PREFIX_DIR_RO=y% .config
|
||||
@echo "Setting CT_GCC Version: $(GCC_VERSION)"
|
||||
# Clear autogenerated GCC settings
|
||||
sed -r -i s%CT_GCC_V_.*=y%% .config
|
||||
sed -r -i s%CT_GCC_VERSION=.*%% .config
|
||||
sed -r -i s%"# "CT_GCC_V_$(CT_GCC_VERSION)" is not set"%% .config
|
||||
# Set GCC version
|
||||
echo "CT_GCC_V_$(CT_GCC_VERSION)=y" >> .config
|
||||
echo "CT_CC_GCC_V_$(CT_GCC_VERSION)=y" >> .config
|
||||
echo "CT_GCC_VERSION=\"$(GCC_VERSION)\"" >> .config
|
||||
# Append overrides
|
||||
cat ../crosstool-config-overrides >> .config
|
||||
# Build
|
||||
./ct-ng build
|
||||
|
||||
crosstool-ng: crosstool-ng/ct-ng
|
||||
|
||||
crosstool-NG: crosstool-NG/ct-ng
|
||||
|
||||
crosstool-NG/ct-ng: crosstool-NG/bootstrap
|
||||
$(MAKE) -C crosstool-NG -f ../Makefile _ct-ng
|
||||
crosstool-ng/ct-ng: crosstool-ng/bootstrap
|
||||
$(MAKE) -C crosstool-ng -f ../Makefile _ct-ng
|
||||
|
||||
_ct-ng:
|
||||
./bootstrap
|
||||
@ -148,63 +156,113 @@ _ct-ng:
|
||||
$(MAKE) MAKELEVEL=0
|
||||
$(MAKE) install MAKELEVEL=0
|
||||
|
||||
crosstool-NG/bootstrap:
|
||||
crosstool-ng/bootstrap:
|
||||
@echo "You cloned without --recursive, fetching submodules for you."
|
||||
git submodule update --init --recursive
|
||||
|
||||
libcirom: $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/lib/libcirom.a
|
||||
$(TOOLCHAIN)/lib/gcc/xtensa-lx106-elf/$(GCC_VERSION)/libgcc.a.orig: $(TOOLCHAIN)/lib/gcc/xtensa-lx106-elf/$(GCC_VERSION)/libgcc.a
|
||||
cp strip_libgcc_funcs.txt $(@D)
|
||||
cd $(@D); cp -f libgcc.a libgcc.a.orig; $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar -M < strip_libgcc_funcs.txt; rm strip_libgcc_funcs.txt
|
||||
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/sysroot/lib/libcirom.a: $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/lib/libc.a $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/lib/libc.a.orig: $(TOOLCHAIN)/xtensa-lx106-elf/lib/libc.a
|
||||
cp strip_libc_funcs.txt $(TOOLCHAIN)/xtensa-lx106-elf/lib
|
||||
cd $(TOOLCHAIN)/xtensa-lx106-elf/lib; cp -f libc.a libc.a.orig; $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar -M < strip_libc_funcs.txt; rm strip_libc_funcs.txt
|
||||
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/libcirom.a: $(TOOLCHAIN)/xtensa-lx106-elf/lib/libc.a
|
||||
@echo "Creating irom version of libc..."
|
||||
$(TOOLCHAIN)/bin/xtensa-lx106-elf-objcopy --rename-section .text=.irom0.text \
|
||||
--rename-section .literal=.irom0.literal $(<) $(@);
|
||||
$(TOOLCHAIN)/bin/xtensa-lx106-elf-objcopy --rename-section .text=.irom0.text --rename-section .literal=.irom0.literal $(<) $(@);
|
||||
|
||||
libhal: $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/libhal.a
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/libmirom.a: $(TOOLCHAIN)/xtensa-lx106-elf/lib/libm.a
|
||||
@echo "Creating irom version of libm..."
|
||||
$(TOOLCHAIN)/bin/xtensa-lx106-elf-objcopy --rename-section .text=.irom0.text --rename-section .literal=.irom0.literal $(<) $(@);
|
||||
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/libhal.a: $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
|
||||
$(MAKE) -C lx106-hal -f ../Makefile _libhal
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/libhal.a: $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
|
||||
make -C lx106-hal -f ../Makefile _libhal
|
||||
|
||||
_libhal:
|
||||
autoreconf -i
|
||||
PATH="$(TOOLCHAIN)/bin:$(PATH)" ./configure --host=xtensa-lx106-elf --prefix=$(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr
|
||||
PATH="$(TOOLCHAIN)/bin:$(PATH)" $(MAKE)
|
||||
PATH="$(TOOLCHAIN)/bin:$(PATH)" $(MAKE) install
|
||||
PATH="$(TOOLCHAIN)/bin:$(PATH)" ./configure --host=xtensa-lx106-elf --prefix=$(TOOLCHAIN)/xtensa-lx106-elf/usr
|
||||
PATH="$(TOOLCHAIN)/bin:$(PATH)" make
|
||||
PATH="$(TOOLCHAIN)/bin:$(PATH)" make install
|
||||
|
||||
liblwip: $(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/liblwip_open.a
|
||||
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/liblwip_open.a: $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
|
||||
make -C esp-open-lwip -f Makefile.open all \
|
||||
CC=$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc \
|
||||
AR=$(TOOLCHAIN)/bin/xtensa-lx106-elf-ar \
|
||||
PREFIX=$(TOOLCHAIN) \
|
||||
CFLAGS_EXTRA=-I$(TOP)/sdk/include
|
||||
cp esp-open-lwip/liblwip_open.a $(TOOLCHAIN)/xtensa-lx106-elf/usr/lib
|
||||
cp -a esp-open-lwip/include/arch esp-open-lwip/include/lwip esp-open-lwip/include/netif esp-open-lwip/include/lwipopts.h \
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/usr/include/
|
||||
cp -a esp-open-lwip/include/arch esp-open-lwip/include/lwip esp-open-lwip/include/netif esp-open-lwip/include/lwipopts.h \
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/sys-include/
|
||||
|
||||
sdk: $(VENDOR_SDK_DIR)/.dir
|
||||
libs: $(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/libhal.a $(TOOLCHAIN)/xtensa-lx106-elf/lib/libc.a.orig $(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/libcirom.a $(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/libmirom.a $(TOOLCHAIN)/lib/gcc/xtensa-lx106-elf/$(GCC_VERSION)/libgcc.a.orig
|
||||
|
||||
sdk: .sdk_dir_$(VENDOR_SDK) .sdk_patch_$(VENDOR_SDK)
|
||||
ln -snf $(VENDOR_SDK_DIR) sdk
|
||||
ifeq ($(STANDALONE), y)
|
||||
@echo "Installing vendor SDK headers into toolchain"
|
||||
@mkdir -p $(TOOLCHAIN)/xtensa-lx106-elf/usr/include
|
||||
@cp -Rf sdk/include/* $(TOOLCHAIN)/xtensa-lx106-elf/usr/include/
|
||||
@echo "Installing vendor SDK libs into toolchain"
|
||||
@cp -Rf $(VENDOR_SDK_DIR)/lib/* $(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/
|
||||
@rm -f $(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/libgcc.a
|
||||
@rm -f $(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/libc.a
|
||||
@echo "Installing vendor SDK linker scripts into toolchain"
|
||||
@sed -e 's/\r//' $(VENDOR_SDK_DIR)/ld/eagle.app.v6.ld | sed -e s@../ld/@@ >$(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/eagle.app.v6.ld
|
||||
@sed -e 's/\r//' $(VENDOR_SDK_DIR)/ld/eagle.rom.addr.v6.ld >$(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/eagle.rom.addr.v6.ld
|
||||
else
|
||||
cp -Rf $(VENDOR_SDK_DIR) $(TOP)/$(VENDOR_SDK_DIR)
|
||||
rm -f $(TOP)/$(VENDOR_SDK_DIR)/lib/libgcc.a
|
||||
rm -f $(TOP)/$(VENDOR_SDK_DIR)/lib/libc.a
|
||||
ln -snf $(TOP)/$(VENDOR_SDK_DIR) $(TOP)/sdk
|
||||
endif
|
||||
|
||||
$(VENDOR_SDK_DIR)/.dir: $(VENDOR_SDK_ZIP)
|
||||
$(UNZIP) $^
|
||||
postbuild:
|
||||
@echo "Installing vendor SDK headers into sysroot"
|
||||
@cp -f sdk/include/c_types.h $(TOOLCHAIN)/xtensa-lx106-elf/sys-include/
|
||||
@cp -f $(TOP)/esp-open-lwip/include/lwipopts.h $(TOOLCHAIN)/xtensa-lx106-elf/sys-include/
|
||||
@cp -Rf $(TOOLCHAIN)/xtensa-lx106-elf/usr/include/lwip $(TOOLCHAIN)/xtensa-lx106-elf/sys-include/
|
||||
@cp -Rf $(TOOLCHAIN)/xtensa-lx106-elf/usr/include/arch $(TOOLCHAIN)/xtensa-lx106-elf/sys-include/
|
||||
@cp -Rf $(TOOLCHAIN)/xtensa-lx106-elf/usr/include/xtensa/* $(TOOLCHAIN)/xtensa-lx106-elf/sys-include/xtensa/
|
||||
@echo "Installing vendor SDK libs into sysroot"
|
||||
@cp -f $(TOOLCHAIN)/xtensa-lx106-elf/usr/lib/libhal.a $(TOOLCHAIN)/xtensa-lx106-elf/lib/libhal.a
|
||||
|
||||
clean-sdk-build:
|
||||
rm -f .sdk_dir_$(VENDOR_SDK) .sdk_patch_$(VENDOR_SDK)
|
||||
$(shell [[ -L sdk ]] && unlink sdk)
|
||||
rm -f $(VENDOR_GIT_ZIP)
|
||||
rm -rf $(VENDOR_SDK_DIR)
|
||||
|
||||
clean: clean-sdk-build
|
||||
rm -f .sdk_patch_$(VENDOR_SDK)
|
||||
rm -f user_rf_cal_sector_set.o empty_user_rf_pre_init.o
|
||||
$(MAKE) -C esp-open-lwip -f Makefile.open clean
|
||||
rm -f .sdk_dir_$(VENDOR_SDK)
|
||||
|
||||
distclean: clean
|
||||
$(MAKE) -C crosstool-ng clean MAKELEVEL=0
|
||||
-rm -f crosstool-ng/.config.org
|
||||
-rm -rf crosstool-ng/lib
|
||||
-rm -rf crosstool-ng/share
|
||||
-rm -rf crosstool-ng/.build/src
|
||||
-rm -rf $(TOOLCHAIN)
|
||||
|
||||
empty_user_rf_pre_init.o: empty_user_rf_pre_init.c $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc $(VENDOR_SDK_DIR)
|
||||
$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc -O2 -I$(VENDOR_SDK_DIR)/include -c $<
|
||||
|
||||
user_rf_cal_sector_set.o: user_rf_cal_sector_set.c $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc $(VENDOR_SDK_DIR)
|
||||
$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc -O2 -I$(VENDOR_SDK_DIR)/include -c $<
|
||||
|
||||
.sdk_dir_$(VENDOR_SDK): $(VENDOR_SDK_ZIP)
|
||||
-mv -f $(VENDOR_ZIP_DIR) $(VENDOR_SDK_DIR)
|
||||
-mv License $(VENDOR_SDK_DIR)
|
||||
touch $@
|
||||
@touch $@
|
||||
|
||||
$(VENDOR_SDK_DIR_2.1.0-18-g61248df)/.dir:
|
||||
echo $(VENDOR_SDK_DIR_2.1.0-18-g61248df)
|
||||
git clone https://github.com/espressif/ESP8266_NONOS_SDK $(VENDOR_SDK_DIR_2.1.0-18-g61248df)
|
||||
(cd $(VENDOR_SDK_DIR_2.1.0-18-g61248df); git checkout 61248df5f6)
|
||||
touch $@
|
||||
|
||||
$(VENDOR_SDK_DIR_2.1.0)/.dir: $(VENDOR_SDK_ZIP_2.1.0)
|
||||
$(UNZIP) $^
|
||||
touch $@
|
||||
|
||||
$(VENDOR_SDK_DIR_2.0.0)/.dir: $(VENDOR_SDK_ZIP_2.0.0)
|
||||
$(UNZIP) $^
|
||||
mv ESP8266_NONOS_SDK $(VENDOR_SDK_DIR_2.0.0)
|
||||
-mv License $(VENDOR_SDK_DIR)
|
||||
touch $@
|
||||
|
||||
$(VENDOR_SDK_DIR_1.5.4)/.dir: $(VENDOR_SDK_ZIP_1.5.4)
|
||||
$(UNZIP) $^
|
||||
mv ESP8266_NONOS_SDK $(VENDOR_SDK_DIR_1.5.4)
|
||||
-mv License $(VENDOR_SDK_DIR)
|
||||
touch $@
|
||||
|
||||
sdk_patch: $(VENDOR_SDK_DIR)/.dir .sdk_patch_$(VENDOR_SDK)
|
||||
|
||||
.sdk_patch_2.1.0-18-g61248df .sdk_patch_2.1.0: user_rf_cal_sector_set.o
|
||||
.sdk_patch_master: user_rf_cal_sector_set.o
|
||||
echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 020100" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
|
||||
$(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99_sdk_2.patch
|
||||
cd $(VENDOR_SDK_DIR)/lib; mkdir -p tmp; cd tmp; $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar x ../libcrypto.a; cd ..; $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar rs libwpa.a tmp/*.o
|
||||
@ -342,29 +400,23 @@ sdk_patch: $(VENDOR_SDK_DIR)/.dir .sdk_patch_$(VENDOR_SDK)
|
||||
$(UNZIP) $<
|
||||
@touch $@
|
||||
|
||||
.sdk_patch_0.9.2: FRM_ERR_PATCH.rar esp_iot_sdk_v0.9.2/.dir
|
||||
.sdk_patch_0.9.2: FRM_ERR_PATCH.rar esp_iot_sdk_v0.9.2/.dir
|
||||
unrar x -o+ $<
|
||||
cp FRM_ERR_PATCH/*.a $(VENDOR_SDK_DIR)/lib/
|
||||
@touch $@
|
||||
|
||||
empty_user_rf_pre_init.o: empty_user_rf_pre_init.c $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc $(VENDOR_SDK_DIR)/.dir
|
||||
$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc -O2 -I$(VENDOR_SDK_DIR)/include -c $<
|
||||
|
||||
user_rf_cal_sector_set.o: user_rf_cal_sector_set.c $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc $(VENDOR_SDK_DIR)/.dir
|
||||
$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc -O2 -I$(VENDOR_SDK_DIR)/include -c $<
|
||||
|
||||
lwip: toolchain sdk_patch
|
||||
ifeq ($(STANDALONE),y)
|
||||
$(MAKE) -C esp-open-lwip -f Makefile.open install \
|
||||
CC=$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc \
|
||||
AR=$(TOOLCHAIN)/bin/xtensa-lx106-elf-ar \
|
||||
PREFIX=$(TOOLCHAIN)
|
||||
cp -a esp-open-lwip/include/arch esp-open-lwip/include/lwip esp-open-lwip/include/netif \
|
||||
esp-open-lwip/include/lwipopts.h \
|
||||
$(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/include/
|
||||
endif
|
||||
|
||||
#######################################################################################################
|
||||
# Presumes VENDOR_FULL_SHA is >= the SDK version
|
||||
#######################################################################################################
|
||||
ESP8266_NONOS_SDK-master.zip:
|
||||
wget --content-disposition "$(VENDOR_ZIP_DL_URI)"
|
||||
rm -rf 'ESP8266_NONOS_SDK-master/*'
|
||||
mkdir -p 'ESP8266_NONOS_SDK-master'
|
||||
unzip $(VENDOR_GIT_ZIP)
|
||||
cp -a ESP8266_NONOS_SDK-$(VENDOR_FULL_SHA)/* ESP8266_NONOS_SDK-master/
|
||||
rm -rf ESP8266_NONOS_SDK-$(VENDOR_FULL_SHA)
|
||||
|
||||
#######################################################################################################
|
||||
ESP8266_NONOS_SDK-2.1.0.zip:
|
||||
wget --content-disposition "https://github.com/espressif/ESP8266_NONOS_SDK/archive/v2.1.0.zip"
|
||||
# The only change wrt to ESP8266_NONOS_SDK_V2.0.0_16_07_19.zip is licensing blurb in source/
|
||||
|
||||
15
strip_libc_funcs.txt
Normal file
15
strip_libc_funcs.txt
Normal file
@ -0,0 +1,15 @@
|
||||
OPEN libc.a
|
||||
DELETE lib_a-bzero.o
|
||||
DELETE lib_a-memcmp.o
|
||||
DELETE lib_a-memcpy.o
|
||||
DELETE lib_a-memmove.o
|
||||
DELETE lib_a-memset.o
|
||||
DELETE lib_a-rand.o
|
||||
DELETE lib_a-strcmp.o
|
||||
DELETE lib_a-strcpy.o
|
||||
DELETE lib_a-strlen.o
|
||||
DELETE lib_a-strncmp.o
|
||||
DELETE lib_a-strncpy.o
|
||||
DELETE lib_a-strstr.o
|
||||
SAVE
|
||||
END
|
||||
25
strip_libgcc_funcs.txt
Normal file
25
strip_libgcc_funcs.txt
Normal file
@ -0,0 +1,25 @@
|
||||
OPEN libgcc.a
|
||||
DELETE _addsubdf3.o
|
||||
DELETE _addsubsf3.o
|
||||
DELETE _divdf3.o
|
||||
DELETE _divdi3.o
|
||||
DELETE _divsi3.o
|
||||
DELETE _extendsfdf2.o
|
||||
DELETE _fixdfsi.o
|
||||
DELETE _fixunsdfsi.o
|
||||
DELETE _fixunssfsi.o
|
||||
DELETE _floatsidf.o
|
||||
DELETE _floatsisf.o
|
||||
DELETE _floatunsidf.o
|
||||
DELETE _floatunsisf.o
|
||||
DELETE _muldf3.o
|
||||
DELETE _muldi3.o
|
||||
DELETE _mulsf3.o
|
||||
DELETE _truncdfsf2.o
|
||||
DELETE _udivdi3.o
|
||||
DELETE _udivsi3.o
|
||||
DELETE _umoddi3.o
|
||||
DELETE _umodsi3.o
|
||||
DELETE _umulsidi3.o
|
||||
SAVE
|
||||
END
|
||||
@ -1,6 +1,7 @@
|
||||
#include <c_types.h>
|
||||
#include <spi_flash.h>
|
||||
|
||||
__attribute__ ((weak))
|
||||
uint32 user_rf_cal_sector_set(void) {
|
||||
extern char flashchip;
|
||||
SpiFlashChip *flash = (SpiFlashChip*)(&flashchip + 4);
|
||||
@ -9,3 +10,4 @@ uint32 user_rf_cal_sector_set(void) {
|
||||
uint32_t sec_num = flash->chip_size >> 12;
|
||||
return sec_num - 5;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user