OPT=
RM=rm
CP=cp

Cadencii.exe: vstildr.dll bocoree.dll Boare.Lib.Media.dll Boare.Lib.Vsq.dll Boare.Lib.AppUtil.dll Properties/Resources.resources Properties/Resources.Designer.cs FormMain.resources
	gmcs $(OPT) -unsafe+ -recurse:*.cs -target:exe -out:Cadencii.exe -warn:0 -define:MONO -codepage:utf8 \
	     -resource:Properties/Resources.resources,Boare.Cadencii.Properties.Resources.resources \
	     -resource:FormMain.resources,Boare.Cadencii.FormMain.resources \
	     -r:System.Windows.Forms,System.Drawing \
	     -r:Boare.Lib.Media.dll,Boare.Lib.Vsq.dll,Boare.Lib.AppUtil.dll,bocoree.dll,vstildr.dll \
	     Properties/Resources.Designer.cs

vstildr.dll: ../vstildr/vstildr.dll
	$(CP) ../vstildr/vstildr.dll vstildr.dll

../vstildr/vstildr.dll:
	cd ../vstildr/ && $(MAKE) OPT=$(OPT)

bocoree.dll: ../bocoree/bocoree.dll
	$(CP) ../bocoree/bocoree.dll bocoree.dll

../bocoree/bocoree.dll:
	cd ../bocoree/ && $(MAKE) OPT=$(OPT)

FormMain.resources: FormMain.resx EditResx.pl
	perl EditResx.pl FormMain.resx
	resgen FormMain_.resx FormMain.resources

Properties/Resources.resources: Properties/Resources.resx EditResx.pl
	perl EditResx.pl Properties/Resources.resx
	cd Properties && resgen Resources_.resx Resources.resources

Boare.Lib.Media.dll: ../Boare.Lib.Media/Boare.Lib.Media.dll
	$(CP) ../Boare.Lib.Media/Boare.Lib.Media.dll Boare.Lib.Media.dll

../Boare.Lib.Media/Boare.Lib.Media.dll:
	cd ../Boare.Lib.Media/ && $(MAKE) OPT=$(OPT)

Boare.Lib.Vsq.dll: ../Boare.Lib.Vsq/Boare.Lib.Vsq.dll
	$(CP) ../Boare.Lib.Vsq/Boare.Lib.Vsq.dll Boare.Lib.Vsq.dll

../Boare.Lib.Vsq/Boare.Lib.Vsq.dll:
	cd ../Boare.Lib.Vsq/ && $(MAKE) OPT=$(OPT)

Boare.Lib.AppUtil.dll: ../Boare.Lib.AppUtil/Boare.Lib.AppUtil.dll
	$(CP) ../Boare.Lib.AppUtil/Boare.Lib.AppUtil.dll Boare.Lib.AppUtil.dll

../Boare.Lib.AppUtil/Boare.Lib.AppUtil.dll:
	cd ../Boare.Lib.AppUtil/ && $(MAKE) OPT=$(OPT)

clean:
	cd ../Boare.Lib.AppUtil/ && $(MAKE) RM=$(RM) clean
	cd ../Boare.Lib.Vsq/ && $(MAKE) RM=$(RM) clean
	cd ../Boare.Lib.Media/ && $(MAKE) RM=$(RM) clean
	cd ../bocoree/ && $(MAKE) RM=$(RM) clean
	cd ../vstildr/ && $(MAKE) RM=$(RM) clean
	$(RM) Cadencii.exe Boare.Lib.Media.dll Boare.Lib.Vsq.dll Boare.Lib.AppUtil.dll bocoree.dll vstildr.dll Properties/Resources.resources
