PRJCLASS=./build/assets.jar:./build/classes:$(JME3CLASS)

exe:
	make assets_dir
	@if [ ! -d 'src' ]; then \
		make src_dir; \
	fi
	ant compile

exe0:
	make clean
	make exe

run:
	make exe
	make runkob

run0:
	java -esa -cp $(PRJCLASS) mygame.Main D20130527.mesh.j3o -a HandUp.R
run1:
	java -esa -cp $(PRJCLASS) mygame.Main D01_20130527.mesh.j3o -a IKDance
run2:
	java -esa -cp $(PRJCLASS) mygame.Main D02_20130527.mesh.j3o -a StretchDance
run3:
	java -esa -cp $(PRJCLASS) mygame.Main D03_20130527.mesh.j3o -a FatDance
run4a:
	java -esa -cp $(PRJCLASS) mygame.Main D04_20130527.mesh.j3o -a FatDance
run4b:
	java -esa -cp $(PRJCLASS) mygame.Main D04_20130527.mesh.j3o -a MixDance
run5a:
	java -esa -cp $(PRJCLASS) mygame.Main D05_20130527.mesh.j3o -a FatDance
run5b:
	java -esa -cp $(PRJCLASS) mygame.Main D05_20130527.mesh.j3o -a StretchDance
run5c:
	java -esa -cp $(PRJCLASS) mygame.Main D05_20130527.mesh.j3o -a MixDance
run6a:
	java -esa -cp $(PRJCLASS) mygame.Main D06_20130527.mesh.j3o -a FatDance
run6b:
	java -esa -cp $(PRJCLASS) mygame.Main D06_20130527.mesh.j3o -a IKDance
run6c:
	java -esa -cp $(PRJCLASS) mygame.Main D06_20130527.mesh.j3o -a MixDance
run7:
	java -esa -cp $(PRJCLASS) mygame.Main D07_20130527.mesh.j3o -a Talk
run8:
	java -esa -cp $(PRJCLASS) mygame.Main D08_20130527.mesh.j3o -a Swing -e D08_Excalibur20130527.mesh.j3o hand.equip.R
runsw:
	java -esa -cp $(PRJCLASS) mygame.Main swordman.mesh.j3o -e sword.mesh.j3o hand.equip.R
runsw1:
	java -esa -cp $(PRJCLASS) mygame.Main swordman.mesh.j3o -a Default -e sword.mesh.j3o hand.equip.R
runsw2:
	java -esa -cp $(PRJCLASS) mygame.Main swordman.mesh.j3o -a Walk -e sword.mesh.j3o hand.equip.R
runsw3:
	java -esa -cp $(PRJCLASS) mygame.Main swordman.mesh.j3o -a Straight -e sword.mesh.j3o hand.equip.R
runsh:
	java -esa -cp $(PRJCLASS) mygame.Main sahagin.mesh.j3o
runsh1:
	java -esa -cp $(PRJCLASS) mygame.Main sahagin.mesh.j3o -a Default
runsh2:
	java -esa -cp $(PRJCLASS) mygame.Main sahagin.mesh.j3o -a Walk
runsh3:
	java -esa -cp $(PRJCLASS) mygame.Main sahagin.mesh.j3o -a Bite
runsh4:
	java -esa -cp $(PRJCLASS) mygame.Main sahagin.mesh.j3o -a Hit
runmino:
	java -esa -cp $(PRJCLASS) mygame.Main Minotauros.mesh.j3o -e MinotaurosNoseRing.mesh.j3o nose_ring -e MinotaurosBell.mesh.j3o ear_ring.L -e MinotaurosSkull.mesh.j3o necklace -e MinotaurosClub.mesh.j3o hand.equip.R
runorc:
	java -esa -cp $(PRJCLASS) mygame.Main Orc.mesh.j3o -d dist/Models/orc20130628 -e OrcAxe.mesh.j3o hand.equip.R -e OrcArmor.mesh.j3o chest.equip -e OrcHelm.mesh.j3o head.equip
runkob:
	java -esa -cp $(PRJCLASS) mygame.Main Kobold.mesh.j3o -d dist/Models/kobold20130702 -e KoboldSpear.mesh.j3o hand.equip.R -e KoboldArmor.mesh.j3o chest.equip

src_dir:
	sh $(DEVUTIL)/ln.sh src0 src java
	sh $(DEVUTIL)/ln.sh lib0 src java
	ctags -R src

