rem Should be called by make_exes.btm

remtrace Compiling Eiffel Software tools

remtrace Create tools directory for your platform.
safe_md %STUDIO_DIR\tools
safe_md %STUDIO_DIR\tools\spec
safe_md %STUDIO_DIR\tools\spec\%ISE_PLATFORM
safe_md %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin

remtrace Recompile iron
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\iron.exe then
	remtrace iron tool is already built
else
	cdd %EIFFEL_SRC\tools\iron\client
	clean_project
	finalize client.ecf es_iron
	cleanup_eiffel es_iron iron.exe
	iff exist iron.exe then
		move iron.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
		safe_copy %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\libcurl.dll %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\
		safe_copy %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\libeay32.dll %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\
		safe_copy %STUDIO_DIR\studio\spec\%ISE_PLATFORM\bin\ssleay32.dll %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\
	else
		remerror Could not finalize a new iron
		CANCEL_ON_ERROR
	endiff
endiff

remtrace Recompile syntax_updater
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\syntax_updater.exe then
	remtrace syntax_updater tool is already built
else
	cdd %EIFFEL_SRC\tools\syntax_updater
	clean_project
	finalize syntax_updater.ecf
	cleanup_eiffel syntax_updater syntax_updater.exe
	iff exist syntax_updater.exe then
		move syntax_updater.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
	else
		remerror Could not finalize a new syntax_updater
		CANCEL_ON_ERROR
	endiff
endiff

remtrace Recompile espawn
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\espawn.exe then
	remtrace espawn tool is already built
else
	cdd %EIFFEL_SRC\tools\espawn
	clean_project
	finalize espawn.ecf
	cleanup_eiffel espawn espawn.exe
	iff exist espawn.exe then
		move espawn.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
	else
		remerror Could not finalize a new espawn
		CANCEL_ON_ERROR
	endiff
endiff

remtrace Recompile compile_all
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\compile_all.exe then
	remtrace compile_all tool is already built
else
	cdd %EIFFEL_SRC\tools\compile_all
	clean_project
	finalize compile_all.ecf
	cleanup_eiffel compile_all compile_all.exe
	iff exist compile_all.exe then
		move compile_all.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
	else
		remerror Could not finalize a new compile_all
		CANCEL_ON_ERROR
	endiff
endiff

remtrace Recompile eiffel tool
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\eiffel.exe then
	remtrace eiffel tool is already built
else
	cdd %EIFFEL_SRC\tools\eiffel_script
	clean_project
	finalize eiffel_script.ecf
	cleanup_eiffel eiffel_script eiffel.exe
	iff exist eiffel.exe then
		move eiffel.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
	else
		remerror Could not finalize a new eiffel tool
		CANCEL_ON_ERROR
	endiff
endiff

remtrace Recompile eiffel_image_embedder
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\eiffel_image_embedder.exe then
	remtrace eiffel_image_embedder tool is already built
else
	cdd %EIFFEL_SRC\tools\eiffel_image_embedder
	clean_project
	finalize eimgemb.ecf
	cleanup_eiffel eiffel_image_embedder eimgemb.exe
	iff exist eimgemb.exe then
		move eimgemb.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
	else
		remerror Could not finalize a new eiffel_image_embedder
		CANCEL_ON_ERROR
	endiff
endiff

remtrace Recompile eiffel_echo
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\eiffel_echo.exe then
	remtrace eiffel_echo tool is already built
else
	cdd %EIFFEL_SRC\tools\eiffel_echo
	clean_project
	finalize eiffel_echo.ecf
	cleanup_eiffel eiffel_echo eiffel_echo.exe
	iff exist eiffel_echo.exe then
		move eiffel_echo.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
	else
		remerror Could not finalize a new eiffel_echo
		CANCEL_ON_ERROR
	endiff
endiff

remtrace Recompile po_generation_tool
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\po_generation_tool.exe then
	remtrace po_generation_tool tool is already built
else
	cdd %EIFFEL_SRC\tools\po_generation_tool
	clean_project
	finalize po_generation_tool.ecf
	cleanup_eiffel po_generation_tool po_generation_tool.exe
	iff exist po_generation_tool.exe then
		move po_generation_tool.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
	else
		remerror Could not finalize a new po_generation_tool
		CANCEL_ON_ERROR
	endiff
endiff

remtrace Recompile eiffel_ribbon
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\eiffel_ribbon.exe then
	remtrace eiffel_ribbon tool is already built
else
	safe_md %STUDIO_DIR\tools\ribbon
	cdd %STUDIO_DIR\tools\ribbon
	exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/eiffel_ribbon/template template
	exprt -r %PUBLIC_SVN_REVISION %DEFAULT_PUBLIC_SVN/Src/tools/eiffel_ribbon/images images
	cdd %EIFFEL_SRC\tools\eiffel_ribbon
	clean_project
	finalize eiffel_ribbon.ecf
	cleanup_eiffel eiffel_ribbon eiffel_ribbon.exe
	iff exist eiffel_ribbon.exe then
		move eiffel_ribbon.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
	else
		remerror Could not finalize a new eiffel_ribbon
		CANCEL_ON_ERROR
	endiff
endiff

remtrace Recompile ace2ecf
iff exist %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin\ace2ecf.exe then
	remtrace ace2ecf tool is already built
else
	cdd %EIFFEL_SRC\tools\ace2ecf
	clean_project
	finalize ace2ecf.ecf
	cleanup_eiffel ace2ecf ace2ecf.exe
	iff exist ace2ecf.exe then
		move ace2ecf.exe %STUDIO_DIR\tools\spec\%ISE_PLATFORM\bin
	else
		remerror Could not finalize a new ace2ecf
		CANCEL_ON_ERROR
	endiff
endiff

