3 include $(SRCDIR)/config/aros.cfg
5 TARGETDIR := $(GENDIR)/$(CURDIR)
6 FILES := boot serialdebug mmu kprintf elf support bc/font8x14 bc/vars vc_mb vc_fb bc/screen_fb
7 USER_CFLAGS := -DUSE_UBOOT -ffixed-r8 -Wall -fno-builtin -O2
9 USER_INCLUDES := -isystem $(SRCDIR)/$(CURDIR)/include
11 ARM_BSP := aros-$(AROS_TARGET_CPU)-bsp.rom
13 #MM- distfiles-raspi-armhf : distfiles-raspi
14 #MM- distfiles-raspi-arm : distfiles-raspi
16 #MM distfiles-raspi : \
17 #MM kernel-raspi-arm \
18 #MM kernel-package-raspi-arm \
19 #MM distfiles-raspi-fw
21 #MM kernel-package-raspi-arm: \
22 #MM linklibs-stdc-static \
24 #MM kernel-bootloader \
29 #MM kernel-expansion \
31 #MM kernel-cgxbootpic \
32 #MM kernel-intuition \
33 #MM kernel-partition \
46 #MM kernel-shellcommands \
47 #MM kernel-filesystem \
50 #MM kernel-fs-cdvdfs \
54 #MM kernel-processor \
55 #MM kernel-mbox-bcm2708 \
58 #MM hidd-i2c-bcm2708 \
62 #MM kernel-hidd-mouse \
63 #MM kernel-usb-nopci \
64 #MM kernel-usb-usb2otg \
65 #MM kernel-usb-romstrap-raspi \
68 #MM kernel-package-raspi-arm-missing: \
71 RASPIFW_BRANCH := 0c2d73d03316420b9e82898c4571205ec537ab82
72 RASPIFW_URI := https://github.com/raspberrypi/firmware/blob/$(RASPIFW_BRANCH)/boot
73 RASPIFW_FILES := LICENCE.broadcom bootcode.bin fixup.dat start.elf
75 PKG_LIBS := aros partition utility oop graphics layers intuition keymap dos debug poseidon cgxbootpic
76 PKG_LIBS_ARCH := expansion
77 PKG_RSRC := misc bootloader dosboot lddemon usbromstartup FileSystem shell shellcommands mbox
78 PKG_RSRC_ARCH := processor
79 PKG_DEVS := input gameport keyboard console sdcard USBHardware/usb2otg
80 PKG_DEVS_ARCH := timer
81 PKG_HANDLERS := con ram cdrom sfs fat afs
82 PKG_HIDDS := gfx mouse keyboard hiddclass i2c i2c-bcm2708 vc4gfx
83 PKG_CLASSES := USB/hid USB/hub USB/bootmouse USB/bootkeyboard USB/massstorage
85 %make_package mmake=kernel-package-raspi-arm file=$(AROSDIR)/$(ARM_BSP) \
86 libs=$(PKG_LIBS) arch_libs=$(PKG_LIBS_ARCH) res=$(PKG_RSRC) \
87 arch_res=$(PKG_RSRC_ARCH) devs=$(PKG_DEVS) arch_devs=$(PKG_DEVS_ARCH) \
88 handlers=$(PKG_HANDLERS) hidds=$(PKG_HIDDS) classes=$(PKG_CLASSES)
92 $(foreach file, $(RASPIFW_FILES), $(shell wget -t 5 -T 15 -c "$(addprefix $(RASPIFW_URI)/, $(addsuffix ?raw=true, $(file)))" -O "$(addprefix $(AROSDIR)/, $(file))"))
95 distfiles-raspi-bootimg: $(AROSDIR)/aros-$(AROS_TARGET_CPU)-raspi.img
98 distfiles-raspi-bootimg-quick: $(AROSDIR)/aros-$(AROS_TARGET_CPU)-raspi.img
100 $(AROSDIR)/config.txt: $(AROSDIR)/$(ARM_BSP)
101 $(ECHO) -e "kernel=aros-$(AROS_TARGET_CPU)-raspi.img\ninitramfs $(ARM_BSP) 0x00800000" > $@
103 $(AROSDIR)/aros-$(AROS_TARGET_CPU)-raspi.img: $(TARGETDIR)/core.bin.o $(foreach f, $(FILES), $(TARGETDIR)/$(f).o $(TARGETDIR)/$(f).d)
104 $(KERNEL_LD) -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-$(AROS_TARGET_CPU)-raspi.img.elf
105 $(TARGET_OBJCOPY) -O binary $(OSGENDIR)/boot/aros-$(AROS_TARGET_CPU)-raspi.img.elf $@
107 $(TARGETDIR)/core.bin.o: $(OSGENDIR)/boot/core.elf
108 cp $(OSGENDIR)/boot/core.elf $(TARGETDIR)/core.bin
109 cd $(TARGETDIR) && $(KERNEL_LD) $(KERNEL_LDFLAGS) -r --format binary --oformat elf32-littlearm core.bin -o $@
111 distfiles-raspi: $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-raspi-armhf.tar.bz2
113 $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-raspi-armhf.tar.bz2: $(AROSDIR)/aros-$(AROS_TARGET_CPU)-raspi.img $(AROSDIR)/$(ARM_BSP) $(AROSDIR)/config.txt
114 %mkdirs_q $(AROSDIR)/S
115 @$(CP) $(SRCDIR)/workbench/s/Startup-Sequence $(AROSDIR)/S/Startup-Sequence
116 @$(MKDIR) -p "$(DISTDIR)"
117 cd $(AROSDIR) && tar -cjf $@ ./
123 $(TARGETDIR)/%.o : %.c
126 $(TARGETDIR)/%.o : %.S
129 $(TARGETDIR)/%.d : %.c
132 DEPS := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)