Document the inclusion of the Broadcom BCM4329 driver from the Linux kernel.
[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 export CFLAGS += -nodefaultlibs  -nostdlib
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 libc
39
40 all: bootloader-ap
41
42 bootloader-ap: bootloader-ap.o
43         $(OBJCOPY) -S -O binary bootloader-ap.o $@
44         @echo "ROM Image is " $@
45
46 bootloader-ap.o: subdirs
47         $(LD) -N -o bootloader-ap.o arch/arch.o libc/libc.o
48
49 subdirs: $(SUBDIRS)
50
51 $(SUBDIRS):
52         $(MAKE) -C $@
53
54 clean:
55         $(foreach d, $(SUBDIRS), $(MAKE) -C $d $@;)
56
57         -rm -f *.o bootloader-ap
58
59 .PHONY: subdirs $(SUBDIRS) all clean