Makefile 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. # Whether to merge SDK into Xtensa toolchain, producing standalone
  2. # ESP8266 toolchain. Use 'n' if you want generic Xtensa toolchain
  3. # which can be used with multiple SDK versions.
  4. STANDALONE = y
  5. # Directory to install toolchain to, by default inside current dir.
  6. TOOLCHAIN = $(TOP)/xtensa-lx106-elf
  7. # Vendor SDK version to install, see VENDOR_SDK_ZIP_* vars below
  8. # for supported versions.
  9. VENDOR_SDK = 1.5.2
  10. .PHONY: crosstool-NG toolchain libhal libcirom sdk
  11. TOP = $(PWD)
  12. PATCH = patch -b -N
  13. UNZIP = unzip -q -o
  14. VENDOR_SDK_ZIP = $(VENDOR_SDK_ZIP_$(VENDOR_SDK))
  15. VENDOR_SDK_DIR = $(VENDOR_SDK_DIR_$(VENDOR_SDK))
  16. VENDOR_SDK_ZIP_1.5.2 = ESP8266_NONOS_SDK_V1.5.2_16_01_29.zip
  17. VENDOR_SDK_DIR_1.5.2 = esp_iot_sdk_v1.5.2
  18. VENDOR_SDK_ZIP_1.5.1 = ESP8266_NONOS_SDK_V1.5.1_16_01_08.zip
  19. VENDOR_SDK_DIR_1.5.1 = esp_iot_sdk_v1.5.1
  20. VENDOR_SDK_ZIP_1.5.0 = esp_iot_sdk_v1.5.0_15_11_27.zip
  21. VENDOR_SDK_DIR_1.5.0 = esp_iot_sdk_v1.5.0
  22. VENDOR_SDK_ZIP_1.4.0 = esp_iot_sdk_v1.4.0_15_09_18.zip
  23. VENDOR_SDK_DIR_1.4.0 = esp_iot_sdk_v1.4.0
  24. VENDOR_SDK_ZIP_1.3.0 = esp_iot_sdk_v1.3.0_15_08_08.zip
  25. VENDOR_SDK_DIR_1.3.0 = esp_iot_sdk_v1.3.0
  26. VENDOR_SDK_ZIP_1.2.0 = esp_iot_sdk_v1.2.0_15_07_03.zip
  27. VENDOR_SDK_DIR_1.2.0 = esp_iot_sdk_v1.2.0
  28. VENDOR_SDK_ZIP_1.1.2 = esp_iot_sdk_v1.1.2_15_06_12.zip
  29. VENDOR_SDK_DIR_1.1.2 = esp_iot_sdk_v1.1.2
  30. VENDOR_SDK_ZIP_1.1.1 = esp_iot_sdk_v1.1.1_15_06_05.zip
  31. VENDOR_SDK_DIR_1.1.1 = esp_iot_sdk_v1.1.1
  32. VENDOR_SDK_ZIP_1.1.0 = esp_iot_sdk_v1.1.0_15_05_26.zip
  33. VENDOR_SDK_DIR_1.1.0 = esp_iot_sdk_v1.1.0
  34. # MIT-licensed version was released without changing version number
  35. #VENDOR_SDK_ZIP_1.1.0 = esp_iot_sdk_v1.1.0_15_05_22.zip
  36. #VENDOR_SDK_DIR_1.1.0 = esp_iot_sdk_v1.1.0
  37. VENDOR_SDK_ZIP_1.0.1 = esp_iot_sdk_v1.0.1_15_04_24.zip
  38. VENDOR_SDK_DIR_1.0.1 = esp_iot_sdk_v1.0.1
  39. VENDOR_SDK_ZIP_1.0.1b2 = esp_iot_sdk_v1.0.1_b2_15_04_10.zip
  40. VENDOR_SDK_DIR_1.0.1b2 = esp_iot_sdk_v1.0.1_b2
  41. VENDOR_SDK_ZIP_1.0.1b1 = esp_iot_sdk_v1.0.1_b1_15_04_02.zip
  42. VENDOR_SDK_DIR_1.0.1b1 = esp_iot_sdk_v1.0.1_b1
  43. VENDOR_SDK_ZIP_1.0.0 = esp_iot_sdk_v1.0.0_15_03_20.zip
  44. VENDOR_SDK_DIR_1.0.0 = esp_iot_sdk_v1.0.0
  45. VENDOR_SDK_ZIP_0.9.6b1 = esp_iot_sdk_v0.9.6_b1_15_02_15.zip
  46. VENDOR_SDK_DIR_0.9.6b1 = esp_iot_sdk_v0.9.6_b1
  47. VENDOR_SDK_ZIP_0.9.5 = esp_iot_sdk_v0.9.5_15_01_23.zip
  48. VENDOR_SDK_DIR_0.9.5 = esp_iot_sdk_v0.9.5
  49. VENDOR_SDK_ZIP_0.9.4 = esp_iot_sdk_v0.9.4_14_12_19.zip
  50. VENDOR_SDK_DIR_0.9.4 = esp_iot_sdk_v0.9.4
  51. VENDOR_SDK_ZIP_0.9.3 = esp_iot_sdk_v0.9.3_14_11_21.zip
  52. VENDOR_SDK_DIR_0.9.3 = esp_iot_sdk_v0.9.3
  53. VENDOR_SDK_ZIP_0.9.2 = esp_iot_sdk_v0.9.2_14_10_24.zip
  54. VENDOR_SDK_DIR_0.9.2 = esp_iot_sdk_v0.9.2
  55. all: esptool libcirom standalone sdk sdk_patch $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/libhal.a $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc lwip
  56. @echo
  57. @echo "Xtensa toolchain is built, to use it:"
  58. @echo
  59. @echo 'export PATH=$(TOOLCHAIN)/bin:$$PATH'
  60. @echo
  61. ifneq ($(STANDALONE),y)
  62. @echo "Espressif ESP8266 SDK is installed. Toolchain contains only Open Source components"
  63. @echo "To link external proprietary libraries add:"
  64. @echo
  65. @echo "xtensa-lx106-elf-gcc -I$(TOP)/sdk/include -L$(TOP)/sdk/lib"
  66. @echo
  67. else
  68. @echo "Espressif ESP8266 SDK is installed, its libraries and headers are merged with the toolchain"
  69. @echo
  70. endif
  71. standalone: sdk sdk_patch toolchain
  72. ifeq ($(STANDALONE),y)
  73. @echo "Installing vendor SDK headers into toolchain sysroot"
  74. @cp -Rf sdk/include/* $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/include/
  75. @echo "Installing vendor SDK libs into toolchain sysroot"
  76. @cp -Rf sdk/lib/* $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/
  77. @echo "Installing vendor SDK linker scripts into toolchain sysroot"
  78. @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
  79. @sed -e 's/\r//' sdk/ld/eagle.rom.addr.v6.ld >$(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/eagle.rom.addr.v6.ld
  80. endif
  81. clean: clean-sdk
  82. make -C crosstool-NG clean MAKELEVEL=0
  83. -rm -rf crosstool-NG/.build/src
  84. -rm -rf $(TOOLCHAIN)
  85. esptool: toolchain
  86. cp esptool/esptool.py $(TOOLCHAIN)/bin/
  87. toolchain: $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
  88. $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc: crosstool-NG/ct-ng
  89. make -C crosstool-NG -f ../Makefile _toolchain
  90. _toolchain:
  91. ./ct-ng xtensa-lx106-elf
  92. sed -r -i.org s%CT_PREFIX_DIR=.*%CT_PREFIX_DIR="$(TOOLCHAIN)"% .config
  93. sed -r -i s%CT_INSTALL_DIR_RO=y%"#"CT_INSTALL_DIR_RO=y% .config
  94. cat ../crosstool-config-overrides >> .config
  95. ./ct-ng build
  96. clean-sysroot:
  97. rm -rf $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/*
  98. rm -rf $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/include/*
  99. crosstool-NG: crosstool-NG/ct-ng
  100. crosstool-NG/ct-ng: crosstool-NG/bootstrap
  101. make -C crosstool-NG -f ../Makefile _ct-ng
  102. _ct-ng:
  103. ./bootstrap
  104. ./configure --prefix=`pwd`
  105. make MAKELEVEL=0
  106. make install MAKELEVEL=0
  107. crosstool-NG/bootstrap:
  108. @echo "You cloned without --recursive, fetching submodules for you."
  109. git submodule update --init --recursive
  110. libcirom: $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/lib/libcirom.a
  111. $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/lib/libcirom.a: $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/lib/libc.a $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
  112. @echo "Creating irom version of libc..."
  113. $(TOOLCHAIN)/bin/xtensa-lx106-elf-objcopy --rename-section .text=.irom0.text \
  114. --rename-section .literal=.irom0.literal $(<) $(@);
  115. libhal: $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/libhal.a
  116. $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/lib/libhal.a: $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
  117. make -C lx106-hal -f ../Makefile _libhal
  118. _libhal:
  119. autoreconf -i
  120. PATH=$(TOOLCHAIN)/bin:$(PATH) ./configure --host=xtensa-lx106-elf --prefix=$(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr
  121. PATH=$(TOOLCHAIN)/bin:$(PATH) make
  122. PATH=$(TOOLCHAIN)/bin:$(PATH) make install
  123. sdk: $(VENDOR_SDK_DIR)/.dir
  124. ln -snf $(VENDOR_SDK_DIR) sdk
  125. $(VENDOR_SDK_DIR)/.dir: $(VENDOR_SDK_ZIP)
  126. $(UNZIP) $^
  127. -mv License $(VENDOR_SDK_DIR)
  128. touch $@
  129. sdk_patch: $(VENDOR_SDK_DIR)/.dir .sdk_patch_$(VENDOR_SDK)
  130. .sdk_patch_1.5.2:
  131. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010502" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  132. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  133. 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
  134. @touch $@
  135. .sdk_patch_1.5.1:
  136. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010501" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  137. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  138. 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
  139. @touch $@
  140. .sdk_patch_1.5.0:
  141. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010500" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  142. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  143. 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
  144. @touch $@
  145. .sdk_patch_1.4.0:
  146. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010400" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  147. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  148. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < dhcps_lease.patch
  149. @touch $@
  150. .sdk_patch_1.3.0:
  151. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010300" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  152. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  153. @touch $@
  154. .sdk_patch_1.2.0: lib_mem_optimize_150714.zip libssl_patch_1.2.0-2.zip empty_user_rf_pre_init.o
  155. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010200" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  156. #$(UNZIP) libssl_patch_1.2.0-2.zip
  157. #$(UNZIP) libsmartconfig_2.4.2.zip
  158. $(UNZIP) lib_mem_optimize_150714.zip
  159. #mv libsmartconfig_2.4.2.a $(VENDOR_SDK_DIR_1.2.0)/lib/libsmartconfig.a
  160. mv libssl.a libnet80211.a libpp.a libsmartconfig.a $(VENDOR_SDK_DIR_1.2.0)/lib/
  161. $(PATCH) -f -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  162. $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar r $(VENDOR_SDK_DIR_1.2.0)/lib/libmain.a empty_user_rf_pre_init.o
  163. @touch $@
  164. .sdk_patch_1.1.2: scan_issue_test.zip 1.1.2_patch_02.zip empty_user_rf_pre_init.o
  165. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010102" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  166. $(UNZIP) scan_issue_test.zip
  167. $(UNZIP) 1.1.2_patch_02.zip
  168. mv libmain.a libnet80211.a libpp.a $(VENDOR_SDK_DIR_1.1.2)/lib/
  169. $(PATCH) -f -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  170. $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar r $(VENDOR_SDK_DIR_1.1.2)/lib/libmain.a empty_user_rf_pre_init.o
  171. @touch $@
  172. .sdk_patch_1.1.1: empty_user_rf_pre_init.o
  173. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010101" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  174. $(PATCH) -f -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  175. $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar r $(VENDOR_SDK_DIR_1.1.1)/lib/libmain.a empty_user_rf_pre_init.o
  176. @touch $@
  177. .sdk_patch_1.1.0: lib_patch_on_sdk_v1.1.0.zip empty_user_rf_pre_init.o
  178. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010100" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  179. $(UNZIP) $<
  180. mv libsmartconfig_patch_01.a $(VENDOR_SDK_DIR_1.1.0)/lib/libsmartconfig.a
  181. mv libmain_patch_01.a $(VENDOR_SDK_DIR_1.1.0)/lib/libmain.a
  182. mv libssl_patch_01.a $(VENDOR_SDK_DIR_1.1.0)/lib/libssl.a
  183. $(PATCH) -f -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  184. $(TOOLCHAIN)/bin/xtensa-lx106-elf-ar r $(VENDOR_SDK_DIR_1.1.0)/lib/libmain.a empty_user_rf_pre_init.o
  185. @touch $@
  186. .sdk_patch_1.0.1: libnet80211.zip esp_iot_sdk_v1.0.1/.dir
  187. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010001" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  188. $(UNZIP) $<
  189. mv libnet80211.a $(VENDOR_SDK_DIR_1.0.1)/lib/
  190. $(PATCH) -f -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  191. @touch $@
  192. .sdk_patch_1.0.1b2: libssl.zip esp_iot_sdk_v1.0.1_b2/.dir
  193. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010001" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  194. $(UNZIP) $<
  195. mv libssl/libssl.a $(VENDOR_SDK_DIR_1.0.1b2)/lib/
  196. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  197. @touch $@
  198. .sdk_patch_1.0.1b1:
  199. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010001" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  200. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  201. @touch $@
  202. .sdk_patch_1.0.0:
  203. echo -e "#undef ESP_SDK_VERSION\n#define ESP_SDK_VERSION 010000" >>$(VENDOR_SDK_DIR)/include/esp_sdk_ver.h
  204. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  205. @touch $@
  206. .sdk_patch_0.9.6b1:
  207. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  208. @touch $@
  209. .sdk_patch_0.9.5: sdk095_patch1.zip esp_iot_sdk_v0.9.5/.dir
  210. $(UNZIP) $<
  211. mv libmain_fix_0.9.5.a $(VENDOR_SDK_DIR)/lib/libmain.a
  212. mv user_interface.h $(VENDOR_SDK_DIR)/include/
  213. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  214. @touch $@
  215. .sdk_patch_0.9.4:
  216. $(PATCH) -d $(VENDOR_SDK_DIR) -p1 < c_types-c99.patch
  217. @touch $@
  218. .sdk_patch_0.9.3: esp_iot_sdk_v0.9.3_14_11_21_patch1.zip esp_iot_sdk_v0.9.3/.dir
  219. $(UNZIP) $<
  220. @touch $@
  221. .sdk_patch_0.9.2: FRM_ERR_PATCH.rar esp_iot_sdk_v0.9.2/.dir
  222. unrar x -o+ $<
  223. cp FRM_ERR_PATCH/*.a $(VENDOR_SDK_DIR)/lib/
  224. @touch $@
  225. empty_user_rf_pre_init.o: empty_user_rf_pre_init.c $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
  226. $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc -O2 -c $<
  227. lwip: toolchain sdk_patch
  228. make -C esp-open-lwip -f Makefile.open install \
  229. CC=$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc \
  230. PREFIX=$(TOOLCHAIN)
  231. cp -a esp-open-lwip/include/arch esp-open-lwip/include/lwip esp-open-lwip/include/netif \
  232. esp-open-lwip/include/lwipopts.h \
  233. $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/usr/include/
  234. ESP8266_NONOS_SDK_V1.5.2_16_01_29.zip:
  235. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=1079"
  236. ESP8266_NONOS_SDK_V1.5.1_16_01_08.zip:
  237. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=1046"
  238. esp_iot_sdk_v1.5.0_15_11_27.zip:
  239. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=989"
  240. esp_iot_sdk_v1.4.0_15_09_18.zip:
  241. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=838"
  242. esp_iot_sdk_v1.3.0_15_08_08.zip:
  243. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=664"
  244. esp_iot_sdk_v1.2.0_15_07_03.zip:
  245. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=564"
  246. esp_iot_sdk_v1.1.2_15_06_12.zip:
  247. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=521"
  248. esp_iot_sdk_v1.1.1_15_06_05.zip:
  249. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=484"
  250. esp_iot_sdk_v1.1.0_15_05_26.zip:
  251. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=425"
  252. esp_iot_sdk_v1.1.0_15_05_22.zip:
  253. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=423"
  254. esp_iot_sdk_v1.0.1_15_04_24.zip:
  255. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=325"
  256. esp_iot_sdk_v1.0.1_b2_15_04_10.zip:
  257. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=293"
  258. esp_iot_sdk_v1.0.1_b1_15_04_02.zip:
  259. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=276"
  260. esp_iot_sdk_v1.0.0_15_03_20.zip:
  261. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=250"
  262. esp_iot_sdk_v0.9.6_b1_15_02_15.zip:
  263. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=220"
  264. esp_iot_sdk_v0.9.5_15_01_23.zip:
  265. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=189"
  266. esp_iot_sdk_v0.9.4_14_12_19.zip:
  267. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=111"
  268. esp_iot_sdk_v0.9.3_14_11_21.zip:
  269. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=72"
  270. esp_iot_sdk_v0.9.2_14_10_24.zip:
  271. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=9"
  272. FRM_ERR_PATCH.rar:
  273. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=10"
  274. esp_iot_sdk_v0.9.3_14_11_21_patch1.zip:
  275. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=73"
  276. sdk095_patch1.zip:
  277. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=190"
  278. libssl.zip:
  279. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=316"
  280. libnet80211.zip:
  281. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=361"
  282. lib_patch_on_sdk_v1.1.0.zip:
  283. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=432"
  284. scan_issue_test.zip:
  285. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=525"
  286. 1.1.2_patch_02.zip:
  287. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=546"
  288. libssl_patch_1.2.0-1.zip:
  289. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=583" -O $@
  290. libssl_patch_1.2.0-2.zip:
  291. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=586" -O $@
  292. libsmartconfig_2.4.2.zip:
  293. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=585"
  294. lib_mem_optimize_150714.zip:
  295. wget --content-disposition "http://bbs.espressif.com/download/file.php?id=594"
  296. clean-sdk:
  297. rm -rf $(VENDOR_SDK_DIR)
  298. rm -f sdk
  299. rm -f .sdk_patch_$(VENDOR_SDK)
  300. make -C esp-open-lwip -f Makefile.open clean