]> the.earth.li Git - esp8266-clock.git/blob - Makefile
3e0ffec47f9f85c27da9032c9a18f75dda516431
[esp8266-clock.git] / Makefile
1 SDKDIR ?= /opt/esp8266-sdk
2
3 AR = $(SDKDIR)/bin/xtensa-lx106-elf-ar
4 CC = $(SDKDIR)/bin/xtensa-lx106-elf-gcc
5 LD = $(SDKDIR)/bin/xtensa-lx106-elf-gcc
6 OBJCOPY = $(SDKDIR)/bin/xtensa-lx106-elf-objcopy
7 OBJDUMP = $(SDKDIR)/bin/xtensa-lx106-elf-objdump
8
9 LIBS = -lc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain
10
11 LD_SCRIPT = eagle.app.v6.ld
12
13 CFLAGS = -Wall -Os -fno-inline-functions -mlongcalls -DICACHE_FLASH -I.
14 LDFLAGS = -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static
15
16 APP = clock
17 OBJS = user_main.o max7219.o spi.o clock.o
18
19 $(APP)-0x00000.bin: $(APP).elf
20         PATH=$$PATH:$(SDKDIR)/bin esptool.py elf2image $^ -o $(APP)-
21
22 $(APP).elf: $(APP)_app.a
23         $(LD) -T$(LD_SCRIPT) $(LDFLAGS) -Wl,--start-group $(LIBS) $^ -Wl,--end-group -lgcc -o $@
24         $(OBJDUMP) -h -j .data -j .rodata -j .bss -j .text -j .irom0.text $@
25
26 $(APP)_app.a: project_config.h $(OBJS)
27         $(AR) cru $@ $^
28
29 flash: $(APP)-0x00000.bin $(APP)-0x10000.bin
30         $(SDKDIR)/bin/esptool.py write_flash 0 $(APP)-0x00000.bin 0x10000 $(APP)-0x10000.bin
31
32 project_config.h:
33         echo '#error "Edit this file to match your configuration."' > $@
34         echo '#define CFG_WIFI_SSID "My Wifi"' >> $@
35         echo '#define CFG_WIFI_PASSWORD "password"' >> $@
36
37 clean:
38         rm -f $(OBJS) $(APP)_app.a $(APP).elf $(APP)-0x00000.bin $(APP)-0x10000.bin