35 lines
916 B
Makefile
35 lines
916 B
Makefile
# Makefile for Amiga Joystick and Mouse Emulation on Milk-V Duo
|
|
# Baremetal Implementation (Targets SRAM at 0x0E000000)
|
|
|
|
#/* Baremetal Risc-V USB <=> Amiga Joystick/Mouse HID converter.
|
|
#* March 2026 - Anders Holck
|
|
#* This software has no license. If you choose to use, please include my name :)
|
|
#*/
|
|
|
|
CROSS_COMPILE = riscv64-unknown-elf-
|
|
CC = $(CROSS_COMPILE)gcc
|
|
AS = $(CROSS_COMPILE)as
|
|
LD = $(CROSS_COMPILE)ld
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
|
|
# Baremetal flags
|
|
CFLAGS = -march=rv64gc -mabi=lp64d -static -mcmodel=medany -fvisibility=hidden -nostdlib -nostartfiles -ffreestanding -O2 -T linker.ld
|
|
LDFLAGS = -static -nostdlib -T linker.ld
|
|
|
|
TARGET = amiga_joystick_mouse.elf
|
|
BIN = amiga_joystick_mouse.bin
|
|
SRCS = startup.s main.c amiga_hw.c usb_dwc2.c
|
|
|
|
all: $(BIN)
|
|
|
|
$(TARGET): $(SRCS)
|
|
$(CC) $(CFLAGS) -o $@ $^
|
|
|
|
$(BIN): $(TARGET)
|
|
$(OBJCOPY) -O binary $< $@
|
|
|
|
clean:
|
|
rm -f *.o $(TARGET) $(BIN)
|
|
|
|
.PHONY: all clean
|