Add formal declaration SOURCE, SOURCE_* to provide attributions for sources
[bootloader-ap.git] / Makefile
1 # Structure of build system modelled on the GNU/Linux kernel build system
2
3 obj-y :=
4
5 srctree         := $(CURDIR)
6 objtree         := $(CURDIR)
7 src             := $(srctree)
8 obj             := $(objtree)
9
10 export srctree objtree
11
12 # Compiler, Preprocessor, Assembler, Linker, etc. options
13
14 CROSS_COMPILE = arm-none-linux-gnueabi-
15 INCLUDE_DIRS += -I$(CURDIR)/include
16
17 # Make variables (CC, etc...)
18
19 export AS               = $(CROSS_COMPILE)as
20 export LD               = $(CROSS_COMPILE)ld
21 export CC               = $(CROSS_COMPILE)gcc
22 export CPP              = $(CROSS_COMPILE)$(CC) -E
23 export AR               = $(CROSS_COMPILE)ar
24 export NM               = $(CROSS_COMPILE)nm
25 export STRIP    = $(CROSS_COMPILE)strip
26 export OBJCOPY  = $(CROSS_COMPILE)objcopy
27 export OBJDUMP  = $(CROSS_COMPILE)objdump
28
29
30 export CPPFLAGS +=$(INCLUDE_DIRS)
31 export AFLAGS=-mpfu=neon
32
33 # include the config in all sub-makes
34 MAKEFILES := $(CURDIR)/.config
35
36 include $(MAKEFILES)
37
38 SUBDIRS = arch
39
40 all: bootloader-ap
41
42 bootloader-ap: subdirs
43         $(OBJCOPY) -S -O binary arch/arch.o $@
44         @echo "ROM Image is " $@
45
46 subdirs: $(SUBDIRS)
47
48 $(SUBDIRS):
49         $(MAKE) -C $@
50
51 clean:
52         $(foreach d, $(SUBDIRS), $(MAKE) -C $d $@;)
53
54         -rm -f *.o bootloader-ap
55
56 .PHONY: subdirs $(SUBDIRS) all clean