git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@643 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-11-08 22:48:42 +00:00
parent 2f6a0d1ada
commit a9fa9cb83c
5 changed files with 85 additions and 77 deletions

View File

@@ -119,13 +119,16 @@ print("Target : " . $target . "\n");
my @l = (); my @l = ();
foreach my $e (param_list()) { foreach my $e (param_list()) {
if (not(param_get($e))) {
next;
}
if (($e eq "vulkan-string-helper") and param_get("vulkan")) { if (($e eq "vulkan-string-helper") and param_get("vulkan")) {
push(@l, $e); push(@l, $e);
} }
elsif (($e eq "xrender") and ($backend eq "x11")) { elsif (($e eq "xrender") and ($backend eq "x11")) {
push(@l, $e); push(@l, $e);
} }
elsif (not($e eq "vulkan-string-helper") and not($e eq "xrender") and param_get($e)) { elsif (not($e eq "vulkan-string-helper") and not($e eq "xrender")) {
push(@l, $e); push(@l, $e);
} }
} }

View File

@@ -1,6 +1,7 @@
# $Id$ # $Id$
add_incdir("-I/usr/X11R7/include -I/usr/pkg/include"); add_incdir("-I/usr/X11R7/include -I/usr/pkg/include");
add_libdir("-L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib"); add_libdir(
"-L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib");
use_backend("x11"); use_backend("x11");
1; 1;

View File

@@ -1,8 +1,8 @@
# $Id$ # $Id$
$library_prefix = ""; $library_prefix = "";
$library_suffix = ".dll"; $library_suffix = ".dll";
$executable_suffix = ".exe"; $executable_suffix = ".exe";
$math = ""; $math = "";
add_ldflags("-Wl,--out-implib,src/libMw.a -static-libgcc"); add_ldflags("-Wl,--out-implib,src/libMw.a -static-libgcc");
use_backend("gdi"); use_backend("gdi");

View File

@@ -3,39 +3,41 @@ new_object("src/*.c");
my $gl_libs = ""; my $gl_libs = "";
if($backend eq "x11"){ if ($backend eq "x11") {
add_cflags("-DUSE_X11"); add_cflags("-DUSE_X11");
new_object("src/backend/x11.c"); new_object("src/backend/x11.c");
add_libs("-lX11 -lXrender -lXcursor"); add_libs("-lX11 -lXrender -lXcursor");
$gl_libs = "-lGL -lGLU"; $gl_libs = "-lGL -lGLU";
}elsif($backend eq "gdi"){ }
add_cflags("-DUSE_GDI"); elsif ($backend eq "gdi") {
new_object("src/backend/gdi.c"); add_cflags("-DUSE_GDI");
add_libs("-lgdi32"); new_object("src/backend/gdi.c");
add_libs("-lgdi32");
$gl_libs = "-lopengl32 -lglu32"; $gl_libs = "-lopengl32 -lglu32";
}elsif($backend eq "darwin"){ }
add_cflags("-DUSE_DARWIN"); elsif ($backend eq "darwin") {
new_object("src/backend/mac/*.c"); add_cflags("-DUSE_DARWIN");
add_ldflags("-framework Carbon"); new_object("src/backend/mac/*.c");
add_ldflags("-framework Carbon");
} }
if(param_get("stb-image")){ if (param_get("stb-image")) {
add_cflags("-DUSE_STB_IMAGE"); add_cflags("-DUSE_STB_IMAGE");
} }
if(param_get("stb-truetype")){ if (param_get("stb-truetype")) {
add_cflags("-DUSE_STB_TRUETYPE"); add_cflags("-DUSE_STB_TRUETYPE");
} }
if(param_get("freetype2")){ if (param_get("freetype2")) {
add_cflags("-DUSE_FREETYPE2"); add_cflags("-DUSE_FREETYPE2");
if(not($cross)){ if (not($cross)) {
add_cflags(`pkg-config --cflags freetype2`); add_cflags(`pkg-config --cflags freetype2`);
add_libs(`pkg-config --libs freetype2`); add_libs(`pkg-config --libs freetype2`);
} }
} }
if(param_get("xrender")){ if (param_get("xrender")) {
add_cflags("-DUSE_XRENDER"); add_cflags("-DUSE_XRENDER");
} }
new_object("src/icon/*.c"); new_object("src/icon/*.c");
@@ -57,11 +59,12 @@ new_object("src/widget/scrollbar.c");
new_object("src/widget/submenu.c"); new_object("src/widget/submenu.c");
new_object("src/widget/viewport.c"); new_object("src/widget/viewport.c");
new_object("src/widget/window.c"); new_object("src/widget/window.c");
if(param_get("opengl")){
new_object("src/widget/opengl.c"); if (param_get("opengl")) {
new_object("src/widget/opengl.c");
} }
if(param_get("vulkan")){ if (param_get("vulkan")) {
new_object("src/widget/vulkan.c"); new_object("src/widget/vulkan.c");
} }
new_object("src/dialog/*.c"); new_object("src/dialog/*.c");
@@ -70,7 +73,6 @@ new_object("src/abstract/*.c");
new_object("external/*.c"); new_object("external/*.c");
new_example("examples/basic/example"); new_example("examples/basic/example");
new_example("examples/basic/rotate"); new_example("examples/basic/rotate");
new_example("examples/basic/image"); new_example("examples/basic/image");
@@ -83,17 +85,17 @@ new_example("examples/basic/listbox");
new_example("examples/basic/progressbar"); new_example("examples/basic/progressbar");
new_example("examples/basic/colorpicker"); new_example("examples/basic/colorpicker");
if(param_get("opengl")){ if (param_get("opengl")) {
new_example("examples/gldemos/boing", $gl_libs); new_example("examples/gldemos/boing", $gl_libs);
new_example("examples/gldemos/clock", $gl_libs); new_example("examples/gldemos/clock", $gl_libs);
new_example("examples/gldemos/cube", $gl_libs); new_example("examples/gldemos/cube", $gl_libs);
new_example("examples/gldemos/gears", $gl_libs); new_example("examples/gldemos/gears", $gl_libs);
new_example("examples/gldemos/triangle", $gl_libs); new_example("examples/gldemos/triangle", $gl_libs);
new_example("examples/gldemos/tripaint", $gl_libs); new_example("examples/gldemos/tripaint", $gl_libs);
} }
if(param_get("vulkan")){ if (param_get("vulkan")) {
new_example("examples/vkdemos/vulkan"); new_example("examples/vkdemos/vulkan");
} }
1; 1;

