allocate enough storage for the page table! move cache invalidating and page table...
[AROS.git] / arch / arm-raspi / boot / mmakefile.src
blob83e4a09add51518724fac01d25df22c514a30383
1 # $Id $
2 include $(TOP)/config/make.cfg
4 TARGETDIR       := $(GENDIR)/$(CURDIR)
5 FILES           := boot serialdebug elf support bc/font8x14 bc/vars vc_mb vc_fb bc/screen_fb
6 CONFIG_FILE     := config.txt
7 USER_CFLAGS     := -DUSE_UBOOT -ffixed-r8 -Wall -fno-builtin -O2
8 KERNEL_LDFLAGS  =
9 USER_INCLUDES   := -isystem $(SRCDIR)/$(CURDIR)/include
11 #MM arosboot-raspi: \
12 #MM kernel-raspi-arm \
13 #MM kernel-raspi-config-copy \
14 #MM kernel-package-raspi-arm
16 #MM kernel-package-raspi-arm: \
17 #MM linklibs-clib \
18 #MM kernel-dos \
19 #MM kernel-bootloader \
20 #MM kernel-dosboot \
21 #MM kernel-oop \
22 #MM kernel-utility \
23 #MM kernel-debug \
24 #MM kernel-expansion \
25 #MM kernel-graphics \
26 #MM kernel-cgxbootpic \
27 #MM kernel-intuition \
28 #MM kernel-partition \
29 #MM kernel-layers \
30 #MM kernel-timer \
31 #MM kernel-lddemon \
32 #MM kernel-hidd \
33 #MM kernel-aros \
34 #MM kernel-misc \
35 #MM kernel-keymap \
36 #MM kernel-input \
37 #MM kernel-gameport \
38 #MM kernel-keyboard \
39 #MM kernel-console \
40 #MM kernel-shell \
41 #MM kernel-shellcommands \
42 #MM kernel-filesystem \
43 #MM kernel-fs-con \
44 #MM kernel-fs-afs \
45 #MM kernel-fs-cdvdfs \
46 #MM kernel-fs-fat \
47 #MM kernel-fs-sfs \
48 #MM kernel-fs-amberram \
49 #MM kernel-processor \
50 #MM kernel-vcmbox \
51 #MM hidd-i2c \
52 #MM hidd-i2c-bcm2835 \
53 #MM hidd-videocoregfx \
54 #MM kernel-hidd-graphics \
55 #MM kernel-hidd-kbd \
56 #MM kernel-hidd-mouse \
57 #MM kernel-usb-nopci \
58 #MM kernel-usb-usb2otg \
59 #MM kernel-usb-romstrap-raspi
61 #MM kernel-package-raspi-arm-missing: \
62 #MM kernel-battclock \
63 #MM kernel-econsole
65 PKG_LIBS     := aros partition expansion utility oop graphics layers intuition keymap dos debug poseidon cgxbootpic
66 PKG_RSRC     :=  misc bootloader dosboot lddemon usbromstartup FileSystem shell shellcommands vcmbox processor
67 PKG_DEVS     :=  input gameport keyboard console timer USBHardware/usb2otg
68 PKG_HANDLERS := con amberram cdrom sfs fat afs
69 PKG_HIDDS    := graphics mouse keyboard hiddclass i2c i2c-bcm2835 videocoregfx
70 PKG_USB      := hid hub bootmouse bootkeyboard massstorage
71 PKG_HOOKS    :=
73 MODULES := \
74         $(addprefix $(BINDIR)/Libs/, $(addsuffix .library, $(PKG_LIBS))) \
75         $(addprefix $(BINDIR)/Devs/, $(addsuffix .device, $(PKG_DEVS))) \
76         $(addprefix $(BINDIR)/Devs/, $(addsuffix .resource, $(PKG_RSRC))) \
77         $(addprefix $(BINDIR)/Devs/, $(addsuffix .hook, $(PKG_HOOKS))) \
78         $(addprefix $(BINDIR)/L/, $(addsuffix -handler, $(PKG_HANDLERS))) \
79         $(addprefix $(BINDIR)/Devs/Drivers/, $(addsuffix .hidd, $(PKG_HIDDS))) \
80         $(addprefix $(BINDIR)/Classes/USB/, $(addsuffix .class, $(PKG_USB)))
82 kernel-package-raspi-arm:
83         $(RM) -rf $(OSGENDIR)/boot/modules
84         %mkdirs_q $(OSGENDIR)/boot/modules
85         @mv $(MODULES) $(OSGENDIR)/boot/modules/
86         $(SRCDIR)/tools/package/pkg c $(BINDIR)/arosraspi.rom $(OSGENDIR)/boot/modules
88 %copy_files_q mmake=kernel-raspi-config-copy files="$(CONFIG_FILE)" dst=$(AROSDIR)
90 arosboot-raspi: $(AROSDIR)/arosraspi.img
92 $(AROSDIR)/arosraspi.img: $(TARGETDIR)/core.bin.o $(foreach f, $(FILES), $(TARGETDIR)/$(f).o $(TARGETDIR)/$(f).d)
93         $(KERNEL_LD) -s --entry=bootstrap --script=$(SRCDIR)/$(CURDIR)/ldscript.lds $(foreach f, $(FILES), $(TARGETDIR)/$(f).o) $(TARGETDIR)/core.bin.o -L$(LIBDIR) -lm -larosc.static -lm -laeabi -o $(OSGENDIR)/boot/arosraspi.img.elf
94         $(TARGET_OBJCOPY) -O binary $(OSGENDIR)/boot/arosraspi.img.elf $@
96 $(TARGETDIR)/core.bin.o: $(OSGENDIR)/boot/core.elf
97         cp $(OSGENDIR)/boot/core.elf $(TARGETDIR)/core.bin
98         cd $(TARGETDIR) && $(KERNEL_LD) $(KERNEL_LDFLAGS) -r --format binary --oformat elf32-littlearm core.bin -o $@
101 clean ::
102         -$(RM) $(TESTS)
104 $(TARGETDIR)/%.o : %.c
105         %compile_q 
107 $(TARGETDIR)/%.o : %.S
108         %compile_q 
110 $(TARGETDIR)/%.d : %.c
111         %mkdepend_q
113 DEPS    := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)
115 -include $(DEPS)
117 %common