summary refs log blame commit diff stats
path: root/tools/niminst/buildbat.tmpl
blob: 2a8da144d2d670746f61cb080f3785935ac3142c (plain) (tree)
1
2
3
4
5
6
7
8
                                   
                                                                                 
                                                   

              

                                   
                                    



                                          


                      

                     
                                                   
                       
                                                                   
                                                                   
                                               
                          
            
 
                                                                         
                                                                         
 

            










                                                                                 
#? stdtmpl(subsChar='?') | standard
#proc generateBuildBatchScript(c: ConfigData, winIndex, cpuIndex: int): string = 
#  result = "@echo off\nREM Generated by niminst\n"
SET CC=gcc
SET LINKER=gcc
SET COMP_FLAGS=?{c.ccompiler.flags}
SET LINK_FLAGS=?{c.linker.flags}
SET BIN_DIR=?{firstBinPath(c).toWin}

if EXIST ..\koch.nim SET BIN_DIR=..\bin

if NOT EXIST %BIN_DIR%\nul mkdir %BIN_DIR%

REM call the compiler:

#  block win32:
#    var linkCmd = ""
#    for ff in items(c.cfiles[winIndex][cpuIndex]):
#      let f = ff.toWin
ECHO %CC% %COMP_FLAGS% -Ic_code -c ?{f} -o ?{changeFileExt(f, "o")}
CALL %CC% %COMP_FLAGS% -Ic_code -c ?{f} -o ?{changeFileExt(f, "o")}
#      linkCmd.add(" " & changeFileExt(f, "o"))
IF ERRORLEVEL 1 (GOTO:END)
#    end for

ECHO %LINKER% -o ?{"%BIN_DIR%"\toLower(c.name)}.exe ?linkCmd %LINK_FLAGS%
CALL %LINKER% -o ?{"%BIN_DIR%"\toLower(c.name)}.exe ?linkCmd %LINK_FLAGS%

#  end block

:END
IF ERRORLEVEL 1 (
    ECHO FAILURE
    ECHO.
    ECHO CSource compilation failed. Please check that the gcc compiler is in
    ECHO the PATH environment variable, and that you are calling the batch script
    ECHO that matches the target architecture of the compiler.
) ELSE (
    ECHO SUCCESS
)
exit /b %ERRORLEVEL%