View File

@@ -1,73 +1,75 @@
# $Id$ # $Id$
sub add_incdir { sub add_incdir {
my $input = $_[0]; my $input = $_[0];
$input =~ s/\r?\n/ /g; $input =~ s/\r?\n/ /g;
$incdir = "${incdir} ${input}"; $incdir = "${incdir} ${input}";
} }
sub add_cflags { sub add_cflags {
my $input = $_[0]; my $input = $_[0];
$input =~ s/\r?\n/ /g; $input =~ s/\r?\n/ /g;
$cflags = "${cflags} ${input}"; $cflags = "${cflags} ${input}";
} }
sub add_libdir { sub add_libdir {
my $input = $_[0]; my $input = $_[0];
$input =~ s/\r?\n/ /g; $input =~ s/\r?\n/ /g;
$libdir = "${libdir} ${input}"; $libdir = "${libdir} ${input}";
} }
sub add_ldflags { sub add_ldflags {
my $input = $_[0]; my $input = $_[0];
$input =~ s/\r?\n/ /g; $input =~ s/\r?\n/ /g;
$ldflags = "${ldflags} ${input}"; $ldflags = "${ldflags} ${input}";
} }
sub add_libs { sub add_libs {
my $input = $_[0]; my $input = $_[0];
$input =~ s/\r?\n/ /g; $input =~ s/\r?\n/ /g;
$libs = "${libs} ${input}"; $libs = "${libs} ${input}";
} }
sub new_example { sub new_example {
if(@_ == 2){ if (@_ == 2) {
$examples_libs{"$_[0]${executable_suffix}"} = $_[1]; $examples_libs{"$_[0]${executable_suffix}"} = $_[1];
} }
push(@examples_targets, "${_[0]}${executable_suffix}"); push(@examples_targets, "${_[0]}${executable_suffix}");
} }
sub new_object { sub new_object {
my @l = glob($_[0]); my @l = glob($_[0]);
foreach my $e (@l){ foreach my $e (@l) {
$e =~ s/\.c$/$object_suffix/; $e =~ s/\.c$/$object_suffix/;
push(@library_targets, $e); push(@library_targets, $e);
} }
} }
sub use_backend { sub use_backend {
$backend = $_[0]; $backend = $_[0];
} }
our %params = (); our %params = ();
sub param_set { sub param_set {
$params{$_[0]} = $_[1]; $params{ $_[0] } = $_[1];
} }
sub param_get { sub param_get {
if(not(defined($params{$_[0]}))){ if (not(defined($params{ $_[0] }))) {
return 0; return 0;
}else{ }
return $params{$_[0]}; else {
} return $params{ $_[0] };
}
} }
sub param_list { sub param_list {
return sort(keys(%params)); return sort(keys(%params));
} }
1; 1;