16da583f3d81dd4394a246a6819728da0c166501
[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         -Wpointer-arith \
31         -Wstrict-prototypes \
32         -Wmissing-prototypes \
33         -Wmissing-declarations \
34         -Wnested-externs \
35         -Wshadow
36
37 AO_CFLAGS=-I. -I$(TOPDIR)/lpc -I$(TOPDIR)/kernel -I$(TOPDIR)/drivers \
38         -DNEWLIB_INTEGER_PRINTF_SCANF \
39         -I$(TOPDIR)/product -I$(TOPDIR) -I$(TOPDIR)/math -I$(TOPDIR) \
40         -isystem $(NEWLIB_NANO)/arm-none-eabi/include
41
42 LPC_CFLAGS=-std=gnu99 -mlittle-endian -mcpu=cortex-m0 -mthumb\
43         -ffreestanding -nostdlib $(AO_CFLAGS) $(WARN_FLAGS)
44
45 NICKLE=nickle
46
47 LIBS=-L$(NEWLIB_NANO)/arm-none-eabi/lib/thumb/v6-m -lc -lm -lgcc
48
49 V=0
50 # The user has explicitly enabled quiet compilation.
51 ifeq ($(V),0)
52 quiet = @printf "  $1 $2 $@\n"; $($1)
53 endif
54 # Otherwise, print the full command line.
55 quiet ?= $($1)
56
57 .c.o:
58         $(call quiet,CC) -c $(CFLAGS) -o $@ $<