mirror of
https://github.com/mrehkopf/sd2snes.git
synced 2026-01-11 14:29:25 +01:00
92 lines
2.2 KiB
Makefile
92 lines
2.2 KiB
Makefile
MCUSRC := src
|
|
|
|
README := README*
|
|
|
|
MK2MCUPATH := $(MCUSRC)/obj-mk2
|
|
MK3MCUPATH := $(MCUSRC)/obj-mk3
|
|
STMMCUPATH := $(MCUSRC)/obj-mk3-stm32
|
|
MK2MCU := firmware.img
|
|
MK3MCU := firmware.im3
|
|
STMMCU := firmware.stm
|
|
|
|
SAVESTATEPATH := savestate
|
|
SAVESTATEFILES := savestate*.yml
|
|
|
|
MENUPATH := snes
|
|
MK2MENU := menu.bin
|
|
MK3MENU := m3nu.bin
|
|
|
|
FPGAPATH := verilog
|
|
MK2EXT := bit
|
|
MK3EXT := bi3
|
|
MK2CORES := base cx4 gsu obc1 sdd1 sa1 dsp sgb sgb_msu
|
|
MK3CORES := base cx4 gsu obc1 sdd1 sa1 dsp sgb
|
|
|
|
MK2FPGA := $(foreach C,$(MK2CORES),$(FPGAPATH)/sd2snes_$C/fpga_$C.$(MK2EXT))
|
|
MK3FPGA := $(foreach C,$(MK3CORES),$(FPGAPATH)/sd2snes_$C/fpga_$C.$(MK3EXT))
|
|
|
|
MK2MINI := $(FPGAPATH)/sd2snes_mini/fpga_mini.bit
|
|
MK3MINI := $(FPGAPATH)/sd2snes_mini/fpga_mini.bi3
|
|
|
|
MK2CLEAN := $(foreach C,$(MK2CORES) mini,$(FPGAPATH)/sd2snes_$C/.clean.$(MK2EXT))
|
|
MK3CLEAN := $(foreach C,$(MK3CORES) mini,$(FPGAPATH)/sd2snes_$C/.clean.$(MK3EXT))
|
|
|
|
UTILS := utils
|
|
|
|
-include src/VERSION
|
|
include src/version.mk
|
|
|
|
TARGETPARENT := release/v$(CONFIG_VERSION)
|
|
TARGET := $(TARGETPARENT)/sd2snes
|
|
|
|
all: version fpga build release
|
|
|
|
fpga: $(MK2FPGA) $(MK3FPGA)
|
|
|
|
$(MK2FPGA) $(MK2MINI):
|
|
$(MAKE) -C $(dir $@) mk2
|
|
|
|
$(MK3FPGA) $(MK3MINI):
|
|
$(MAKE) -C $(dir $@) mk3
|
|
|
|
$(MK2CLEAN):
|
|
$(MAKE) -C $(dir $@) mk2_clean
|
|
|
|
$(MK3CLEAN):
|
|
$(MAKE) -C $(dir $@) mk3_clean
|
|
|
|
build: $(MK2MINI) $(MK3MINI)
|
|
$(MAKE) -C snes
|
|
$(MAKE) -C src CONFIG=config-mk2
|
|
$(MAKE) -C src CONFIG=config-mk3
|
|
$(MAKE) -C src CONFIG=config-mk3-stm32
|
|
|
|
clean: $(MK2CLEAN) $(MK3CLEAN)
|
|
$(MAKE) -C snes clean
|
|
$(MAKE) -C src clean CONFIG=config-mk2
|
|
$(MAKE) -C src clean CONFIG=config-mk3
|
|
$(MAKE) -C src clean CONFIG=config-mk3-stm32
|
|
|
|
release: version bsxpage
|
|
rm -rf $(TARGETPARENT)
|
|
mkdir -p $(TARGET)
|
|
cp bin/*.bin $(TARGET)
|
|
cp $(README) $(TARGET)
|
|
cp $(MK2FPGA) $(TARGET)
|
|
cp $(MK3FPGA) $(TARGET)
|
|
cp $(MK2MCUPATH)/$(MK2MCU) $(TARGET)
|
|
cp $(MK3MCUPATH)/$(MK3MCU) $(TARGET)
|
|
cp $(STMMCUPATH)/$(STMMCU) $(TARGET)
|
|
cp $(MENUPATH)/$(MK2MENU) $(TARGET)
|
|
cp $(MENUPATH)/$(MK3MENU) $(TARGET)
|
|
cp $(SAVESTATEPATH)/$(SAVESTATEFILES) $(TARGET)
|
|
cd $(TARGETPARENT) && zip -r sd2snes_firmware_v$(CONFIG_VERSION).zip sd2snes
|
|
|
|
bsxpage:
|
|
cd bin && ../$(UTILS)/genbsxpage
|
|
|
|
version:
|
|
@echo Version: $(CONFIG_VERSION)
|
|
|
|
.PHONY: version release bsxpage $(MK2FPGA) $(MK3FPGA) $(MK2MINI) $(MK3MINI) $(MK2CLEAN) $(MK3CLEAN)
|