oquonie/makefile

80 lines
2.2 KiB
Makefile

ID=oquonie
DIR=~/roms
ASM=uxncli ${DIR}/drifblim.rom
LIN=uxncli ${DIR}/uxnlin.rom
EMU=uxn11
ROM=bin/${ID}.rom
run: ${ROM} bin/game.romx bin/assets.romx
@ ${EMU} ${ROM}
lint:
@ ${LIN} src/${ID}.tal
clean:
@ rm -f bin/*.rom bin/*.romx bin/*.rom.sym
install: ${ROM}
@ cp ${ROM} ${DIR}
uninstall:
@ rm -f ${DIR}/${ID}.rom
push: ${ROM}
@ ~/bin/butler push ${ROM} hundredrabbits/${ID}:uxn
.PHONY: clean lint run install uninstall push
${ROM}: bin/game.romx bin/assets.romx
@ cat bin/game.romx bin/assets.romx > ${ROM}
bin/padder.rom: tools/padder.tal
@ mkdir -p bin
@ ${ASM} tools/padder.tal bin/padder.rom
bin/packer.rom: tools/packer.tal
@ mkdir -p bin
@ ${ASM} tools/packer.tal bin/packer.rom
bin/game.romx: src/* bin/padder.rom
@ mkdir -p bin
@ ${ASM} src/${ID}.tal bin/game.rom
@ echo "(Disc 0) Game"
@ uxncli bin/padder.rom ff00 bin/game.rom
bin/assets.romx: etc/* bin/padder.rom bin/packer.rom
@ mkdir -p bin
@ echo "(Disc 1) Walls & Maps"
@ cat etc/w.txt | uxncli bin/packer.rom bin/w.rom
@ cat etc/m.txt | uxncli bin/packer.rom bin/m.rom
@ cat bin/w.rom bin/m.rom > bin/wm.rom
@ uxncli bin/padder.rom 10000 bin/wm.rom
@ mv bin/wm.romx bin/_1.romx
@ echo "(Disc 2) Characters"
@ cat etc/c.txt | uxncli bin/packer.rom bin/c.rom
@ uxncli bin/padder.rom 10000 bin/c.rom
@ mv bin/c.romx bin/_2.romx
@ echo "(Disc 3) CharactersCont & Floors"
@ cat etc/c2.txt | uxncli bin/packer.rom bin/c2.rom
@ cat etc/f.txt | uxncli bin/packer.rom bin/f.rom
@ cat bin/c2.rom bin/f.rom > bin/c2f.rom
@ uxncli bin/padder.rom 10000 bin/c2f.rom
@ mv bin/c2f.romx bin/_3.romx
@ echo "(Disc 4) Blockers"
@ cat etc/b.txt | uxncli bin/packer.rom bin/b.rom
@ uxncli bin/padder.rom 10000 bin/b.rom
@ mv bin/b.romx bin/_4.romx
@ echo "(Disc 5) Events"
@ cat etc/e.txt | uxncli bin/packer.rom bin/e.rom
@ uxncli bin/padder.rom 10000 bin/e.rom
@ mv bin/e.romx bin/_5.romx
@ echo "(Disc 6) Portraits & Camilare"
@ cat etc/p.txt | uxncli bin/packer.rom bin/p.rom
@ cat etc/a.txt | uxncli bin/packer.rom bin/a.rom
@ cat bin/p.rom bin/a.rom > bin/pa.rom
@ uxncli bin/padder.rom 10000 bin/pa.rom
@ mv bin/pa.romx bin/_6.romx
@ cat bin/_1.romx bin/_2.romx bin/_3.romx bin/_4.romx bin/_5.romx bin/_6.romx > bin/assets.romx