]> the.earth.li Git - esp8266-clock.git/blobdiff - Makefile
Update Makefile to add additional configuration defines
[esp8266-clock.git] / Makefile
index 3e0ffec47f9f85c27da9032c9a18f75dda516431..572e7a320341d06c51450b413250e73ffe37163c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,38 +1,48 @@
 SDKDIR ?= /opt/esp8266-sdk
 
-AR = $(SDKDIR)/bin/xtensa-lx106-elf-ar
-CC = $(SDKDIR)/bin/xtensa-lx106-elf-gcc
-LD = $(SDKDIR)/bin/xtensa-lx106-elf-gcc
-OBJCOPY = $(SDKDIR)/bin/xtensa-lx106-elf-objcopy
-OBJDUMP = $(SDKDIR)/bin/xtensa-lx106-elf-objdump
+AR = xtensa-lx106-elf-ar
+CC = xtensa-lx106-elf-gcc
+LD = xtensa-lx106-elf-gcc
+OBJCOPY = xtensa-lx106-elf-objcopy
+OBJDUMP = xtensa-lx106-elf-objdump
 
 LIBS = -lc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain
 
-LD_SCRIPT = eagle.app.v6.ld
-
-CFLAGS = -Wall -Os -fno-inline-functions -mlongcalls -DICACHE_FLASH -I.
-LDFLAGS = -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static
+CFLAGS = -Wall -Os -fno-inline-functions -mlongcalls -DICACHE_FLASH -I. \
+        -I$(SDKDIR)/xtensa-lx106-elf/include
+LDFLAGS = -nostdlib -Wl,--no-check-sections -Wl,--gc-sections -Wl,-static \
+         -u call_user_start \
+         -L$(SDKDIR)/xtensa-lx106-elf/lib
 
 APP = clock
-OBJS = user_main.o max7219.o spi.o clock.o
+OBJS = user_main.o clock.o max7219.o ota.o spi.o
+
+all: rom0.bin rom1.bin
 
-$(APP)-0x00000.bin: $(APP).elf
-       PATH=$$PATH:$(SDKDIR)/bin esptool.py elf2image $^ -o $(APP)-
+%.bin: %.elf
+       esptool elf2image $^ --version 2 -o $@
 
-$(APP).elf: $(APP)_app.a
-       $(LD) -T$(LD_SCRIPT) $(LDFLAGS) -Wl,--start-group $(LIBS) $^ -Wl,--end-group -lgcc -o $@
+%.elf: $(APP)_app.a
+       $(LD) -T$(basename $@).ld $(LDFLAGS) -Wl,--start-group $(LIBS) $^ -Wl,--end-group -lgcc -o $@
        $(OBJDUMP) -h -j .data -j .rodata -j .bss -j .text -j .irom0.text $@
 
 $(APP)_app.a: project_config.h $(OBJS)
        $(AR) cru $@ $^
 
-flash: $(APP)-0x00000.bin $(APP)-0x10000.bin
-       $(SDKDIR)/bin/esptool.py write_flash 0 $(APP)-0x00000.bin 0x10000 $(APP)-0x10000.bin
+flash: rom0.bin rom1.bin
+       $(SDKDIR)/bin/esptool.py write_flash 0x2000 rom0.bin 0x42000 rom1.bin
 
 project_config.h:
        echo '#error "Edit this file to match your configuration."' > $@
+       echo '#define PROJECT "clock"' >> $@
+       echo '#define VER_MAJ 0' >> $@
+       echo '#define VER_MIN 1' >> $@
        echo '#define CFG_WIFI_SSID "My Wifi"' >> $@
        echo '#define CFG_WIFI_PASSWORD "password"' >> $@
+       echo '#define UPGRADE_HOST "upgrade-host.local"' >> $@
+       echo '#define UPGRADE_PATH "/esp8266/" PROJECT "/"' >> $@
 
 clean:
-       rm -f $(OBJS) $(APP)_app.a $(APP).elf $(APP)-0x00000.bin $(APP)-0x10000.bin
+       rm -f $(OBJS) $(APP)_app.a rom0.elf rom1.elf rom0.bin rom1.bin
+
+.PHONY: all clean