49 lines
1.1 KiB
Makefile
49 lines
1.1 KiB
Makefile
|
.PHONY: all mrproper send
|
||
|
|
||
|
PREFIX = sh3eb-elf-
|
||
|
AS = $(PREFIX)as
|
||
|
CC = $(PREFIX)gcc
|
||
|
CXX = $(PREFIX)g++
|
||
|
OBJCOPY = $(PREFIX)objcopy
|
||
|
WRAPPER = g1a-wrapper
|
||
|
SEND = UsbConnector
|
||
|
|
||
|
FLAGS = -m3 -mb -Os -nostdlib
|
||
|
CFLAGS = -W -Wall -Wno-main -pedantic -std=c11
|
||
|
INCLUDE = -I. -Iinclude -isystem stdinc
|
||
|
LIBS = -Llib -lgcc -lfx
|
||
|
NAME = sound
|
||
|
|
||
|
OBJ = build/Sound4Calc.o build/crt0.o build/syscall.o
|
||
|
ICON = icon.bmp
|
||
|
|
||
|
|
||
|
all: build/$(NAME).bin
|
||
|
@ $(WRAPPER) build/$(NAME).bin -o bin/$(NAME).g1a
|
||
|
@ echo "Build finished."
|
||
|
@ stat -c "Output size is %s bytes." bin/$(NAME).g1a
|
||
|
|
||
|
build/$(NAME).bin: build/$(NAME).elf
|
||
|
@ $(OBJCOPY) -R .comment -R .bss -O binary build/$(NAME).elf build/$(NAME).bin
|
||
|
|
||
|
build/$(NAME).elf: bin/addin.ld $(OBJ)
|
||
|
@ $(CC) $(FLAGS) $(OBJ) -T"bin/addin.ld" -o build/$(NAME).elf $(LIBS)
|
||
|
|
||
|
build/%.o: %.c
|
||
|
@ $(CC) $(FLAGS) -c $^ -o $@ $(INCLUDE) $(CFLAGS)
|
||
|
|
||
|
build/%.o: %.s
|
||
|
@ $(AS) -c $^ -o $@
|
||
|
|
||
|
send:
|
||
|
@ cp bin/$(NAME).g1a $(NAME).g1a
|
||
|
@ $(SEND) SEND $(NAME).g1a $(NAME).g1a fls0
|
||
|
@ rm -f $(NAME).g1a
|
||
|
|
||
|
mrproper:
|
||
|
rm -f build/*.o
|
||
|
rm -f build/$(NAME).elf
|
||
|
rm -f build/$(NAME).bin
|
||
|
|
||
|
|