git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@272 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-11 13:59:36 +00:00
parent 13dc777953
commit f04ce54392
14 changed files with 228 additions and 71 deletions

View File

@@ -2,7 +2,7 @@
CC = cl
LD = link
OBJS = src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\numberentry.obj src\external\ds.obj src\external\image.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\backend\gdi.obj
OBJS = src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\numberentry.obj src\external\ds.obj src\external\image.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\backend\gdi.obj
OOOBJS = oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj
CFLAGS = /nologo /DSTBI_NO_SIMD /D_MILSKO /DUSE_GDI /DUSE_STB_IMAGE /Iinclude
CXXFLAGS = /nologo /Iinclude

View File

@@ -2,15 +2,13 @@
WATCOM = /usr/watcom
CC = wcc386
CXX = wpp386
CFLAGS = -q -d_MILSKO -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -i=$(WATCOM)/h/nt
CXXFLAGS =
CFLAGS = -q -d_MILSKO -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -i=$(WATCOM)/h/nt -i=include
CXXFLAGS = -q -i=include -i=$(WATCOM)/h/nt
OBJS = src/core.obj src/draw.obj src/default.obj src/lowlevel.obj src/error.obj src/unicode.obj src/font.obj src/color.obj src/messagebox.obj src/boldfont.obj src/widget/button.obj src/widget/frame.obj src/widget/opengl.obj src/widget/window.obj src/widget/menu.obj src/widget/entry.obj src/widget/submenu.obj src/widget/image.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/label.obj src/widget/numberentry.obj src/external/ds.obj src/external/image.obj src/cursor/default.obj src/cursor/cross.obj src/cursor/text.obj src/icon/info.obj src/icon/note.obj src/icon/warning.obj src/icon/error.obj src/icon/news.obj src/icon/question.obj src/backend/gdi.obj
OBJS = src/core.obj src/draw.obj src/default.obj src/lowlevel.obj src/error.obj src/unicode.obj src/font.obj src/color.obj src/messagebox.obj src/boldfont.obj src/widget/button.obj src/widget/frame.obj src/widget/opengl.obj src/widget/window.obj src/widget/menu.obj src/widget/entry.obj src/widget/submenu.obj src/widget/image.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/label.obj src/widget/numberentry.obj src/external/ds.obj src/external/image.obj src/cursor/default.obj src/cursor/cross.obj src/cursor/text.obj src/icon/info.obj src/icon/note.obj src/icon/warning.obj src/icon/error.obj src/icon/news.obj src/icon/question.obj
OOOBJS = oosrc/base.obj oosrc/widget/button.obj oosrc/widget/frame.obj oosrc/widget/image.obj oosrc/widget/menu.obj oosrc/widget/opengl.obj oosrc/widget/scrollbar.obj oosrc/widget/submenu.obj oosrc/widget/window.obj oosrc/widget/checkbox.obj oosrc/widget/label.obj oosrc/widget/entry.obj oosrc/widget/numberentry.obj
.EXTENSIONS:
.EXTENSIONS: .obj .c
all: src/Mw.dll
all: src/Mw.dll oosrc/MwOO.dll
clean: .SYMBOLIC
%erase src/core.obj
@@ -47,10 +45,44 @@ clean: .SYMBOLIC
%erase src/icon/news.obj
%erase src/icon/question.obj
%erase src/backend/gdi.obj
%erase oosrc/base.obj
%erase oosrc/widget/button.obj
%erase oosrc/widget/frame.obj
%erase oosrc/widget/image.obj
%erase oosrc/widget/menu.obj
%erase oosrc/widget/opengl.obj
%erase oosrc/widget/scrollbar.obj
%erase oosrc/widget/submenu.obj
%erase oosrc/widget/window.obj
%erase oosrc/widget/checkbox.obj
%erase oosrc/widget/label.obj
%erase oosrc/widget/entry.obj
%erase oosrc/widget/numberentry.obj
%erase src/Mw.dll
%erase src/Mw.lib
%erase oosrc/MwOO.dll
%erase oosrc/MwOO.lib
oosrc/MwOO.dll: $(OOOBJS) src/Mw.dll
%write MwOO.lnk system nt_dll initinstance terminstance name oosrc/MwOO.dll
%write MwOO.lnk option implib=oosrc/MwOO.lib
%write MwOO.lnk library src/Mw.lib
%write MwOO.lnk library clib3r.lib
%write MwOO.lnk file oosrc/base.obj
%write MwOO.lnk file oosrc/widget/button.obj
%write MwOO.lnk file oosrc/widget/frame.obj
%write MwOO.lnk file oosrc/widget/image.obj
%write MwOO.lnk file oosrc/widget/menu.obj
%write MwOO.lnk file oosrc/widget/opengl.obj
%write MwOO.lnk file oosrc/widget/scrollbar.obj
%write MwOO.lnk file oosrc/widget/submenu.obj
%write MwOO.lnk file oosrc/widget/window.obj
%write MwOO.lnk file oosrc/widget/checkbox.obj
%write MwOO.lnk file oosrc/widget/label.obj
%write MwOO.lnk file oosrc/widget/entry.obj
%write MwOO.lnk file oosrc/widget/numberentry.obj
wlink @MwOO.lnk
%erase MwOO.lnk
src/Mw.dll: $(OBJS)
%write Mw.lnk system nt_dll initinstance terminstance name src/Mw.dll
%write Mw.lnk option implib=src/Mw.lib
@@ -92,70 +124,96 @@ src/Mw.dll: $(OBJS)
wlink @Mw.lnk
%erase Mw.lnk
src/core.obj: src/core.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/core.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/core.c
src/draw.obj: src/draw.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/draw.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/draw.c
src/default.obj: src/default.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/default.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/default.c
src/lowlevel.obj: src/lowlevel.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/lowlevel.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/lowlevel.c
src/error.obj: src/error.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/error.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/error.c
src/unicode.obj: src/unicode.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/unicode.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/unicode.c
src/font.obj: src/font.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/font.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/font.c
src/color.obj: src/color.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/color.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/color.c
src/messagebox.obj: src/messagebox.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/messagebox.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/messagebox.c
src/boldfont.obj: src/boldfont.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/boldfont.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/boldfont.c
src/widget/button.obj: src/widget/button.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/button.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/button.c
src/widget/frame.obj: src/widget/frame.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/frame.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/frame.c
src/widget/opengl.obj: src/widget/opengl.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/opengl.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/opengl.c
src/widget/window.obj: src/widget/window.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/window.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/window.c
src/widget/menu.obj: src/widget/menu.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/menu.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/menu.c
src/widget/entry.obj: src/widget/entry.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/entry.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/entry.c
src/widget/submenu.obj: src/widget/submenu.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/submenu.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/submenu.c
src/widget/image.obj: src/widget/image.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/image.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/image.c
src/widget/scrollbar.obj: src/widget/scrollbar.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/scrollbar.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/scrollbar.c
src/widget/checkbox.obj: src/widget/checkbox.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/checkbox.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/checkbox.c
src/widget/label.obj: src/widget/label.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/label.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/label.c
src/widget/numberentry.obj: src/widget/numberentry.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/numberentry.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/numberentry.c
src/external/ds.obj: src/external/ds.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/external/ds.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/external/ds.c
src/external/image.obj: src/external/image.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/external/image.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/external/image.c
src/cursor/default.obj: src/cursor/default.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/cursor/default.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/cursor/default.c
src/cursor/cross.obj: src/cursor/cross.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/cursor/cross.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/cursor/cross.c
src/cursor/text.obj: src/cursor/text.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/cursor/text.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/cursor/text.c
src/icon/info.obj: src/icon/info.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/info.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/info.c
src/icon/note.obj: src/icon/note.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/note.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/note.c
src/icon/warning.obj: src/icon/warning.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/warning.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/warning.c
src/icon/error.obj: src/icon/error.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/error.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/error.c
src/icon/news.obj: src/icon/news.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/news.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/news.c
src/icon/question.obj: src/icon/question.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/question.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/question.c
src/backend/gdi.obj: src/backend/gdi.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/backend/gdi.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/backend/gdi.c
oosrc/base.obj: oosrc/base.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/base.cc
oosrc/widget/button.obj: oosrc/widget/button.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/button.cc
oosrc/widget/frame.obj: oosrc/widget/frame.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/frame.cc
oosrc/widget/image.obj: oosrc/widget/image.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/image.cc
oosrc/widget/menu.obj: oosrc/widget/menu.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/menu.cc
oosrc/widget/opengl.obj: oosrc/widget/opengl.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/opengl.cc
oosrc/widget/scrollbar.obj: oosrc/widget/scrollbar.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/scrollbar.cc
oosrc/widget/submenu.obj: oosrc/widget/submenu.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/submenu.cc
oosrc/widget/window.obj: oosrc/widget/window.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/window.cc
oosrc/widget/checkbox.obj: oosrc/widget/checkbox.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/checkbox.cc
oosrc/widget/label.obj: oosrc/widget/label.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/label.cc
oosrc/widget/entry.obj: oosrc/widget/entry.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/entry.cc
oosrc/widget/numberentry.obj: oosrc/widget/numberentry.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/numberentry.cc