assets_dir0:
	@mkdir assets/dist ; echo
	@mkdir assets/dist/Models ; echo
	@mkdir tmp ; echo
	@mkdir tmp/assets ; echo
	@mkdir tmp/assets/dist ; echo
	@mkdir tmp/assets/dist/Models ; echo

assets_dir:
	make assets/dist/Models/D20130527.mesh.j3o
	make assets/dist/Models/D01_20130527.mesh.j3o
	make assets/dist/Models/D02_20130527.mesh.j3o
	make assets/dist/Models/D03_20130527.mesh.j3o
	make assets/dist/Models/D04_20130527.mesh.j3o
	make assets/dist/Models/D05_20130527.mesh.j3o
	make assets/dist/Models/D06_20130527.mesh.j3o
	make assets/dist/Models/D07_20130527.mesh.j3o
	make assets/dist/Models/D08_20130527.mesh.j3o
	make assets/dist/Models/D08_Excalibur20130527.mesh.j3o
	make assets/dist/Models/swordman.mesh.j3o
	make assets/dist/Models/sword.mesh.j3o
	make assets/dist/Models/sahagin.mesh.j3o
	make assets/dist/Models/Minotauros.mesh.j3o
	make assets/dist/Models/MinotaurosNoseRing.mesh.j3o
	make assets/dist/Models/MinotaurosBell.mesh.j3o
	make assets/dist/Models/MinotaurosSkull.mesh.j3o
	make assets/dist/Models/MinotaurosClub.mesh.j3o
	make assets/dist/Models/orc20130628/Orc.mesh.j3o
	make assets/dist/Models/kobold20130702/Kobold.mesh.j3o

clean_ant:
	ant clean

clean_src:
	rm -rf src ; echo
	rm tags ; echo

clean:
	rm -rf tmp ; echo
	rm -rf assets/dist ; echo
	make clean_src
	make clean_ant

assets/dist/Models/D20130527.mesh.j3o: $(DEVDATA)/d20130527/d20130527.blend $(DEVDATA)/d20130527/D20130527.png
	make assets_dir0
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/d20130527/d20130527.blend dist/Models/D20130527.mesh.xml ; echo
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D20130527.mesh.xml dist/Models/D20130527.mesh.j3o
	mv tmp/assets/dist/Models/D20130527.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/D20130527.png assets/dist/Models

assets/dist/Models/D01_20130527.mesh.j3o: $(DEVDATA)/d20130527/d01_20130527.blend $(DEVDATA)/d20130527/D01_20130527.png
	make assets_dir0
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/d20130527/d01_20130527.blend dist/Models/D01_20130527.mesh.xml ; echo
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D01_20130527.mesh.xml dist/Models/D01_20130527.mesh.j3o
	mv tmp/assets/dist/Models/D01_20130527.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/D01_20130527.png assets/dist/Models

assets/dist/Models/D02_20130527.mesh.j3o: $(DEVDATA)/d20130527/d02_20130527.blend $(DEVDATA)/d20130527/D02_20130527.png
	make assets_dir0
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/d20130527/d02_20130527.blend dist/Models/D02_20130527.mesh.xml ; echo
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D02_20130527.mesh.xml dist/Models/D02_20130527.mesh.j3o
	mv tmp/assets/dist/Models/D02_20130527.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/D02_20130527.png assets/dist/Models

assets/dist/Models/D03_20130527.mesh.j3o: $(DEVDATA)/d20130527/d03_20130527.blend $(DEVDATA)/d20130527/D03_20130527.png
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/d20130527/d03_20130527.blend dist/Models/D03_20130527.mesh.xml ; echo
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D03_20130527.mesh.xml dist/Models/D03_20130527.mesh.j3o
	mv tmp/assets/dist/Models/D03_20130527.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/D03_20130527.png assets/dist/Models

assets/dist/Models/D04_20130527.mesh.j3o: $(DEVDATA)/d20130527/d04_20130527.blend $(DEVDATA)/d20130527/D04_20130527.png
	make assets_dir0
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/d20130527/d04_20130527.blend dist/Models/D04_20130527.mesh.xml ; echo
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D04_20130527.mesh.xml dist/Models/D04_20130527.mesh.j3o
	mv tmp/assets/dist/Models/D04_20130527.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/D04_20130527.png assets/dist/Models

