@echo off set flags= set setup= :DOFLAGS if %1 == -D goto FOUNDFLAG if %1 == -U goto FOUNDFLAG if %1 == -C goto FOUNDFLAG if %1 == -S goto FOUNDSETUP goto DONEFLAGS :FOUNDFLAG set flags=%flags% %1%2 shift shift goto DOFLAGS :FOUNDSETUP set setup=%2 shift shift goto DOFLAGS :DONEFLAGS set root=%1 set main=%2 set heap=%3 set smlfile=XYZ_XXX_smlfile.sml set cmfile=XYZ_XXX_cmfile.cm set listfile=XYZ_XXX_BOOTLIST set linkargsfile=XYZ_XXX_LINKARGS set rare=XYZ_XXX_0123 echo structure %rare% = struct val _ = SMLofNJ.exportFn ("%heap%", %main%) end >"%smlfile%" echo Group structure %rare% is $/basis.cm "%root%" %smlfile% >%cmfile% %COMSPEC% /C "%SMLNJ_HOME%\bin\sml.bat %flags% %setup% @CMbuild %root% %cmfile% %heap% %listfile% %linkargsfile%" if ERRORLEVEL 1 goto ERR if NOT EXIST %linkargsfile% goto END "%SMLNJ_HOME%\bin\.run\run.x86-win32.exe" @SMLboot=%listfile% del %linkargsfile% goto END :ERR echo Compilation failed with error. :END rem more cleaning up del %smlfile% del %cmfile% del %listfile% del .cm\GUID\%smlfile% del .cm\SKEL\%smlfile% del .cm\x86-win32\%smlfile%