View File

@@ -41,6 +41,9 @@
<dd>
<a href="#Mw_Constants_h___define_MwMB_ICONNEWS_0x5">#define MwMB_ICONNEWS 0x5</a>
</dd>
<dd>
<a href="#Mw_Constants_h___define_MwMB_ICONERROR_0x6">#define MwMB_ICONERROR 0x6</a>
</dd>
<dd>
<a href="#Mw_Constants_h___define_MwMB_BUTTONMASK_0xf0">#define MwMB_BUTTONMASK 0xf0</a>
</dd>
@@ -143,6 +146,9 @@
<dd>
<a href="#Mw_Core_h__MwForceRender">MwForceRender</a>
</dd>
<dd>
<a href="#Mw_Core_h__MwForceRender2">MwForceRender2</a>
</dd>
<dt>
<a href="#Mw_Cursor_h">Mw/Cursor.h</a>
</dt>
@@ -248,6 +254,9 @@
<dt>
<a href="#Mw_Icon_h">Mw/Icon.h</a>
</dt>
<dd>
<a href="#Mw_Icon_h__MwIconError__">MwIconError[]</a>
</dd>
<dd>
<a href="#Mw_Icon_h__MwIconInfo__">MwIconInfo[]</a>
</dd>
@@ -528,6 +537,13 @@
</dd>
</dl>
<hr>
<pre id="Mw_Constants_h___define_MwMB_ICONERROR_0x6">#<B><FONT COLOR="#5F9EA0">define</FONT></B> <FONT COLOR="#B8860B">MwMB_ICONERROR</FONT> 0x6</pre>
<dl>
<dd>
Error icon.
</dd>
</dl>
<hr>
<pre id="Mw_Constants_h___define_MwMB_BUTTONMASK_0xf0">#<B><FONT COLOR="#5F9EA0">define</FONT></B> <FONT COLOR="#B8860B">MwMB_BUTTONMASK</FONT> 0xf0</pre>
<dl>
<dd>
@@ -641,7 +657,7 @@
</dd>
</dl>
<hr>
<pre id="Mw_Core_h__MwDispatch3">#<B><FONT COLOR="#5F9EA0">define</FONT></B> <B><FONT COLOR="#0000FF">MwDispatch3</FONT></B>(x, y, name)</pre>
<pre id="Mw_Core_h__MwDispatch3">#<B><FONT COLOR="#5F9EA0">define</FONT></B> <B><FONT COLOR="#0000FF">MwDispatch3</FONT></B>(x, y, z)</pre>
<dl>
<dd>
Dispatches the handler of widget class.
@@ -662,10 +678,10 @@
Handler name.
</dd>
<dt>
Parameter <code>name</code>
Parameter <code>z</code>
</dt>
<dd>
Property name.
Argument.
</dd>
</dl>
<hr>
@@ -1323,6 +1339,28 @@
</dd>
</dl>
<hr>
<pre id="Mw_Core_h__MwForceRender2">MWDECL <B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">MwForceRender2</FONT></B> (
MwWidget handle,
<B><FONT COLOR="#228B22">void</FONT></B>* ptr
);</pre>
<dl>
<dd>
Forcefully makes widget render.
</dd>
<dt>
Parameter <code>handle</code>
</dt>
<dd>
Widget.
</dd>
<dt>
Parameter <code>ptr</code>
</dt>
<dd>
Ignored.
</dd>
</dl>
<hr>
<h2 align="center" id="Mw_Cursor_h">Mw/Cursor.h</h2>
<dl>
<dt>
@@ -1968,6 +2006,13 @@
</dt>
</dl>
<hr>
<pre id="Mw_Icon_h__MwIconError__">MWDECL <B><FONT COLOR="#228B22">char</FONT></B>* MwIconError[];</pre>
<dl>
<dd>
Error icon.
</dd>
</dl>
<hr>
<pre id="Mw_Icon_h__MwIconInfo__">MWDECL <B><FONT COLOR="#228B22">char</FONT></B>* MwIconInfo[];</pre>
<dl>
<dd>

