1 SDKDIR ?= /opt/esp8266-sdk
3 AR = xtensa-lx106-elf-ar
4 CC = xtensa-lx106-elf-gcc
5 LD = xtensa-lx106-elf-gcc
6 OBJCOPY = xtensa-lx106-elf-objcopy
7 OBJDUMP = xtensa-lx106-elf-objdump
9 LIBS = -lc -lcrypto -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain
11 CFLAGS = -Wall -Os -fno-inline-functions -mlongcalls -DICACHE_FLASH -I. \
12 -I$(SDKDIR)/xtensa-lx106-elf/include
13 LDFLAGS = -nostdlib -Wl,--no-check-sections -Wl,--gc-sections -Wl,-static \
15 -L$(SDKDIR)/xtensa-lx106-elf/lib
18 OBJS = user_main.o clock.o max7219.o ota.o spi.o
20 all: rom0.bin rom1.bin
23 esptool elf2image $^ --version 2 -o $@
26 $(LD) -T$(basename $@).ld $(LDFLAGS) -Wl,--start-group $(LIBS) $^ -Wl,--end-group -lgcc -o $@
27 $(OBJDUMP) -h -j .data -j .rodata -j .bss -j .text -j .irom0.text $@
29 $(APP)_app.a: project_config.h $(OBJS)
32 flash: rom0.bin rom1.bin
33 $(SDKDIR)/bin/esptool.py write_flash 0x2000 rom0.bin 0x42000 rom1.bin
36 echo '#error "Edit this file to match your configuration."' > $@
37 echo '#define PROJECT "clock"' >> $@
38 echo '#define VER_MAJ 0' >> $@
39 echo '#define VER_MIN 1' >> $@
40 echo '#define CFG_WIFI_SSID "My Wifi"' >> $@
41 echo '#define CFG_WIFI_PASSWORD "password"' >> $@
42 echo '#define UPGRADE_HOST "upgrade-host.local"' >> $@
43 echo '#define UPGRADE_PATH "/esp8266/" PROJECT "/"' >> $@
46 rm -f $(OBJS) $(APP)_app.a rom0.elf rom1.elf rom0.bin rom1.bin