38 lines
1.0 KiB
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 |