2 include $(TOP)/config/make.cfg
4 TARGETDIR := $(GENDIR)/$(CURDIR)
5 FILES := boot serialdebug kprintf 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
9 USER_INCLUDES := -isystem $(SRCDIR)/$(CURDIR)/include
11 #MM- distfiles-raspi-armhf : distfiles-raspi
12 #MM- distfiles-raspi-arm : distfiles-raspi
14 #MM distfiles-raspi : \
15 #MM kernel-raspi-arm \
16 #MM kernel-raspi-config-copy \
17 #MM kernel-package-raspi-arm \
18 #MM distfiles-raspi-fw
20 #MM kernel-package-raspi-arm: \
23 #MM kernel-bootloader \
28 #MM kernel-expansion \
30 #MM kernel-cgxbootpic \
31 #MM kernel-intuition \
32 #MM kernel-partition \
45 #MM kernel-shellcommands \
46 #MM kernel-filesystem \
49 #MM kernel-fs-cdvdfs \
53 #MM kernel-processor \
57 #MM hidd-i2c-bcm2835 \
58 #MM hidd-videocoregfx \
59 #MM kernel-hidd-graphics \
61 #MM kernel-hidd-mouse \
62 #MM kernel-usb-nopci \
63 #MM kernel-usb-usb2otg \
64 #MM kernel-usb-romstrap-raspi \
67 #MM kernel-package-raspi-arm-missing: \
70 RASPIFW_URI := https://github.com/Hexxeh/rpi-firmware/blob/master
71 RASPIFW_FILES := LICENCE.broadcom bootcode.bin fixup.dat fixup_cd.dat start.elf start_cd.elf start_x.elf
73 PKG_LIBS := aros partition expansion utility oop graphics layers intuition keymap dos debug poseidon cgxbootpic
74 PKG_RSRC := misc bootloader dosboot lddemon usbromstartup FileSystem shell shellcommands vcmbox processor
75 PKG_DEVS := input gameport keyboard console timer sdcard USBHardware/usb2otg
76 PKG_HANDLERS := con ram cdrom sfs fat afs
77 PKG_HIDDS := graphics mouse keyboard hiddclass i2c i2c-bcm2835 videocoregfx
78 PKG_USB := hid hub bootmouse bootkeyboard massstorage
82 $(addprefix $(BINDIR)/Libs/, $(addsuffix .library, $(PKG_LIBS))) \
83 $(addprefix $(BINDIR)/Devs/, $(addsuffix .device, $(PKG_DEVS))) \
84 $(addprefix $(BINDIR)/Devs/, $(addsuffix .resource, $(PKG_RSRC))) \
85 $(addprefix $(BINDIR)/Devs/, $(addsuffix .hook, $(PKG_HOOKS))) \
86 $(addprefix $(BINDIR)/L/, $(addsuffix -handler, $(PKG_HANDLERS))) \
87 $(addprefix $(BINDIR)/Devs/Drivers/, $(addsuffix .hidd, $(PKG_HIDDS))) \
88 $(addprefix $(BINDIR)/Classes/USB/, $(addsuffix .class, $(PKG_USB)))
92 $(foreach file, $(RASPIFW_FILES), $(shell wget -t 5 -T 15 -c "$(addprefix $(RASPIFW_URI)/, $(addsuffix ?raw=true, $(file)))" -O "$(addprefix $(AROSDIR)/, $(file))"))
94 kernel-package-raspi-arm: $(BINDIR)/arosraspi.rom
96 $(BINDIR)/arosraspi.rom:
97 $(RM) -rf $(OSGENDIR)/boot/modules
98 %mkdirs_q $(OSGENDIR)/boot/modules
99 @mv $(MODULES) $(OSGENDIR)/boot/modules/
100 $(SRCDIR)/tools/package/pkg c $(BINDIR)/arosraspi.rom $(OSGENDIR)/boot/modules
102 %copy_files_q mmake=kernel-raspi-config-copy files="$(CONFIG_FILE)" dst=$(AROSDIR)
104 $(AROSDIR)/arosraspi.img: $(TARGETDIR)/core.bin.o $(foreach f, $(FILES), $(TARGETDIR)/$(f).o $(TARGETDIR)/$(f).d)
105 $(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
106 $(TARGET_OBJCOPY) -O binary $(OSGENDIR)/boot/arosraspi.img.elf $@
108 $(TARGETDIR)/core.bin.o: $(OSGENDIR)/boot/core.elf
109 cp $(OSGENDIR)/boot/core.elf $(TARGETDIR)/core.bin
110 cd $(TARGETDIR) && $(KERNEL_LD) $(KERNEL_LDFLAGS) -r --format binary --oformat elf32-littlearm core.bin -o $@
112 distfiles-raspi: $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-raspi-armhf.tar.bz2
114 $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-raspi-armhf.tar.bz2: $(AROSDIR)/arosraspi.img $(BINDIR)/arosraspi.rom
115 %mkdirs_q $(AROSDIR)/S
116 @$(CP) $(SRCDIR)/workbench/s/Startup-Sequence $(AROSDIR)/S/Startup-Sequence
117 @$(MKDIR) -p "$(DISTDIR)"
118 cd $(AROSDIR) && tar -cjf $@ ./
124 $(TARGETDIR)/%.o : %.c
127 $(TARGETDIR)/%.o : %.S
130 $(TARGETDIR)/%.d : %.c
133 DEPS := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)