3 include $(SRCDIR)/config/aros.cfg
5 TARGETDIR := $(GENDIR)/$(CURDIR)
6 FILES := boot mmu kprintf support vc_mb serialdebug elf devicetree \
7 bc/vars bc/font8x14 bc/screen_fb vc_fb
8 USER_CFLAGS := -DUSE_UBOOT -ffixed-r8 -Wall -fno-builtin -O2 -mcpu=cortex-a7
10 USER_INCLUDES := -isystem $(SRCDIR)/$(CURDIR)/include -I$(SRCDIR)/rom/openfirmware
12 ARM_BSP := aros-$(AROS_TARGET_CPU)-bsp.rom
14 #MM- distfiles-raspi-armeb : distfiles-raspi-be
16 #MM distfiles-raspi-be : \
17 #MM kernel-raspi-armeb \
18 #MM kernel-package-raspi-armeb \
19 #MM distfiles-raspi-be-fw
21 #MM kernel-package-raspi-armeb: \
22 #MM linklibs-stdc-static \
24 #MM kernel-bootloader \
29 #MM kernel-expansion \
30 #MM kernel-openfirmware \
32 #MM kernel-cgxbootpic \
33 #MM kernel-intuition \
34 #MM kernel-partition \
47 #MM kernel-shellcommands \
48 #MM kernel-filesystem \
51 #MM kernel-fs-cdvdfs \
55 #MM kernel-processor \
56 #MM kernel-mbox-bcm2708 \
60 #MM kernel-hidd-mouse \
61 #MM kernel-usb-nopci \
62 #MM kernel-usb-romstrap-raspi \
68 # MM kernel-usb-usb2otg
70 #MM kernel-package-raspi-armeb-missing: \
73 RASPIFW_BRANCH := master
74 RASPIFW_URI := https://github.com/raspberrypi/firmware/blob/$(RASPIFW_BRANCH)/boot
75 RASPIFW_FILES := LICENCE.broadcom bootcode.bin fixup.dat start.elf
77 PKG_LIBS := aros partition utility oop graphics layers intuition keymap dos debug poseidon cgxbootpic
78 PKG_LIBS_ARCH := expansion
79 PKG_RSRC := openfirmware misc bootloader dosboot lddemon usbromstartup FileSystem shell shellcommands mbox
80 PKG_RSRC_ARCH := processor
81 PKG_DEVS := input gameport keyboard console
82 PKG_DEVS_ARCH := timer
83 PKG_HANDLERS := con ram cdrom sfs fat afs
84 PKG_HIDDS := gfx mouse keyboard hiddclass i2c
85 PKG_CLASSES := USB/hid USB/hub USB/bootmouse USB/bootkeyboard USB/massstorage
87 %make_package mmake=kernel-package-raspi-armeb file=$(AROSDIR)/$(ARM_BSP) \
88 libs=$(PKG_LIBS) arch_libs=$(PKG_LIBS_ARCH) res=$(PKG_RSRC) \
89 arch_res=$(PKG_RSRC_ARCH) devs=$(PKG_DEVS) arch_devs=$(PKG_DEVS_ARCH) \
90 handlers=$(PKG_HANDLERS) hidds=$(PKG_HIDDS) classes=$(PKG_CLASSES)
93 distfiles-raspi-be-fw:
94 $(foreach file, $(RASPIFW_FILES), $(shell wget -t 5 -T 15 -c "$(addprefix $(RASPIFW_URI)/, $(addsuffix ?raw=true, $(file)))" -O "$(addprefix $(AROSDIR)/, $(file))"))
97 distfiles-raspi-be-bootimg: $(AROSDIR)/aros-$(AROS_TARGET_CPU)-raspi.img
100 distfiles-raspi-be-bootimg-quick: $(AROSDIR)/aros-$(AROS_TARGET_CPU)-raspi.img
102 $(AROSDIR)/config.txt: $(AROSDIR)/$(ARM_BSP)
103 @printf "kernel=aros-$(AROS_TARGET_CPU)-raspi.img\ninitramfs $(ARM_BSP) 0x00800000" > $@
105 $(AROSDIR)/aros-armeb-raspi.img: $(TARGETDIR)/core.bin.o $(foreach f, $(FILES), $(TARGETDIR)/$(f).o $(TARGETDIR)/$(f).d)
106 $(KERNEL_LD) --be8 --format elf32-bigarm -s --entry=bootstrap --script=$(SRCDIR)/$(CURDIR)/ldscript.lds $(foreach f, $(FILES), $(TARGETDIR)/$(f).o) $ $(TARGETDIR)/core.bin.o -L$(AROS_LIB) -lstdc.static -laeabi -o $(OSGENDIR)/boot/aros-armeb-raspi.img.elf
107 $(TARGET_OBJCOPY) -O binary $(OSGENDIR)/boot/aros-armeb-raspi.img.elf $@
109 $(TARGETDIR)/core.bin.o: $(OSGENDIR)/boot/core.elf
110 cp $(OSGENDIR)/boot/core.elf $(TARGETDIR)/core.bin
111 cd $(TARGETDIR) && $(KERNEL_LD) $(KERNEL_LDFLAGS) --be8 -r --format binary --oformat elf32-bigarm core.bin -o $@
113 distfiles-raspi-be: $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-raspi-armeb.tar.bz2
115 $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-raspi-armeb.tar.bz2: $(AROSDIR)/aros-armeb-raspi.img $(AROSDIR)/$(ARM_BSP) $(AROSDIR)/config.txt
116 %mkdirs_q $(AROSDIR)/S
117 @$(CP) $(SRCDIR)/workbench/s/Startup-Sequence $(AROSDIR)/S/Startup-Sequence
118 @$(MKDIR) -p "$(DISTDIR)"
119 cd $(AROSDIR) && tar -cjf $@ ./
125 $(TARGETDIR)/%.o : %.c
128 $(TARGETDIR)/%.o : %.S
131 $(TARGETDIR)/%.d : %.c
134 DEPS := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)