mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +03:00
Updated eboot.ld to not fill with zeros through the CS field on its way to the CRC. Added size test to elf2bin.py
63 lines
1.6 KiB
Makefile
63 lines
1.6 KiB
Makefile
XTENSA_TOOLCHAIN ?= ../../tools/xtensa-lx106-elf/bin/
|
|
ESPTOOL ?= ../../tools/esptool/esptool
|
|
|
|
BIN_DIR := ./
|
|
TARGET_DIR := ./
|
|
|
|
TARGET_OBJ_FILES := \
|
|
eboot.o \
|
|
eboot_command.o
|
|
|
|
TARGET_OBJ_PATHS := $(addprefix $(TARGET_DIR)/,$(TARGET_OBJ_FILES))
|
|
|
|
UZLIB_PATH := ../../tools/sdk/uzlib/src
|
|
UZLIB_FLAGS := -DRUNTIME_BITS_TABLES
|
|
|
|
CC := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-gcc
|
|
CXX := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-g++
|
|
AR := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-ar
|
|
LD := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-gcc
|
|
OBJDUMP := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-objdump
|
|
|
|
INC += -I../../tools/sdk/include -I../../tools/sdk/uzlib/src
|
|
|
|
CFLAGS += -std=gnu99
|
|
|
|
CFLAGS += -Os -g -Wall -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mno-text-section-literals -ffunction-sections -fdata-sections
|
|
|
|
CFLAGS += $(INC)
|
|
|
|
CFLAGS += $(UZLIB_FLAGS)
|
|
|
|
LDFLAGS += -nostdlib -Wl,--no-check-sections -Wl,--gc-sections -umain -Wl,-Map,$(@:.elf=.map)
|
|
|
|
LD_SCRIPT := -Teboot.ld
|
|
|
|
APP_OUT := eboot.elf
|
|
APP_AR := eboot.a
|
|
APP_FW := eboot.bin
|
|
|
|
|
|
all: $(APP_OUT)
|
|
|
|
tinflate.o: $(UZLIB_PATH)/tinflate.c $(UZLIB_PATH)/uzlib.h $(UZLIB_PATH)/uzlib_conf.h
|
|
$(CC) $(CFLAGS) -c -o tinflate.o $(UZLIB_PATH)/tinflate.c
|
|
|
|
tinfgzip.o: $(UZLIB_PATH)/tinfgzip.c $(UZLIB_PATH)/uzlib.h $(UZLIB_PATH)/uzlib_conf.h
|
|
$(CC) $(CFLAGS) -c -o tinfgzip.o $(UZLIB_PATH)/tinfgzip.c
|
|
|
|
$(APP_AR): $(TARGET_OBJ_PATHS) tinflate.o tinfgzip.o
|
|
$(AR) cru $@ $^
|
|
|
|
$(APP_OUT): $(APP_AR) eboot.ld | Makefile
|
|
$(LD) $(LD_SCRIPT) $(LDFLAGS) -Wl,--start-group -Wl,--whole-archive $(APP_AR) -Wl,--end-group -o $@
|
|
|
|
clean:
|
|
rm -f *.o
|
|
rm -f $(APP_AR)
|
|
rm -f $(APP_OUT)
|
|
rm -f *.map
|
|
|
|
|
|
.PHONY: all clean default
|