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);