View File

@@ -37,7 +37,7 @@ typedef void* MwLLPixmap;
#define MwLLDispatch(x, y, z) \
if(x->handler != NULL && x->handler->y != NULL) x->handler->y(x, z)
enum MwLLKey {
enum MwLLKeyEnum {
MwLLKeyBackSpace = (1 << 31) | 1,
MwLLKeyLeft,
MwLLKeyRight,
@@ -45,10 +45,10 @@ enum MwLLKey {
MwLLKeyDown
};
enum MwLLMouse {
enum MwLLMouseEnum {
MwLLMouseLeft = 1,
MwLLMouseMiddle = 2,
MwLLMouseRight = 3,
MwLLMouseRight = 3
};
struct _MwLLMouse {

View File

@@ -38,6 +38,8 @@ class Base {
virtual void OnMouseDownHandler(void*) {};
virtual void OnMouseUpHandler(void*) {};
virtual void OnChangedHandler(void*) {};
virtual void OnKeyHandler(void*) {};
virtual void OnKeyReleasedHandler(void*) {};
/* END AUTOGENERATE */

View File

@@ -96,6 +96,14 @@ static void __OnChangedHandler(MwWidget widget, void* user, void* call){
MwOO::Base* c = (MwOO::Base*)user;
c->OnChangedHandler(call);
}
static void __OnKeyHandler(MwWidget widget, void* user, void* call){
MwOO::Base* c = (MwOO::Base*)user;
c->OnKeyHandler(call);
}
static void __OnKeyReleasedHandler(MwWidget widget, void* user, void* call){
MwOO::Base* c = (MwOO::Base*)user;
c->OnKeyReleasedHandler(call);
}
void MwOO::Base::SetHandler(void){
MwAddUserHandler(this->widget, MwNactivateHandler, __OnActivate, this);
@@ -105,5 +113,7 @@ void MwOO::Base::SetHandler(void){
MwAddUserHandler(this->widget, MwNmouseDownHandler, __OnMouseDownHandler, this);
MwAddUserHandler(this->widget, MwNmouseUpHandler, __OnMouseUpHandler, this);
MwAddUserHandler(this->widget, MwNchangedHandler, __OnChangedHandler, this);
MwAddUserHandler(this->widget, MwNkeyHandler, __OnKeyHandler, this);
MwAddUserHandler(this->widget, MwNkeyReleasedHandler, __OnKeyReleasedHandler, this);
}
/* END AUTOGENERATE */

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 B

After

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 434 B

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 B

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 594 B

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 529 B

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 498 B

View File

@@ -1,14 +1,16 @@
#!/usr/bin/env perl
# $Id$
our @sources = ();
our @sources = ();
our @c_sources = ();
our @cxx_sources = ();
sub scan {
opendir(DIR, $_[0]);
my @files = readdir(DIR);
foreach my $f (@files) {
if (!($f =~ /^vulkan\.cc?$/) && ($f =~ /\.cc?$/)) {
push(@sources, $_[0] . "/" . $f);
push(@sources, $_[0] . "/" . $f);
$f =~ s/\.cc?$/.obj/g;
my $p = $_[0] . "/" . $f;
print(OUT " $p");
@@ -22,8 +24,10 @@ print(OUT "# \$Id\$\n");
print(OUT "WATCOM = /usr/watcom\n");
print(OUT "CC = wcc386\n");
print(OUT "CXX = wpp386\n");
print(OUT "CFLAGS = -q -d_MILSKO -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -i=\$(WATCOM)/h/nt\n");
print(OUT "CXXFLAGS =\n");
print(OUT
"CFLAGS = -q -d_MILSKO -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -i=\$(WATCOM)/h/nt -i=include\n"
);
print(OUT "CXXFLAGS = -q -i=include -i=\$(WATCOM)/h/nt\n");
print(OUT "\n");
print(OUT "OBJS =");
scan("src");
@@ -32,39 +36,76 @@ scan("src/external");
scan("src/cursor");
scan("src/icon");
push(@sources, "src/backend/gdi.c");
print(OUT " src/backend/gdi.obj\n");
@c_sources = @sources;
@sources = ();
print(OUT "\n");
print(OUT ".EXTENSIONS:\n");
print(OUT ".EXTENSIONS: .obj .c\n");
print(OUT "OOOBJS =");
scan("oosrc");
scan("oosrc/widget");
@cxx_sources = @sources;
@sources = ();
print(OUT "\n");
print(OUT "all: src/Mw.dll\n");
print(OUT "\n");
print(OUT "all: src/Mw.dll oosrc/MwOO.dll\n");
print(OUT "\n");
print(OUT "clean: .SYMBOLIC\n");
foreach my $l (@sources){
my $obj = $l;
$obj =~ s/\.cc?/.obj/g;
print(OUT " %erase $obj\n");
foreach my $l (@c_sources) {
my $obj = $l;
$obj =~ s/\.cc?/.obj/g;
print(OUT " %erase $obj\n");
}
foreach my $l (@cxx_sources) {
my $obj = $l;
$obj =~ s/\.cc?/.obj/g;
print(OUT " %erase $obj\n");
}
print(OUT " %erase src/Mw.dll\n");
print(OUT " %erase src/Mw.lib\n");
print(OUT " %erase oosrc/MwOO.dll\n");
print(OUT " %erase oosrc/MwOO.lib\n");
print(OUT "\n");
print(OUT "oosrc/MwOO.dll: \$(OOOBJS) src/Mw.dll\n");
print(OUT
" %write MwOO.lnk system nt_dll initinstance terminstance name oosrc/MwOO.dll\n"
);
print(OUT " %write MwOO.lnk option implib=oosrc/MwOO.lib\n");
print(OUT " %write MwOO.lnk library src/Mw.lib\n");
print(OUT " %write MwOO.lnk library clib3r.lib\n");
foreach my $l (@cxx_sources) {
my $obj = $l;
$obj =~ s/\.cc?/.obj/g;
print(OUT " %write MwOO.lnk file $obj\n");
}
print(OUT " wlink \@MwOO.lnk\n");
print(OUT " %erase MwOO.lnk");
print(OUT "\n");
print(OUT "src/Mw.dll: \$(OBJS)\n");
print(OUT " %write Mw.lnk system nt_dll initinstance terminstance name src/Mw.dll\n");
print(OUT
" %write Mw.lnk system nt_dll initinstance terminstance name src/Mw.dll\n"
);
print(OUT " %write Mw.lnk option implib=src/Mw.lib\n");
print(OUT " %write Mw.lnk library clib3r.lib\n");
foreach my $l (@sources){
my $obj = $l;
$obj =~ s/\.cc?/.obj/g;
print(OUT " %write Mw.lnk file $obj\n");
foreach my $l (@c_sources) {
my $obj = $l;
$obj =~ s/\.cc?/.obj/g;
print(OUT " %write Mw.lnk file $obj\n");
}
print(OUT " wlink \@Mw.lnk\n");
print(OUT " %erase Mw.lnk");
print(OUT "\n");
foreach my $l (@sources){
my $obj = $l;
$obj =~ s/\.cc?/.obj/g;
print(OUT "$obj: $l\n");
print(OUT " \$(CC) \$(CFLAGS) -bt=nt -fo=\$@ -i=include $l\n");
foreach my $l (@c_sources) {
my $obj = $l;
$obj =~ s/\.cc?/.obj/g;
print(OUT "$obj: $l\n");
print(OUT " \$(CC) \$(CFLAGS) -bt=nt -fo=\$@ $l\n");
}
foreach my $l (@cxx_sources) {
my $obj = $l;
$obj =~ s/\.cc?/.obj/g;
print(OUT "$obj: $l\n");
print(OUT " \$(CXX) \$(CXXFLAGS) -bt=nt -fo=\$@ $l\n");
}
close(OUT);

View File

@@ -8,4 +8,5 @@ fi
./tools/icon.sh
./tools/genoo.pl
./tools/genmsvc.pl
./tools/genwat.pl
$MAKE format