edeedaf0a15f03c53435f3eee05754e0f7a3d54d
[fw/altos] / src / lpc / Makefile-lpc.defs
1 ifndef TOPDIR
2 TOPDIR=..
3 endif
4
5 include $(TOPDIR)/Makedefs
6
7 vpath % $(TOPDIR)/lpc:$(TOPDIR)/product:$(TOPDIR)/drivers:$(TOPDIR)/kernel:$(TOPDIR)/util:$(TOPDIR)/kalman:$(TOPDIR)/aes:$(TOPDIR):$(TOPDIR)/math
8 vpath make-altitude $(TOPDIR)/util
9 vpath make-kalman $(TOPDIR)/util
10 vpath kalman.5c $(TOPDIR)/kalman
11 vpath kalman_filter.5c $(TOPDIR)/kalman
12 vpath load_csv.5c $(TOPDIR)/kalman
13 vpath matrix.5c $(TOPDIR)/kalman
14 vpath ao-make-product.5c $(TOPDIR)/util
15
16 .SUFFIXES: .elf .ihx
17
18 .elf.ihx:
19         $(ELFTOHEX) --output=$@ $*.elf
20
21
22 ifndef VERSION
23 include $(TOPDIR)/Version
24 endif
25
26 ELFTOHEX=$(TOPDIR)/../ao-tools/ao-elftohex/ao-elftohex
27 CC=$(ARM_CC)
28
29 WARN_FLAGS=-Wall -Wextra -Werror -Wcast-align
30
31 AO_CFLAGS=-I. -I$(TOPDIR)/lpc -I$(TOPDIR)/kernel -I$(TOPDIR)/drivers \
32         -DNEWLIB_INTEGER_PRINTF_SCANF \
33         -I$(TOPDIR)/product -I$(TOPDIR) -I$(TOPDIR)/math -I$(TOPDIR) \
34         -isystem $(NEWLIB_NANO)/arm-none-eabi/include
35
36 LPC_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m0 -mthumb\
37         -ffreestanding -nostdlib $(AO_CFLAGS) $(WARN_FLAGS)
38
39 NICKLE=nickle
40
41 LIBS=-L$(NEWLIB_NANO)/arm-none-eabi/lib/thumb/v6-m -lc -lm -lgcc
42
43 V=0
44 # The user has explicitly enabled quiet compilation.
45 ifeq ($(V),0)
46 quiet = @printf "  $1 $2 $@\n"; $($1)
47 endif
48 # Otherwise, print the full command line.
49 quiet ?= $($1)
50
51 .c.o:
52         $(call quiet,CC) -c $(CFLAGS) -o $@ $<