oSDK/default-project/Makefile

38 lines
1.0 KiB
Makefile

CC=sh-elf-gcc
CFLAGS= -I/usr/local/include -ffreestanding -flto -nostdlib -O2 -Wall -Wextra -Xlinker
NAME=
FILENAME="omega"
OBJCOPY = sh-elf-objcopy
SRC_DIR=src
CONV_DIR=oconv
BUILD_DIR=build
SRC := $(wildcard $(SRC_DIR)/*.c $(SRC_DIR)/*.s)
SRC += $(wildcard $(SRC_DIR)/*/*.c $(SRC_DIR)/*/*.s)
all: mkdir convert compile clean
no_clean : mkdir convert compile
mkdir:
mkdir -p build
convert:
cd oconv && python3 convert.py ../assets/
cd ..
compile: $(FILENAME).g3a
$(FILENAME).g3a : $(BUILD_DIR)/$(FILENAME).bin
mkg3a -n "basic:$(NAME)" -i uns:assets/uns-icon.bmp -i sel:assets/sel-icon.bmp $(BUILD_DIR)/$(FILENAME).bin $(FILENAME).g3a
$(BUILD_DIR)/$(FILENAME).bin : $(BUILD_DIR)/$(FILENAME).elf
$(OBJCOPY) -O binary $(BUILD_DIR)/$(FILENAME).elf $(BUILD_DIR)/$(FILENAME).bin
$(BUILD_DIR)/$(FILENAME).elf: $(SRC)
sh-elf-gcc $(CFLAGS) -T linker.ld -o $(BUILD_DIR)/$(FILENAME).elf $(SRC) /usr/local/lib/omega.a $(wildcard $(CONV_DIR)/*.S) -lgcc
clean:
rm -rf build
rm -f oconv/*.S
.PHONY: all clean