mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2026-01-07 09:59:45 +00:00
add stuff
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@696 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
44
Makefile.pl
44
Makefile.pl
@@ -11,7 +11,8 @@ foreach my $l (@ARGV) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
our $cc = defined($ENV{CC}) ? $ENV{CC} : "gcc";
|
our $cc = defined($ENV{CC}) ? $ENV{CC} : "*host*gcc";
|
||||||
|
our $ar = defined($ENV{AR}) ? $ENV{AR} : "*host*ar";
|
||||||
our $incdir = "-I include";
|
our $incdir = "-I include";
|
||||||
our $cflags = "-fPIC -D_MILSKO";
|
our $cflags = "-fPIC -D_MILSKO";
|
||||||
our $libdir = "";
|
our $libdir = "";
|
||||||
@@ -30,6 +31,7 @@ our @examples_targets = ();
|
|||||||
our %examples_libs = ();
|
our %examples_libs = ();
|
||||||
|
|
||||||
our $cross = 0;
|
our $cross = 0;
|
||||||
|
our $host = "";
|
||||||
|
|
||||||
require("./pl/utils.pl");
|
require("./pl/utils.pl");
|
||||||
|
|
||||||
@@ -41,6 +43,8 @@ param_set("xrender", 1);
|
|||||||
param_set("opengl", 0);
|
param_set("opengl", 0);
|
||||||
param_set("vulkan", 0);
|
param_set("vulkan", 0);
|
||||||
param_set("vulkan-string-helper", 1);
|
param_set("vulkan-string-helper", 1);
|
||||||
|
param_set("shared", 1);
|
||||||
|
param_set("static", 1);
|
||||||
|
|
||||||
my %features = (
|
my %features = (
|
||||||
"classic-theme" => "use classic theme",
|
"classic-theme" => "use classic theme",
|
||||||
@@ -50,13 +54,16 @@ my %features = (
|
|||||||
"xrender" => "use XRender",
|
"xrender" => "use XRender",
|
||||||
"opengl" => "build OpenGL widget",
|
"opengl" => "build OpenGL widget",
|
||||||
"vulkan" => "build Vulkan widget",
|
"vulkan" => "build Vulkan widget",
|
||||||
"vulkan-string-helper" => "use Vulkan string helper"
|
"vulkan-string-helper" => "use Vulkan string helper",
|
||||||
|
"shared" => "build shared library",
|
||||||
|
"static" => "build static library"
|
||||||
);
|
);
|
||||||
my @features_keys = (
|
my @features_keys = (
|
||||||
"1classic-theme", "1stb-image",
|
"1classic-theme", "1stb-image",
|
||||||
"1stb-truetype", "1freetype2",
|
"1stb-truetype", "1freetype2",
|
||||||
"1opengl", "2xrender",
|
"1opengl", "2xrender",
|
||||||
"1vulkan", "2vulkan-string-helper"
|
"1vulkan", "2vulkan-string-helper",
|
||||||
|
"1shared", "1static"
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach my $l (@ARGV) {
|
foreach my $l (@ARGV) {
|
||||||
@@ -69,6 +76,9 @@ foreach my $l (@ARGV) {
|
|||||||
elsif ($l =~ /^--target=(.+)$/) {
|
elsif ($l =~ /^--target=(.+)$/) {
|
||||||
$target = $1;
|
$target = $1;
|
||||||
}
|
}
|
||||||
|
elsif ($l =~ /^--host=(.+)$/) {
|
||||||
|
$host = $1 . "-";
|
||||||
|
}
|
||||||
elsif ($l eq "--cross") {
|
elsif ($l eq "--cross") {
|
||||||
$cross = 1;
|
$cross = 1;
|
||||||
}
|
}
|
||||||
@@ -79,6 +89,7 @@ foreach my $l (@ARGV) {
|
|||||||
print("\n");
|
print("\n");
|
||||||
print("Options:\n");
|
print("Options:\n");
|
||||||
print(" -h --help Display this help\n");
|
print(" -h --help Display this help\n");
|
||||||
|
print(" --host=TARGET Host for compiler/archiver\n");
|
||||||
print(" --target=TARGET Specify target\n");
|
print(" --target=TARGET Specify target\n");
|
||||||
print(" --cross Indicate cross compilation\n");
|
print(" --cross Indicate cross compilation\n");
|
||||||
print("\n");
|
print("\n");
|
||||||
@@ -96,7 +107,7 @@ foreach my $l (@ARGV) {
|
|||||||
) . substr($l, 1);
|
) . substr($l, 1);
|
||||||
my $do = param_get(substr($l, 1)) ? "Do not " : "";
|
my $do = param_get(substr($l, 1)) ? "Do not " : "";
|
||||||
my $feat = $features{ substr($l, 1) };
|
my $feat = $features{ substr($l, 1) };
|
||||||
if (not(param_get($l))) {
|
if (not(param_get(substr($l, 1)))) {
|
||||||
$feat = uc(substr($feat, 0, 1)) . substr($feat, 1);
|
$feat = uc(substr($feat, 0, 1)) . substr($feat, 1);
|
||||||
}
|
}
|
||||||
print(" $flag" . (" " x (32 - length($flag))) . "${do}${feat}\n");
|
print(" $flag" . (" " x (32 - length($flag))) . "${do}${feat}\n");
|
||||||
@@ -136,7 +147,11 @@ foreach my $e (param_list()) {
|
|||||||
}
|
}
|
||||||
print("Enabled: " . join(" ", @l) . "\n");
|
print("Enabled: " . join(" ", @l) . "\n");
|
||||||
|
|
||||||
|
$cc =~ s/\*host\*/$host/;
|
||||||
|
$ar =~ s/\*host\*/$host/;
|
||||||
|
|
||||||
open(OUT, ">", "Makefile");
|
open(OUT, ">", "Makefile");
|
||||||
|
print(OUT "AR = ${ar}\n");
|
||||||
print(OUT "CC = ${cc}\n");
|
print(OUT "CC = ${cc}\n");
|
||||||
print(OUT "INCDIR = ${incdir}\n");
|
print(OUT "INCDIR = ${incdir}\n");
|
||||||
print(OUT "CFLAGS = ${cflags}\n");
|
print(OUT "CFLAGS = ${cflags}\n");
|
||||||
@@ -158,15 +173,30 @@ print(OUT
|
|||||||
" perltidy -b -bext=\"/\" --paren-tightness=2 `find tools pl Makefile.pl -name \"*.pl\"`\n"
|
" perltidy -b -bext=\"/\" --paren-tightness=2 `find tools pl Makefile.pl -name \"*.pl\"`\n"
|
||||||
);
|
);
|
||||||
print(OUT "\n");
|
print(OUT "\n");
|
||||||
print(OUT "lib: src/${library_prefix}Mw${library_suffix}\n");
|
print(OUT "lib:");
|
||||||
|
|
||||||
|
if (param_get("shared")) {
|
||||||
|
print(OUT " src/${library_prefix}Mw${library_suffix}");
|
||||||
|
}
|
||||||
|
if (param_get("static")) {
|
||||||
|
print(OUT " src/libMw.a");
|
||||||
|
}
|
||||||
print(OUT "\n");
|
print(OUT "\n");
|
||||||
print( OUT "src/${library_prefix}Mw${library_suffix}: "
|
print(OUT "\n");
|
||||||
|
if (param_get("shared")) {
|
||||||
|
print( OUT "src/${library_prefix}Mw${library_suffix}: "
|
||||||
. join(" ", @library_targets)
|
. join(" ", @library_targets)
|
||||||
. "\n");
|
. "\n");
|
||||||
print(OUT
|
print(OUT
|
||||||
" \$(CC) \$(SHARED) \$(LDFLAGS\) \$(LIBDIR) -o src/${library_prefix}Mw${library_suffix} "
|
" \$(CC) \$(SHARED) \$(LDFLAGS\) \$(LIBDIR) -o src/${library_prefix}Mw${library_suffix} "
|
||||||
. join(" ", @library_targets)
|
. join(" ", @library_targets)
|
||||||
. " \$(LIBS)\n");
|
. " \$(LIBS)\n");
|
||||||
|
print(OUT "\n");
|
||||||
|
}
|
||||||
|
if (param_get("static")) {
|
||||||
|
print(OUT "src/libMw.a: " . join(" ", @library_targets) . "\n");
|
||||||
|
print(OUT " \$(AR) rcs src/libMw.a " . join(" ", @library_targets) . "\n");
|
||||||
|
}
|
||||||
|
|
||||||
foreach my $l (@library_targets) {
|
foreach my $l (@library_targets) {
|
||||||
my $warn = "-Wall -Wextra -Wno-sign-compare";
|
my $warn = "-Wall -Wextra -Wno-sign-compare";
|
||||||
|
|||||||
Reference in New Issue
Block a user