assets/dist/Models/D05_20130527.mesh.j3o: $(DEVDATA)/d20130527/d05_20130527.blend $(DEVDATA)/d20130527/D05_20130527.png
	make assets_dir0
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/d20130527/d05_20130527.blend dist/Models/D05_20130527.mesh.xml ; echo
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D05_20130527.mesh.xml dist/Models/D05_20130527.mesh.j3o
	mv tmp/assets/dist/Models/D05_20130527.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/D05_20130527.png assets/dist/Models

assets/dist/Models/D06_20130527.mesh.j3o: $(DEVDATA)/d20130527/d06_20130527.blend $(DEVDATA)/d20130527/D06_20130527.png
	make assets_dir0
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/d20130527/d06_20130527.blend dist/Models/D06_20130527.mesh.xml ; echo
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D06_20130527.mesh.xml dist/Models/D06_20130527.mesh.j3o
	mv tmp/assets/dist/Models/D06_20130527.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/D06_20130527.png assets/dist/Models

assets/dist/Models/D07_20130527.mesh.j3o: $(DEVDATA)/d20130527/d07_20130527.blend $(DEVDATA)/d20130527/D07_20130527.png
	make assets_dir0
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/d20130527/d07_20130527.blend dist/Models/D07_20130527.mesh.xml ; echo
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D07_20130527.mesh.xml dist/Models/D07_20130527.mesh.j3o
	mv tmp/assets/dist/Models/D07_20130527.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/D07_20130527.png assets/dist/Models


assets/dist/Models/D08_20130527.mesh.j3o: $(DEVDATA)/d20130527/d08_20130527.blend $(DEVDATA)/d20130527/D08_20130527.png
	make assets_dir0
	make tmp/assets/dist/Models/d08_20130527.scene
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D08_20130527.mesh.xml dist/Models/D08_20130527.mesh.j3o
	mv tmp/assets/dist/Models/D08_20130527.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/D08_20130527.png assets/dist/Models

assets/dist/Models/D08_Excalibur20130527.mesh.j3o: $(DEVDATA)/d20130527/d08_20130527.blend
	make assets_dir0
	make tmp/assets/dist/Models/d08_20130527.scene
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/D08_Excalibur20130527.mesh.xml dist/Models/D08_Excalibur20130527.mesh.j3o
	mv tmp/assets/dist/Models/D08_Excalibur20130527.mesh.j3o assets/dist/Models

tmp/assets/dist/Models/d08_20130527.scene: $(DEVDATA)/d20130527/d08_20130527.blend
	make assets_dir0
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/d20130527/d08_20130527.blend dist/Models/d08_20130527.scene ; echo

assets/dist/Models/swordman.mesh.j3o: $(DEVDATA)/swordman20130610/swordman20130610.blend $(DEVDATA)/swordman20130610/swordman.png
	make tmp/assets/dist/Models/swordman20130610.scene
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/swordman.mesh.xml dist/Models/swordman.mesh.j3o
	mv tmp/assets/dist/Models/swordman.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/swordman.png assets/dist/Models

assets/dist/Models/sword.mesh.j3o: $(DEVDATA)/swordman20130610/swordman20130610.blend
	make tmp/assets/dist/Models/swordman20130610.scene
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/sword.mesh.xml dist/Models/sword.mesh.j3o
	mv tmp/assets/dist/Models/sword.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/sword.png assets/dist/Models

tmp/assets/dist/Models/swordman20130610.scene: $(DEVDATA)/swordman20130610/swordman20130610.blend
	make assets_dir0
	cd $(DEVDATA)/swordman20130610; make
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/swordman20130610/swordman20130610.blend dist/Models/swordman20130610.scene ; echo

assets/dist/Models/sahagin.mesh.j3o: $(DEVDATA)/sahagin20130614/sahagin20130614.blend $(DEVDATA)/sahagin20130614/sahagin.png
	make assets_dir0
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/sahagin20130614/sahagin20130614.blend dist/Models/sahagin.mesh.xml ; echo
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/sahagin.mesh.xml dist/Models/sahagin.mesh.j3o
	mv tmp/assets/dist/Models/sahagin.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/sahagin.png assets/dist/Models

assets/dist/Models/Minotauros.mesh.j3o: $(DEVDATA)/minotauros20130619/minotauros20130619.blend
	make tmp/assets/dist/Models/minotauros20130619.scene
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/Minotauros.mesh.xml dist/Models/Minotauros.mesh.j3o
	mv tmp/assets/dist/Models/Minotauros.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/Minotauros.png assets/dist/Models

