-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathgo.bat
94 lines (89 loc) · 2.17 KB
/
go.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
@echo off
if /I "%1"=="HELP" (
type usage.txt
exit /B
)
REM ~~~~~~~~~~~~ PARSING ARGS
setlocal enabledelayedexpansion
set ARG_NOLOG=0
set ARG_DEBUG=0
set ARG_ALL=0
set ARG_KEEPSRC=0
for %%x in (%*) do (
set /A argCount+=1
set "argVec[!argCount!]=%%~x"
)
for /L %%i in (2,1,%argCount%) do (
if /I "!argVec[%%i]!"=="ALL" set ARG_ALL=1
if /I "!argVec[%%i]!"=="NOLOG" set ARG_NOLOG=1
if /I "!argVec[%%i]!"=="VERBOSE" set ARG_DEBUG=1
if /I "!argVec[%%i]!"=="KEEPSRC" set ARG_KEEPSRC=1
)
REM ~~~~~~~~~~~~ VERBOSE
set CUR_DEBUG=0
if %ARG_DEBUG% == 1 (
set CUR_DEBUG=1
) else (
if %DEBUG_BUILD% == 1 (
set CUR_DEBUG=1
)
)
if %CUR_DEBUG% == 1 (
echo on
echo ARG_NOLOG: %ARG_NOLOG%
echo ARG_DEBUG: %ARG_DEBUG%
echo ARG_ALL: %ARG_ALL%
)
REM ~~~~~~~~~~~~ LOGNAME
call %PATH_MODULES_COMMON%\ymdhis.bat
set PREFIXLOG=%1
if %1 == full (IF not [%2] == [] (set PREFIXLOG=%1-%2))
if %ARG_ALL% == 1 (
set LOGNAME=%PATH_LOGS%\%PREFIXLOG%_ALL_%ymdhis%.log
) else (
set LOGNAME=%PATH_LOGS%\%PREFIXLOG%_%MSVC_DEPS%-%ARCH%%AVXB%_%ymdhis%.log
)
REM ~~~~~~~~~~~~ FIND BATCH
set BCMD=
set BAFF=
if exist %PATH_MODULES%\%1.bat (
set BCMD=%PATH_MODULES%\%1.bat %*
set BAFF=BUILD MODULE
)
if exist %PATH_UTILS%\%1.bat (
set BCMD=%PATH_UTILS%\%1.bat %*
set BAFF=TOOL
set ARG_NOLOG=1
)
if "%BCMD%"=="" (
echo unknow commande '%1'
type usage.txt
exit /B -1
)
REM ~~~~~~~~~~~~ DEDUPLICATE ENV VAR
for %%D in (EXTERNAL_INCLUDE INCLUDE LIB) do (for /F "tokens=* USEBACKQ" %%F in (`call do_php %PATH_UTILS%\sub\deduplicate.php %%D`) do (set %%D=%%F))
REM ~~~~~~~~~~~~ RUN
echo %ymdhis% ####### BEGIN %BAFF% '%1' %MSVC_DEPS% %ARCH% %AVXECHO% ###########################
if %ARG_ALL% == 1 (
for %%V in (vs17 vs16) do (
for %%A in (2 1 0) do (
setlocal
call %PATH_BATCH%\%%V.bat
call %PATH_BATCH%\x64.bat
call %PATH_BATCH%\avx.bat %%A
call %BCMD% 2>&1 | tee -a %LOGNAME%
endlocal
)
)
call dos2unix -f %LOGNAME%
) else (
if %ARG_NOLOG% == 1 (
call %BCMD% 2>&1
) else (
call %BCMD% 2>&1 | tee %LOGNAME%
call dos2unix -f %LOGNAME%
)
)
call %PATH_MODULES_COMMON%\ymdhis.bat
echo %ymdhis% ####### END %BAFF% '%1' %MSVC_DEPS% %ARCH% %AVXECHO% ###########################
cd /D %PATH_BATCH%