Use -Os for STM apps. Fix altos.ld to matchall .rodata* sections
[fw/altos] / src / stm-demo / Makefile
1 #
2 # AltOS build
3 #
4 #
5
6 include ../stm/Makefile.defs
7
8 INC = \
9         ao.h \
10         ao_arch.h \
11         ao_pins.h \
12         altitude.h \
13         ao_kalman.h \
14         ao_product.h
15
16 #
17 # Common AltOS sources
18 #
19 ALTOS_SRC = \
20         ao_interrupt.c \
21         ao_product.c \
22         ao_romconfig.c \
23         ao_cmd.c \
24         ao_task.c \
25         ao_led.c \
26         ao_stdio.c \
27         ao_panic.c \
28         ao_timer.c \
29         ao_serial_stm.c \
30         ao_lcd_stm.c \
31         ao_lcd_font.c
32
33 PRODUCT=StmDemo-v0.0
34 PRODUCT_DEF=-DSTM_DEMO
35 IDPRODUCT=0x000a
36
37 CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) -g -Os
38
39 PROG=stm-demo
40
41 SRC=$(ALTOS_SRC) ao_demo.c
42 OBJ=$(SRC:.c=.o)
43
44 all: $(PROG)
45
46 LDFLAGS=-L../stm -Wl,-Taltos.ld
47
48 $(PROG): Makefile $(OBJ)
49         $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc
50
51 ../altitude.h: make-altitude
52         nickle $< > $@
53
54 $(OBJ): $(INC)
55
56 ao_product.h: ao-make-product.5c ../Version
57         $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
58
59 ao_product.rel: ao_product.c ao_product.h
60         $(call quiet,CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"ao_product.h\"' -o$@ $<
61
62 distclean:      clean
63
64 clean:
65         rm -f $(OBJ)
66         rm -f ao_product.h
67
68 install:
69
70 uninstall: