X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fmicropeak%2FMakefile;h=3ec43e668570e91e1ae485147946f483e7cd8913;hb=HEAD;hp=0c48ed66477a3db5b652c05d5da1ceaa8060dcfb;hpb=816c6b5d087694a9db9c34cc5ec7671a1487d9b9;p=fw%2Faltos diff --git a/src/micropeak/Makefile b/src/micropeak/Makefile index 0c48ed66..3ec43e66 100644 --- a/src/micropeak/Makefile +++ b/src/micropeak/Makefile @@ -2,44 +2,35 @@ # Tiny AltOS build # # -vpath % ../attiny:../drivers:../core:.. -vpath ao-make-product.5c ../util -vpath make-altitude-pa ../util - -MCU=attiny85 -DUDECPUTYPE=t85 -#PROGRAMMER=stk500v2 -P usb -PROGRAMMER=usbtiny -LOADCMD=avrdude -LOADSLOW=-i 32 -B 32 -LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w: -CC=avr-gcc -OBJCOPY=avr-objcopy - -ifndef VERSION -include ../Version -endif - -# Support for a logging EEPROM -# -#EEPROM_SRC=ao_async.c \ -# ao_i2c_attiny.c \ -# ao_at24c.c -# +TOPDIR=.. +include $(TOPDIR)/attiny/Makefile.defs + +PROGNAME=micropeak-v0.1 +PROG=$(PROGNAME)-$(VERSION).elf +HEX=$(PROGNAME)-$(VERSION).ihx + +SCRIPT=micropeak-load + +PUBLISH_DIR=$(HOME)/altusmetrumllc/Binaries +PUBLISH_HEX=$(PUBLISH_DIR)/$(HEX) +PUBLISH_SCRIPT=$(PUBLISH_DIR)/$(SCRIPT) ALTOS_SRC = \ ao_micropeak.c \ ao_spi_attiny.c \ - ao_led.c \ + ao_led_tiny.c \ ao_clock.c \ ao_ms5607.c \ ao_exti.c \ ao_convert_pa.c \ - ao_report_tiny.c \ + ao_report_micro.c \ ao_notask.c \ ao_eeprom_tiny.c \ ao_panic.c \ - $(EEPROM_SRC) + ao_log_micro.c \ + ao_async.c \ + ao_microflight.c \ + ao_microkalman.c INC=\ ao.h \ @@ -48,30 +39,20 @@ INC=\ ao_arch_funcs.h \ ao_exti.h \ ao_ms5607.h \ + ao_log_micro.h \ + ao_micropeak.h \ + ao_product.h \ altitude-pa.h IDPRODUCT=0 PRODUCT=MicroPeak-v0.1 PRODUCT_DEF=-DMICROPEAK -CFLAGS = $(PRODUCT_DEF) -I. -I../attiny -I../core -I.. -I../drivers -CFLAGS += -g -mmcu=$(MCU) -Wall -Wstrict-prototypes -O3 -mcall-prologues -DATTINY - -NICKLE=nickle - -PROG=micropeak-v0.1 +CFLAGS = $(PRODUCT_DEF) $(ATTINY_CFLAGS) SRC=$(ALTOS_SRC) OBJ=$(SRC:.c=.o) -V=0 -# The user has explicitly enabled quiet compilation. -ifeq ($(V),0) -quiet = @printf " $1 $2 $@\n"; $($1) -endif -# Otherwise, print the full command line. -quiet ?= $($1) - -all: $(PROG) $(PROG).hex +all: $(PROG) $(HEX) $(SCRIPT) CHECK=sh ../util/check-avr-mem @@ -79,36 +60,42 @@ $(PROG): Makefile $(OBJ) $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(call quiet,CHECK) $(PROG) || ($(RM) -f $(PROG); exit 1) -$(PROG).hex: $(PROG) +$(HEX): $(PROG) avr-size $(PROG) $(OBJCOPY) -R .eeprom -O ihex $(PROG) $@ +load: $(HEX) + $(LOADCMD) $(LOADARG)$(HEX) -load: $(PROG).hex - $(LOADCMD) $(LOADARG)$(PROG).hex +load-slow: $(HEX) + $(LOADCMD) $(LOADSLOW) $(LOADARG)$(HEX) -load-slow: $(PROG).hex - $(LOADCMD) $(LOADSLOW) $(LOADARG)$(PROG).hex +distclean: clean -ao_product.h: ao-make-product.5c ../Version - $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ +clean: + rm -f *.o *.elf *.ihx *.map $(SCRIPT) + rm -f ao_product.h -ao_product.o: ao_product.c ao_product.h +publish: $(PUBLISH_HEX) $(PUBLISH_SCRIPT) -%.o : %.c $(INC) - $(call quiet,CC) -c $(CFLAGS) $< +$(PUBLISH_HEX): $(HEX) + cp -a $(HEX) $@ -distclean: clean +$(PUBLISH_SCRIPT): $(SCRIPT) + cp -a $(SCRIPT) $@ -clean: - rm -f *.o $(PROG) $(PROG).hex - rm -f ao_product.h +load-product: + ./$(SCRIPT) fast + +load-product-slow: + ./$(SCRIPT) slow -../altitude-pa.h: make-altitude-pa - nickle $< > $@ +$(SCRIPT): $(SCRIPT).tmpl Makefile $(TOPDIR)/Makedefs + sed -e 's/%HEX%/$(HEX)/' -e 's/%LOADCMD%/$(LOADCMD)/' -e 's/%LOADARG%/$(LOADARG)/' -e 's/%LOADSLOW%/$(LOADSLOW)/' $(SCRIPT).tmpl > $@ || (rm $@ && exit 1) + chmod +x $@ install: uninstall: -$(OBJ): ao_product.h $(INC) +$(OBJ): $(INC)