-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathmingw64-build.bat
More file actions
53 lines (41 loc) · 1.32 KB
/
mingw64-build.bat
File metadata and controls
53 lines (41 loc) · 1.32 KB
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
@echo off
@echo Requirment : Jdk1.8 mingw32 cmake
set JAR=%JAVA_HOME%\bin\jar
set JAVAC=%JAVA_HOME%\bin\javac
set JAVA=%JAVA_HOME%\bin\java
set TARGETDIR=.
set LIBDIR=x86_64-w64-mingw32
set GCCHOME=D:\mingw-w64\x86_64-8.1.0-posix-sjlj-rt_v6-rev0
set GCCLIBDIR=%GCCHOME%\%LIBDIR%\lib
set path=%path%;%GCCHOME%\bin
setlocal enabledelayedexpansion
mkdir tools
@echo * build convert tools
call :build_jar class2c.jar .\class2c\src\main\java .\tools\
@echo * compile java source
%JAVA% -cp ./tools/class2c.jar com.ebsee.Main ./app/java/ ./app/out/classes/ ./app/out/c/
echo [INFO]build app.exe
call :jvm_compile app.exe app %TARGETDIR%
@echo * execute
.\app.exe test.Foo3
pause
goto :eof
rem ==============================================================
:jvm_compile
set SRCFILES=
@for /f "delims=" %%i in ('@dir /S /B %2\*.c ^| @find /V "cmake-"') do (@set SRCFILES=!SRCFILES! %%i)
rem echo SOURCE FILES: %SRCFILES%
%GCCHOME%\bin\gcc -O3 -o %1 -I%2\vm -I%2\out\c -L%GCCLIBDIR% %SRCFILES% -lpthread -lm
goto :eof
:build_jar
del /Q/S/F %3\%1
md classes
dir /S /B %2\*.java > source.txt
%JAVAC% -encoding "utf-8" -d classes @source.txt
xcopy /E %2\resource\* classes\
%JAR% cf %1 -C classes .\
del /Q/S source.txt
rd /Q/S classes\
copy /Y %1 %3\
del /Q %1
goto :eof