X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=Makefile;h=572e7a320341d06c51450b413250e73ffe37163c;hb=377f58b3be561a9e0fffebf54237693ddce2184f;hp=3e0ffec47f9f85c27da9032c9a18f75dda516431;hpb=a6b9bc4387fe370b7a3cddac157b1b9137847f30;p=esp8266-clock.git diff --git a/Makefile b/Makefile index 3e0ffec..572e7a3 100644 --- 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