assets/dist/Models/MinotaurosNoseRing.mesh.j3o: $(DEVDATA)/minotauros20130619/minotauros20130619.blend
	make tmp/assets/dist/Models/minotauros20130619.scene
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/MinotaurosNoseRing.mesh.xml dist/Models/MinotaurosNoseRing.mesh.j3o
	mv tmp/assets/dist/Models/MinotaurosNoseRing.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/MinotaurosNoseRing.png assets/dist/Models

assets/dist/Models/MinotaurosBell.mesh.j3o: $(DEVDATA)/minotauros20130619/minotauros20130619.blend
	make tmp/assets/dist/Models/minotauros20130619.scene
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/MinotaurosBell.mesh.xml dist/Models/MinotaurosBell.mesh.j3o
	mv tmp/assets/dist/Models/MinotaurosBell.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/MinotaurosBell.png assets/dist/Models

assets/dist/Models/MinotaurosSkull.mesh.j3o: $(DEVDATA)/minotauros20130619/minotauros20130619.blend
	make tmp/assets/dist/Models/minotauros20130619.scene
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/MinotaurosSkull.mesh.xml dist/Models/MinotaurosSkull.mesh.j3o
	mv tmp/assets/dist/Models/MinotaurosSkull.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/MinotaurosSkull.png assets/dist/Models

assets/dist/Models/MinotaurosClub.mesh.j3o: $(DEVDATA)/minotauros20130619/minotauros20130619.blend
	make tmp/assets/dist/Models/minotauros20130619.scene
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/MinotaurosClub.mesh.xml dist/Models/MinotaurosClub.mesh.j3o
	mv tmp/assets/dist/Models/MinotaurosClub.mesh.j3o assets/dist/Models
	mv tmp/assets/dist/Models/MinotaurosClub.png assets/dist/Models

tmp/assets/dist/Models/minotauros20130619.scene: $(DEVDATA)/minotauros20130619/minotauros20130619.blend
	make assets_dir0
	cd $(DEVDATA)/minotauros20130619; make
	cd tmp/assets; sh $(DEVUTIL)/blend2ogre.sh $(DEVDATA)/minotauros20130619/minotauros20130619.blend dist/Models/minotauros20130619.scene ; echo

assets/dist/Models/orc20130628/Orc.mesh.j3o: $(DEVDATA)/orc20130628/orc20130628.blend
	make assets_dir0
	cd $(DEVDATA)/orc20130628; make ogre
	rm -rf tmp/assets/dist/Models/orc20130628; echo
	cp -r $(DEVDATA)/orc20130628/dist/ogre tmp/assets/dist/Models/orc20130628
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/orc20130628/Orc.mesh.xml dist/Models/orc20130628/Orc.mesh.j3o
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/orc20130628/OrcAxe.mesh.xml dist/Models/orc20130628/OrcAxe.mesh.j3o
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/orc20130628/OrcArmor.mesh.xml dist/Models/orc20130628/OrcArmor.mesh.j3o
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/orc20130628/OrcHelm.mesh.xml dist/Models/orc20130628/OrcHelm.mesh.j3o
	mkdir assets/dist/Models/orc20130628; echo
	mv tmp/assets/dist/Models/orc20130628/*.j3o assets/dist/Models/orc20130628
	mv tmp/assets/dist/Models/orc20130628/*.png assets/dist/Models/orc20130628

assets/dist/Models/kobold20130702/Kobold.mesh.j3o: $(DEVDATA)/kobold20130702/kobold20130702.blend
	make assets_dir0
	cd $(DEVDATA)/kobold20130702; make ogre
	rm -rf tmp/assets/dist/Models/kobold20130702; echo
	cp -r $(DEVDATA)/kobold20130702/dist/ogre tmp/assets/dist/Models/kobold20130702
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/kobold20130702/Kobold.mesh.xml dist/Models/kobold20130702/Kobold.mesh.j3o
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/kobold20130702/KoboldSpear.mesh.xml dist/Models/kobold20130702/KoboldSpear.mesh.j3o
	cd tmp/assets; sh $(DEVUTIL)/mesh2j3o.sh dist/Models/kobold20130702/KoboldArmor.mesh.xml dist/Models/kobold20130702/KoboldArmor.mesh.j3o
	mkdir assets/dist/Models/kobold20130702; echo
	mv tmp/assets/dist/Models/kobold20130702/*.j3o assets/dist/Models/kobold20130702
	mv tmp/assets/dist/Models/kobold20130702/*.png assets/dist/Models/kobold20130702
