105 lines
3.3 KiB
Java
105 lines
3.3 KiB
Java
import com.badlogic.gdx.jnigen.AntScriptGenerator;
|
|
import com.badlogic.gdx.jnigen.BuildConfig;
|
|
import com.badlogic.gdx.jnigen.BuildTarget;
|
|
import com.badlogic.gdx.jnigen.BuildTarget.TargetOs;
|
|
|
|
public class JniBuilder {
|
|
public static void main(String[] args) {
|
|
String[] headers = { "." };
|
|
String[] sources = {
|
|
// Matrix stuff
|
|
"gl/utils.c",
|
|
|
|
// libtessellate
|
|
"tessellate/dict.c",
|
|
"tessellate/mesh.c",
|
|
"tessellate/render.c",
|
|
"tessellate/tess.c",
|
|
"tessellate/geom.c",
|
|
"tessellate/memalloc.c",
|
|
"tessellate/normal.c",
|
|
"tessellate/priorityq.c",
|
|
"tessellate/sweep.c",
|
|
"tessellate/tessmono.c",
|
|
"tessellate/tessellate.c",
|
|
"tessellate/TessellateJni.c"
|
|
};
|
|
|
|
String cflags = " -Wall -std=c99 -O2 -ffast-math";
|
|
|
|
//BuildTarget win32home = BuildTarget
|
|
// .newDefaultTarget(TargetOs.Windows, false);
|
|
//win32home.compilerPrefix = "";
|
|
//win32home.buildFileName = "build-windows32home.xml";
|
|
//win32home.excludeFromMasterBuildFile = true;
|
|
//win32home.headerDirs = headers;
|
|
//win32home.cIncludes = sources;
|
|
//win32home.cFlags += cflags;
|
|
//win32home.cppFlags += cflags;
|
|
|
|
BuildTarget win32 = BuildTarget
|
|
.newDefaultTarget(TargetOs.Windows, false);
|
|
win32.headerDirs = headers;
|
|
win32.cIncludes = sources;
|
|
win32.cFlags += cflags;
|
|
win32.cppFlags += cflags;
|
|
|
|
BuildTarget win64 = BuildTarget
|
|
.newDefaultTarget(TargetOs.Windows, true);
|
|
win64.headerDirs = headers;
|
|
win64.cIncludes = sources;
|
|
win64.cFlags += cflags;
|
|
win64.cppFlags += cflags;
|
|
|
|
BuildTarget lin32 = BuildTarget
|
|
.newDefaultTarget(TargetOs.Linux, false);
|
|
lin32.headerDirs = headers;
|
|
lin32.cIncludes = sources;
|
|
lin32.cFlags += cflags;
|
|
lin32.cppFlags += cflags;
|
|
|
|
BuildTarget lin64 = BuildTarget
|
|
.newDefaultTarget(TargetOs.Linux, true);
|
|
lin64.headerDirs = headers;
|
|
lin64.cIncludes = sources;
|
|
lin64.cFlags += cflags;
|
|
lin64.cppFlags += cflags;
|
|
|
|
BuildTarget mac = BuildTarget
|
|
.newDefaultTarget(TargetOs.MacOsX, false);
|
|
mac.headerDirs = headers;
|
|
mac.cIncludes = sources;
|
|
mac.cFlags += cflags;
|
|
mac.cppFlags += cflags;
|
|
mac.linkerFlags += " -framework CoreServices -framework Carbon";
|
|
|
|
BuildTarget android = BuildTarget
|
|
.newDefaultTarget(TargetOs.Android, false);
|
|
android.headerDirs = headers;
|
|
android.cIncludes = sources;
|
|
android.cFlags += cflags;
|
|
android.cppFlags += cflags;
|
|
android.linkerFlags += " -llog";
|
|
|
|
// BuildTarget ios = BuildTarget.newDefaultTarget(TargetOs.IOS, false);
|
|
// ios.headerDirs = headers;
|
|
// ios.cIncludes = sources;
|
|
// ios.cFlags += cflags;
|
|
// ios.cppFlags += cflags;
|
|
|
|
//new NativeCodeGenerator().generate();
|
|
new AntScriptGenerator().generate(new BuildConfig("vtm-jni"),
|
|
// mac,
|
|
// win32home,
|
|
// win32,
|
|
// win64,
|
|
// lin32,
|
|
lin64,
|
|
android);
|
|
|
|
// BuildExecutor.executeAnt("jni/build-windows32home.xml", "-v clean");
|
|
// BuildExecutor.executeAnt("jni/build-windows32home.xml", "-v");
|
|
// BuildExecutor.executeAnt("jni/build.xml", "pack-natives -v");
|
|
}
|
|
}
|