use distfiles target
[AROS.git] / arch / arm-raspi / boot / mmakefile.src
blob406849178b0ea3be75426dc29591d3568f7fbcb8
1 # $Id $
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
8 KERNEL_LDFLAGS  =
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: \
21 #MM linklibs-clib \
22 #MM kernel-dos \
23 #MM kernel-bootloader \
24 #MM kernel-dosboot \
25 #MM kernel-oop \
26 #MM kernel-utility \
27 #MM kernel-debug \
28 #MM kernel-expansion \
29 #MM kernel-graphics \
30 #MM kernel-cgxbootpic \
31 #MM kernel-intuition \
32 #MM kernel-partition \
33 #MM kernel-layers \
34 #MM kernel-timer \
35 #MM kernel-lddemon \
36 #MM kernel-hidd \
37 #MM kernel-aros \
38 #MM kernel-misc \
39 #MM kernel-keymap \
40 #MM kernel-input \
41 #MM kernel-gameport \
42 #MM kernel-keyboard \
43 #MM kernel-console \
44 #MM kernel-shell \
45 #MM kernel-shellcommands \
46 #MM kernel-filesystem \
47 #MM kernel-fs-con \
48 #MM kernel-fs-afs \
49 #MM kernel-fs-cdvdfs \
50 #MM kernel-fs-fat \
51 #MM kernel-fs-sfs \
52 #MM kernel-fs-ram \
53 #MM kernel-processor \
54 #MM kernel-vcmbox \
55 #MM kernel-sdcard \
56 #MM hidd-i2c \
57 #MM hidd-i2c-bcm2835 \
58 #MM hidd-videocoregfx \
59 #MM kernel-hidd-graphics \
60 #MM kernel-hidd-kbd \
61 #MM kernel-hidd-mouse \
62 #MM kernel-usb-nopci \
63 #MM kernel-usb-usb2otg \
64 #MM kernel-usb-romstrap-raspi \
65 #MM kernel-econsole
67 #MM kernel-package-raspi-arm-missing: \
68 #MM kernel-battclock
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
79 PKG_HOOKS    := 
81 MODULES := \
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)))
90 #MM
91 distfiles-raspi-fw:
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  $@ ./
121 clean ::
122         -$(RM) $(TESTS)
124 $(TARGETDIR)/%.o : %.c
125         %compile_q 
127 $(TARGETDIR)/%.o : %.S
128         %compile_q 
130 $(TARGETDIR)/%.d : %.c
131         %mkdepend_q
133 DEPS    := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)
135 -include $(DEPS)
137 %common