powerpc-ofw-boot/Makefile

49 lines
1.2 KiB
Makefile
Raw Permalink Normal View History

2023-07-01 09:43:35 +00:00
MACHINE = mac99
PPC = powerpc-eabi
QEMU = qemu-system-ppc
RES = 1600x900x32
2023-07-04 11:04:46 +00:00
CPU = g4
2023-07-01 20:56:54 +00:00
SOURCES_C = $(shell find src -name "*.c")
SOURCES_S = $(shell find src -name "*.s")
2023-07-01 09:43:35 +00:00
OBJECTS = $(SOURCES_C:.c=.elf) $(SOURCES_S:.s=.elf)
2023-07-01 10:27:07 +00:00
.PHONY: clean run debug beige
2023-07-01 09:43:35 +00:00
2023-07-01 20:56:54 +00:00
DISK.APM: kernel.elf bootinfo.txt kpartx/kpartx.sh
2021-09-29 03:11:53 +00:00
dd bs=512K count=2 if=/dev/zero of=DISK.APM
2021-09-23 13:13:49 +00:00
parted DISK.APM --script mklabel mac mkpart primary hfs+ 32.8KB 100%
2023-07-01 20:56:54 +00:00
sudo chmod +x kpartx/kpartx.sh
sudo ./kpartx/kpartx.sh
2023-07-01 09:43:35 +00:00
sudo mkdir -p /mnt/ppc /mnt/boot
2021-06-30 17:25:38 +00:00
sudo cp bootinfo.txt /mnt/ppc
sudo cp kernel.elf /mnt/boot
sudo umount /mnt/
2021-09-23 13:13:49 +00:00
sudo kpartx -d DISK.APM
2023-07-01 09:43:35 +00:00
2023-06-27 14:15:30 +00:00
bootinfo.txt: loader/load.fth loader/def.fth
2021-06-30 20:38:46 +00:00
echo "<chrp-boot><boot-script>" >> bootinfo.txt
2022-01-19 15:31:43 +00:00
cat loader/def.fth >> bootinfo.txt
2021-10-01 03:32:38 +00:00
cat loader/load.fth >> bootinfo.txt
2021-06-30 20:38:46 +00:00
echo "</boot-script></chrp-boot>" >> bootinfo.txt
2023-07-01 09:43:35 +00:00
2023-07-04 11:45:32 +00:00
kernel.elf: linker.ld $(OBJECTS)
$(PPC)-ld -T $^ -o $@
2023-07-01 09:43:35 +00:00
%.elf: %.c
2023-07-01 11:07:36 +00:00
$(PPC)-gcc -I include -c $< -o $@
2023-07-01 09:43:35 +00:00
%.elf: %.s
$(PPC)-as -c $< -o $@
2021-06-30 17:18:29 +00:00
clean:
2023-07-01 13:57:35 +00:00
rm -f *.APM *txt
2023-07-01 20:56:54 +00:00
find src -name "*.elf" -type f -delete
2023-07-01 09:43:35 +00:00
2021-09-29 03:11:53 +00:00
run:
2023-07-04 11:04:46 +00:00
$(QEMU) -hda *.APM -g $(RES) -machine $(MACHINE) -cpu $(CPU)
2022-01-01 03:21:12 +00:00
2021-09-29 03:11:53 +00:00
debug:
2023-07-04 11:04:46 +00:00
$(QEMU) -hda *.APM -d in_asm -g $(RES) -machine $(MACHINE) -cpu $(CPU)
gdb:
$(QEMU) -hda *.APM -s -S -g $(RES) -machine $(MACHINE) -cpu $(CPU)