clean up some makefile issues. (NicJA)
[AROS.git] / arch / armeb-raspi / boot / mmakefile.src
blobdf2d4c8ff0ac09cf5e525bd0fb545e2c8a2897e5
1 # $Id $
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     :=-ffixed-r8 -Wall $(CFLAGS_NO_BUILTIN) -mcpu=cortex-a7
9 KERNEL_LDFLAGS  =
10 USER_INCLUDES   := -isystem $(SRCDIR)/$(CURDIR)/include -I$(SRCDIR)/rom/openfirmware
11 USER_CPPFLAGS     := -DUSE_UBOOT
12 OPTIMIZATION_CFLAGS := -O2
14 ARM_BSP := aros-$(AROS_TARGET_CPU)-bsp.rom
16 #MM- distfiles-raspi-armeb : distfiles-raspi-be
17 #MM- distfiles-quick-raspi-armeb : distfiles-raspi-be-quick
19 #MM- distfiles-raspi-be-quick : \
20 #MM kernel-raspi-armeb-quick \
21 #MM kernel-package-raspi-armeb-quick \
22 #MM distfiles-raspi-be-fw
24 #MM distfiles-raspi-be : \
25 #MM kernel-raspi-armeb \
26 #MM kernel-package-raspi-armeb \
27 #MM distfiles-raspi-be-fw
29 #MM kernel-package-raspi-armeb-quick: \
30 #MM linklibs-stdc-static-quick \
31 #MM kernel-dos-quick \
32 #MM kernel-bootloader-quick \
33 #MM kernel-dosboot-quick \
34 #MM kernel-oop-quick \
35 #MM kernel-utility-quick \
36 #MM kernel-debug-quick \
37 #MM kernel-expansion-quick \
38 #MM kernel-openfirmware-quick \
39 #MM kernel-graphics-quick \
40 #MM kernel-cgxbootpic-quick \
41 #MM kernel-intuition-quick \
42 #MM kernel-partition-quick \
43 #MM kernel-layers-quick \
44 #MM kernel-timer-quick \
45 #MM kernel-lddemon-quick \
46 #MM kernel-hidd-quick \
47 #MM kernel-aros-quick \
48 #MM kernel-misc-quick \
49 #MM kernel-keymap-quick \
50 #MM kernel-input-quick \
51 #MM kernel-gameport-quick \
52 #MM kernel-keyboard-quick \
53 #MM kernel-console-quick \
54 #MM kernel-shell-quick \
55 #MM kernel-shellcommands-quick \
56 #MM kernel-filesystem-quick \
57 #MM kernel-fs-con-quick \
58 #MM kernel-fs-afs-quick \
59 #MM kernel-fs-cdvdfs-quick \
60 #MM kernel-fs-fat-quick \
61 #MM kernel-fs-sfs-quick \
62 #MM kernel-fs-ram-quick \
63 #MM kernel-processor-quick \
64 #MM kernel-mbox-bcm2708-quick \
65 #MM hidd-i2c-quick \
66 #MM kernel-hidd-gfx-quick \
67 #MM hidd-vc4gfx-quick \
68 #MM kernel-sdcard-quick \
69 #MM kernel-hidd-kbd-quick \
70 #MM kernel-hidd-mouse-quick \
71 #MM kernel-usb-nopci-quick \
72 #MM kernel-usb-usb2otg-quick \
73 #MM kernel-usb-romstrap-raspi-quick \
74 #MM kernel-econsole-quick
76 #MM kernel-package-raspi-armeb: \
77 #MM linklibs-stdc-static \
78 #MM kernel-dos \
79 #MM kernel-bootloader \
80 #MM kernel-dosboot \
81 #MM kernel-oop \
82 #MM kernel-utility \
83 #MM kernel-debug \
84 #MM kernel-expansion \
85 #MM kernel-openfirmware \
86 #MM kernel-graphics \
87 #MM kernel-cgxbootpic \
88 #MM kernel-intuition \
89 #MM kernel-partition \
90 #MM kernel-layers \
91 #MM kernel-timer \
92 #MM kernel-lddemon \
93 #MM kernel-hidd \
94 #MM kernel-aros \
95 #MM kernel-misc \
96 #MM kernel-keymap \
97 #MM kernel-input \
98 #MM kernel-gameport \
99 #MM kernel-keyboard \
100 #MM kernel-console \
101 #MM kernel-shell \
102 #MM kernel-shellcommands \
103 #MM kernel-filesystem \
104 #MM kernel-fs-con \
105 #MM kernel-fs-afs \
106 #MM kernel-fs-cdvdfs \
107 #MM kernel-fs-fat \
108 #MM kernel-fs-sfs \
109 #MM kernel-fs-ram \
110 #MM kernel-processor \
111 #MM kernel-mbox-bcm2708 \
112 #MM hidd-i2c \
113 #MM kernel-hidd-gfx \
114 #MM hidd-vc4gfx \
115 #MM kernel-sdcard \
116 #MM kernel-hidd-kbd \
117 #MM kernel-hidd-mouse \
118 #MM kernel-usb-nopci \
119 #MM kernel-usb-usb2otg \
120 #MM kernel-usb-romstrap-raspi \
121 #MM kernel-econsole
124 # MM hidd-i2c-bcm2708
128 #MM kernel-package-raspi-armeb-missing: \
129 #MM kernel-battclock
131 RASPIFW_BRANCH    := master
132 RASPIFW_URI       := https://github.com/raspberrypi/firmware/blob/$(RASPIFW_BRANCH)/boot
133 RASPIFW_FILES     := LICENCE.broadcom bootcode.bin fixup.dat start.elf
135 PKG_LIBS      := aros partition utility oop graphics layers intuition keymap dos debug poseidon cgxbootpic
136 PKG_LIBS_ARCH := expansion
137 PKG_RSRC      := openfirmware misc bootloader dosboot lddemon usbromstartup FileSystem shell shellcommands mbox
138 PKG_RSRC_ARCH := processor
139 PKG_DEVS      := input gameport keyboard console sdcard USBHardware/usb2otg
140 PKG_DEVS_ARCH := timer
141 PKG_HANDLERS  := con ram cdrom sfs fat afs
142 PKG_HIDDS     := gfx mouse keyboard hiddclass i2c vc4gfx
143 PKG_CLASSES   := USB/hid USB/hub USB/bootmouse USB/bootkeyboard USB/massstorage
145 %make_package mmake=kernel-package-raspi-armeb file=$(AROSDIR)/$(ARM_BSP) \
146     libs=$(PKG_LIBS) arch_libs=$(PKG_LIBS_ARCH) res=$(PKG_RSRC) \
147     arch_res=$(PKG_RSRC_ARCH) devs=$(PKG_DEVS) arch_devs=$(PKG_DEVS_ARCH) \
148     handlers=$(PKG_HANDLERS) hidds=$(PKG_HIDDS) classes=$(PKG_CLASSES)
151 distfiles-raspi-be-fw:
152         $(foreach file, $(RASPIFW_FILES), $(shell wget -t 5 -T 15 -c "$(addprefix $(RASPIFW_URI)/, $(addsuffix ?raw=true, $(file)))" -O "$(addprefix $(AROSDIR)/, $(file))"))
155 distfiles-raspi-be-bootimg: $(AROSDIR)/aros-$(AROS_TARGET_CPU)-raspi.img
158 distfiles-raspi-be-bootimg-quick: $(AROSDIR)/aros-$(AROS_TARGET_CPU)-raspi.img
160 $(AROSDIR)/config.txt: $(AROSDIR)/$(ARM_BSP)
161         @printf "kernel=aros-$(AROS_TARGET_CPU)-raspi.img\ninitramfs $(ARM_BSP) 0x00800000" > $@
163 $(AROSDIR)/aros-armeb-raspi.img: $(TARGETDIR)/core.bin.o $(foreach f, $(FILES), $(TARGETDIR)/$(f).o $(TARGETDIR)/$(f).d)
164         $(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
165         $(TARGET_OBJCOPY) -O binary $(OSGENDIR)/boot/aros-armeb-raspi.img.elf $@
167 $(TARGETDIR)/core.bin.o: $(OSGENDIR)/boot/core.elf
168         cp $(OSGENDIR)/boot/core.elf $(TARGETDIR)/core.bin
169         cd $(TARGETDIR) && $(KERNEL_LD) $(KERNEL_LDFLAGS) --be8 -r --format binary --oformat elf32-bigarm core.bin -o $@
171 distfiles-raspi-be: $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-raspi-armeb.tar.bz2
172 distfiles-raspi-be-quick: $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-raspi-armeb.tar.bz2
174 $(DISTDIR)/aros$(AROS_TARGET_SUFFIX)-raspi-armeb.tar.bz2: $(AROSDIR)/aros-armeb-raspi.img  $(AROSDIR)/$(ARM_BSP) $(AROSDIR)/config.txt
175         %mkdirs_q $(AROSDIR)/S
176         @$(CP) $(SRCDIR)/workbench/s/Startup-Sequence $(AROSDIR)/S/Startup-Sequence
177         @$(MKDIR) -p "$(DISTDIR)"
178         cd $(AROSDIR) && tar -cjf  $@ ./
181 clean ::
182         -$(RM) $(TESTS)
184 $(TARGETDIR)/%.o : %.c
185         %compile_q
187 $(TARGETDIR)/%.o : %.S
188         %compile_q
190 $(TARGETDIR)/%.d : %.c
191         %mkdepend_q
193 DEPS    := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)
195 -include $(DEPS)
197 %common