1 vpath % $(TOPDIR)/lpc:$(TOPDIR)/product:$(TOPDIR)/drivers:$(TOPDIR)/core:$(TOPDIR)/util:$(TOPDIR)
2 vpath ao-make-product.5c $(TOPDIR)/util
7 objcopy -O ihex $*.elf $@
11 include $(TOPDIR)/Version
13 include $(TOPDIR)/Makedefs
17 SAT_CLIB=$(SAT)/lib/pdclib-cortex-m0.a
18 SAT_CFLAGS=-I$(SAT)/include
20 AO_CFLAGS=-I. -I$(TOPDIR)/lpc -I$(TOPDIR)/core -I$(TOPDIR)/drivers -I$(TOPDIR)/product -I$(TOPDIR)
21 STM_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m0 -mthumb -ffreestanding -nostdlib $(AO_CFLAGS) $(SAT_CFLAGS)
23 LDFLAGS=-L$(TOPDIR)/lpc -Wl,-Taltos-loader.ld
28 # The user has explicitly enabled quiet compilation.
30 quiet = @printf " $1 $2 $@\n"; $($1)
32 # Otherwise, print the full command line.
36 $(call quiet,CC) -c $(CFLAGS) -o $@ $<
50 # Common AltOS sources
67 PRODUCT=AltosFlash-$(VERSION)
68 PRODUCT_DEF=-DALTOS_FLASH
71 CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) -g -Os
74 PROG=$(HARDWARE)-$(PROGNAME)-$(VERSION).elf
76 $(PROG): Makefile $(OBJ) altos-loader.ld
77 $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
79 ao_product.h: ao-make-product.5c $(TOPDIR)/Version
80 $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@