altos/telefireone-v2.0: Remove build of ao_product.h from Makefile
[fw/altos] / src / Makefile.defs
1 include $(TOPDIR)/Makedefs
2
3 AO_VPATH=$(TOPDIR)/product:$(TOPDIR)/drivers:$(TOPDIR)/kernel:$(TOPDIR)/util:$(TOPDIR)/kalman:$(TOPDIR)/aes:$(TOPDIR)/math:$(TOPDIR)/draw:$(TOPDIR)
4 vpath make-altitude $(TOPDIR)/util
5 vpath make-kalman $(TOPDIR)/util
6 vpath kalman.5c $(TOPDIR)/kalman
7 vpath kalman_filter.5c $(TOPDIR)/kalman
8 vpath load_csv.5c $(TOPDIR)/kalman
9 vpath matrix.5c $(TOPDIR)/kalman
10 vpath ao-make-product.5c $(TOPDIR)/util
11
12 WARN_FLAGS=-Wall -Wextra -Werror -Wcast-align \
13         -Wpointer-arith \
14         -Wstrict-prototypes \
15         -Wmissing-prototypes \
16         -Wmissing-declarations \
17         -Wnested-externs \
18         -Wshadow \
19         -Warray-bounds=2
20
21 OPT=-Os
22
23 NEWLIB_CFLAGS= \
24         -ffreestanding -nostdlib \
25         -DNEWLIB_INTEGER_PRINTF_SCANF \
26         -isystem $(NEWLIB_NANO)/arm-none-eabi/include
27
28 AO_CFLAGS=\
29         -std=gnu99 \
30         -I. -I$(TOPDIR) -I$(TOPDIR)/kernel -I$(TOPDIR)/drivers \
31         -I$(TOPDIR)/math -I$(TOPDIR)/draw -I$(TOPDIR)/product $(WARN_FLAGS) $(OPT) -g
32
33 NICKLE=nickle
34 ELFTOHEX=$(TOPDIR)/../ao-tools/ao-elftohex/ao-elftohex
35
36 .SUFFIXES: .elf .ihx
37
38 .elf.ihx:
39         $(ELFTOHEX) --output=$@ $*.elf
40
41 V=0
42 # The user has explicitly enabled quiet compilation.
43 ifeq ($(V),0)
44 quiet = @printf "  $1 $2 $@\n"; $($1)
45 endif
46 # Otherwise, print the full command line.
47 quiet ?= $($1)
48
49 .c.o:
50         $(call quiet,CC) -c $(CFLAGS) -o $@ $<
51
52 .DEFAULT_GOAL=all
53
54 ao_product.h: ao-make-product.5c $(TOPDIR)/Makedefs
55         $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
56