2 setlocal ENABLEDELAYEDEXPANSION
4 :: ---------------------------------------------------------------------------
6 :: ---------------------------------------------------------------------------
8 set "_LAMEXP_PATHS_INITIALIZED_="
10 call "%~dp0\_paths.bat"
11 call "%~dp0\_date.bat"
13 if "%LAMEXP_CONFIG%"=="" (
14 set "LAMEXP_CONFIG=Release"
17 if "%LAMEXP_PLATFORM%"=="" (
18 set "LAMEXP_PLATFORM=Win32"
21 if not "%LAMEXP_REDIST%"=="0" (
25 :: ---------------------------------------------------------------------------
27 :: ---------------------------------------------------------------------------
29 set "BIN_PATH=%~dp0\..\..\bin\%LAMEXP_PLATFORM%\%LAMEXP_CONFIG%"
30 set "TMP_PATH=%TEMP%\~LameXP.%LAMEXP_CONFIG%.%ISO_DATE%.%RANDOM%.tmp"
32 if "%LAMEXP_SKIP_BUILD%"=="YES" (
33 goto SkipBuildThisTime
36 :: ---------------------------------------------------------------------------
38 :: ---------------------------------------------------------------------------
41 echo ----------------------------------------------------------------
43 echo ----------------------------------------------------------------
46 for %%i in (bin,obj,tmp,ipch) do (
47 del /Q /S /F "%~dp0\..\..\%%i\*.*"
50 :: ---------------------------------------------------------------------------
51 :: UPDATE LANGUAGE FILES AND DCOS
52 :: ---------------------------------------------------------------------------
54 call "%~dp0\_mkdocs.bat"
55 call "%~dp0\_lupdate.bat"
57 :: ---------------------------------------------------------------------------
59 :: ---------------------------------------------------------------------------
61 call "%~dp0\_build.bat" "%~dp0\..\..\%PATH_VCPROJ%" "%LAMEXP_PLATFORM%" "%LAMEXP_CONFIG%"
65 :: ---------------------------------------------------------------------------
67 :: ---------------------------------------------------------------------------
69 call "%~dp0\_version.bat"
71 :: ---------------------------------------------------------------------------
72 :: GENERATE OUTPUT FILE NAME
73 :: ---------------------------------------------------------------------------
75 mkdir "%~dp0\..\..\out" 2> NUL
76 set "OUT_FILE=%~dp0\..\..\out\%VER_LAMEXP_BASENAME%.%ISO_DATE%.%LAMEXP_CONFIG:_=-%.Build-%VER_LAMEXP_BUILD%"
77 for /L %%n in (1, 1, 99) do (
78 if exist "!OUT_FILE!.exe" set "OUT_FILE=%~dp0\..\..\out\%VER_LAMEXP_BASENAME%.%ISO_DATE%.%LAMEXP_CONFIG:_=-%.Build-%VER_LAMEXP_BUILD%.Update-%%n"
79 if exist "!OUT_FILE!.zip" set "OUT_FILE=%~dp0\..\..\out\%VER_LAMEXP_BASENAME%.%ISO_DATE%.%LAMEXP_CONFIG:_=-%.Build-%VER_LAMEXP_BUILD%.Update-%%n"
82 :: ---------------------------------------------------------------------------
83 :: DELETE OLD OUTPUT FILE
84 :: ---------------------------------------------------------------------------
86 for %%i in (exe,sfx,zip,txt) do (
87 del "%OUT_FILE%.%%i" 2> NUL
88 if exist "%OUT_FILE%.%%i" (
89 echo. && echo Failed to delete existing output file^^!
90 echo. && pause && exit
94 :: ---------------------------------------------------------------------------
95 :: COPY BINARY FILES AND REDIST
96 :: ---------------------------------------------------------------------------
101 for %%i in (exe,dll) do (
102 copy "%BIN_PATH%\*.%%i" "%TMP_PATH%"
105 if "%LAMEXP_REDIST%"=="1" (
106 mkdir "%TMP_PATH%\imageformats"
107 for %%i in (Core,Gui,Network,Xml,Svg) do (
108 copy "%QTDIR%\bin\Qt%%i4.dll" "%TMP_PATH%"
110 copy "%QTDIR%\plugins\imageformats\q???4.dll" "%TMP_PATH%\imageformats"
111 for %%i in (100,110,120) do (
112 if exist "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\*.dll" (
113 copy "%PATH_MSCDIR%\VC\redist\x86\Microsoft.VC%%i.CRT\*.dll" "%TMP_PATH%"
118 for %%e in (exe,dll) do (
119 for %%f in (%TMP_PATH%\*.%%e) do (
120 "%PATH_UPXBIN%\upx.exe" --best "%%f"
124 if exist "%~dp0\_postproc.bat" (
125 call "%~dp0\_postproc.bat" "%TMP_PATH%"
128 copy "%~dp0\..\..\ReadMe.txt" "%TMP_PATH%"
129 copy "%~dp0\..\..\License.txt" "%TMP_PATH%"
130 copy "%~dp0\..\..\Copying.txt" "%TMP_PATH%"
131 copy "%~dp0\..\..\doc\Changelog.html" "%TMP_PATH%"
132 copy "%~dp0\..\..\doc\Translate.html" "%TMP_PATH%"
133 copy "%~dp0\..\..\doc\Manual.html" "%TMP_PATH%"
134 copy "%~dp0\..\..\doc\FAQ.html" "%TMP_PATH%"
136 if not "%VER_LAMEXP_TYPE%" == "Final" (
137 if not "%VER_LAMEXP_TYPE%" == "Hotfix" (
138 copy "%~dp0\..\..\doc\PRE_RELEASE_INFO.txt" "%TMP_PATH%"
142 attrib +R "%TMP_PATH%\*.txt"
143 attrib +R "%TMP_PATH%\*.html"
144 attrib +R "%TMP_PATH%\*.exe"
146 :: ---------------------------------------------------------------------------
148 :: ---------------------------------------------------------------------------
150 "%~dp0\..\Utilities\Echo.exe" LameXP - Audio Encoder Front-End > "%OUT_FILE%.txt"
151 "%~dp0\..\Utilities\Echo.exe" v%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO% %VER_LAMEXP_TYPE%-%VER_LAMEXP_PATCH% (Build #%VER_LAMEXP_BUILD%)\n >> "%OUT_FILE%.txt"
152 "%~dp0\..\Utilities\Echo.exe" Built on %ISO_DATE% at %TIME%\n\n >> "%OUT_FILE%.txt"
153 "%~dp0\..\Utilities\Echo.exe" ---------------------------\nREADME.TXT\n--------------------------- >> "%OUT_FILE%.txt"
154 "%~dp0\..\Utilities\Cat.exe" "%~dp0\..\..\ReadMe.txt" >> "%OUT_FILE%.txt"
155 "%~dp0\..\Utilities\Echo.exe" \n\n---------------------------\nLICENSE.TXT\n---------------------------\n >> "%OUT_FILE%.txt"
156 "%~dp0\..\Utilities\Cat.exe" "%~dp0\..\..\License.txt" >> "%OUT_FILE%.txt"
159 "%~dp0\..\Utilities\Zip.exe" -r -9 -z "%OUT_FILE%.zip" "*.*" < "%OUT_FILE%.txt"
162 "%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.sfx" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "%~dp0\..\NSIS\setup.nsi"
163 "%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_SOURCE_FILE=%OUT_FILE%.sfx" "%~dp0\..\NSIS\wrapper.nsi"
165 attrib -R "%TMP_PATH%\*.txt"
166 attrib -R "%TMP_PATH%\*.html"
167 attrib -R "%TMP_PATH%\*.exe"
168 rd /S /Q "%TMP_PATH%"
170 for %%i in (zip,exe) do (
171 if not exist "%OUT_FILE%.zip" (
172 echo. && echo Failed to create release packages^^!
173 echo. && pause && exit
177 attrib +R "%OUT_FILE%.zip"
178 attrib +R "%OUT_FILE%.sfx"
179 attrib +R "%OUT_FILE%.exe"
181 :: ---------------------------------------------------------------------------
183 :: ---------------------------------------------------------------------------
185 "%PATH_GNUPG1%\gpg.exe" --detach-sign "%OUT_FILE%.exe"
186 attrib +R "%OUT_FILE%.exe.sig"
188 :: ---------------------------------------------------------------------------
190 :: ---------------------------------------------------------------------------
193 echo BUIDL COMPLETED SUCCESSFULLY :-)