From 10024341d538f5a25227fc0713b50f56fa55bb8d Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Sun, 12 Oct 2025 09:42:35 +0000 Subject: [PATCH] seems to work git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@288 b9cfdab3-6d41-4d17-bbe4-086880011989 --- BorMakefile | 78 +++++++++++++++++++++++++++++++++++++++++++++++ tools/genbor.pl | 80 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 158 insertions(+) create mode 100644 BorMakefile create mode 100644 tools/genbor.pl diff --git a/BorMakefile b/BorMakefile new file mode 100644 index 0000000..e9c9e0c --- /dev/null +++ b/BorMakefile @@ -0,0 +1,78 @@ +# $Id$ +CC = bcc32 +CXX = bcc32 +CFLAGS = -D_MILSKO -DUSE_GDI -DUSE_STB_IMAGE -DSTBI_NO_SIMD -Iinclude +CXXFLAGS = -Iinclude + +OBJS = src\boldfont.obj src\color.obj src\core.obj src\default.obj src\draw.obj src\error.obj src\font.obj src\lowlevel.obj src\messagebox.obj src\unicode.obj src\widget\button.obj src\widget\checkbox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\scrollbar.obj src\widget\submenu.obj src\widget\viewport.obj src\widget\window.obj src\external\ds.obj src\external\image.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\text.obj src\icon\error.obj src\icon\info.obj src\icon\news.obj src\icon\note.obj src\icon\question.obj src\icon\warning.obj src\backend\gdi.obj +OOOBJS = oosrc\base.obj oosrc\widget\button.obj oosrc\widget\checkbox.obj oosrc\widget\entry.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\label.obj oosrc\widget\menu.obj oosrc\widget\numberentry.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\viewport.obj oosrc\widget\window.obj + +all: src\Mw.dll oosrc\MwOO.dll + +.SUFFIXES: .c .cc .obj + +clean: + del /q /f src\boldfont.obj + del /q /f src\color.obj + del /q /f src\core.obj + del /q /f src\default.obj + del /q /f src\draw.obj + del /q /f src\error.obj + del /q /f src\font.obj + del /q /f src\lowlevel.obj + del /q /f src\messagebox.obj + del /q /f src\unicode.obj + del /q /f src\widget\button.obj + del /q /f src\widget\checkbox.obj + del /q /f src\widget\entry.obj + del /q /f src\widget\frame.obj + del /q /f src\widget\image.obj + del /q /f src\widget\label.obj + del /q /f src\widget\menu.obj + del /q /f src\widget\numberentry.obj + del /q /f src\widget\opengl.obj + del /q /f src\widget\scrollbar.obj + del /q /f src\widget\submenu.obj + del /q /f src\widget\viewport.obj + del /q /f src\widget\window.obj + del /q /f src\external\ds.obj + del /q /f src\external\image.obj + del /q /f src\cursor\cross.obj + del /q /f src\cursor\default.obj + del /q /f src\cursor\text.obj + del /q /f src\icon\error.obj + del /q /f src\icon\info.obj + del /q /f src\icon\news.obj + del /q /f src\icon\note.obj + del /q /f src\icon\question.obj + del /q /f src\icon\warning.obj + del /q /f src\backend\gdi.obj + del /q /f oosrc\base.obj + del /q /f oosrc\widget\button.obj + del /q /f oosrc\widget\checkbox.obj + del /q /f oosrc\widget\entry.obj + del /q /f oosrc\widget\frame.obj + del /q /f oosrc\widget\image.obj + del /q /f oosrc\widget\label.obj + del /q /f oosrc\widget\menu.obj + del /q /f oosrc\widget\numberentry.obj + del /q /f oosrc\widget\opengl.obj + del /q /f oosrc\widget\scrollbar.obj + del /q /f oosrc\widget\submenu.obj + del /q /f oosrc\widget\viewport.obj + del /q /f oosrc\widget\window.obj + del /q /f src\Mw.dll + del /q /f src\Mw.lib + del /q /f oosrc\MwOO.dll + del /q /f oosrc\MwOO.lib + +oosrc\MwOO.dll: $(OOOBJS) src\Mw.dll + $(CC) -tWD -eoosrc\MwOO.dll $(OOOBJS) src\Mw.lib + implib oosrc\MwOO.lib oosrc\MwOO.dll +src\Mw.dll: $(OBJS) + $(CC) -tWD -esrc\Mw.dll $(OBJS) + implib src\Mw.lib src\Mw.dll +.c.obj: + $(CC) $(CFLAGS) -c -o$@ $< +.cc.obj: + $(CXX) -P $(CXXFLAGS) -c -o$@ $< diff --git a/tools/genbor.pl b/tools/genbor.pl new file mode 100644 index 0000000..a5d245e --- /dev/null +++ b/tools/genbor.pl @@ -0,0 +1,80 @@ +#!/usr/bin/env perl +# $Id$ + +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?$/)) { + my $p = $_[0] . "/" . $f; + $p =~ s/\//\\/g; + push(@sources, $p); + $p =~ s/\.cc?$/.obj/g; + print(OUT " $p"); + } + } + closedir(DIR); +} + +open(OUT, ">", "BorMakefile"); +print(OUT "# \$Id\$\n"); +print(OUT "CC = bcc32\n"); +print(OUT "CXX = bcc32\n"); +print(OUT "CFLAGS = -D_MILSKO -DUSE_GDI -DUSE_STB_IMAGE -DSTBI_NO_SIMD -Iinclude\n"); +print(OUT "CXXFLAGS = -Iinclude\n"); +print(OUT "\n"); +print(OUT "OBJS ="); +scan("src"); +scan("src/widget"); +scan("src/external"); +scan("src/cursor"); +scan("src/icon"); +push(@sources, "src\\backend\\gdi.c"); +@c_sources = @sources; +@sources = (); +print(OUT " src\\backend\\gdi.obj\n"); +print(OUT "OOOBJS ="); +scan("oosrc"); +scan("oosrc/widget"); +@cxx_sources = @sources; +@sources = (); +print(OUT "\n"); +print(OUT "\n"); +print(OUT "all: src\\Mw.dll oosrc\\MwOO.dll\n"); +print(OUT "\n"); +print(OUT ".SUFFIXES: .c .cc .obj\n"); +print(OUT "\n"); +print(OUT "clean:\n"); + +foreach my $l (@c_sources) { + my $obj = $l; + $obj =~ s/\.cc?/.obj/g; + print(OUT " del /q /f $obj\n"); +} +foreach my $l (@cxx_sources) { + my $obj = $l; + $obj =~ s/\.cc?/.obj/g; + print(OUT " del /q /f $obj\n"); +} +print(OUT " del /q /f src\\Mw.dll\n"); +print(OUT " del /q /f src\\Mw.lib\n"); +print(OUT " del /q /f oosrc\\MwOO.dll\n"); +print(OUT " del /q /f oosrc\\MwOO.lib\n"); +print(OUT "\n"); +print(OUT "oosrc\\MwOO.dll: \$(OOOBJS) src\\Mw.dll\n"); +print(OUT " \$(CC) -tWD -eoosrc\\MwOO.dll \$(OOOBJS) src\\Mw.lib\n"); +print(OUT " implib oosrc\\MwOO.lib oosrc\\MwOO.dll"); +print(OUT "\n"); +print(OUT "src\\Mw.dll: \$(OBJS)\n"); +print(OUT " \$(CC) -tWD -esrc\\Mw.dll \$(OBJS)\n"); +print(OUT " implib src\\Mw.lib src\\Mw.dll"); +print(OUT "\n"); +print(OUT ".c.obj:\n"); +print(OUT " \$(CC) \$(CFLAGS) -c -o\$@ \$< \n"); +print(OUT ".cc.obj:\n"); +print(OUT " \$(CXX) -P \$(CXXFLAGS) -c -o\$@ \$< \n"); +close(OUT);