git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@292 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-12 10:26:59 +00:00
parent 7c3346c9e3
commit 41214bbfa7
7 changed files with 407 additions and 499 deletions

View File

@@ -1,78 +1,72 @@
# $Id$ # $Id$
CC = bcc32 CC = bcc32 -c
CXX = bcc32 CXX = bcc32 -c -P
CFLAGS = -D_MILSKO -DUSE_GDI -DUSE_STB_IMAGE -DSTBI_NO_SIMD -Iinclude LD = bcc32
CFLAGS = -Iinclude -D_MILSKO -DUSE_GDI -DUSE_STB_IMAGE -DSTBI_NO_SIMD
CXXFLAGS = -Iinclude CXXFLAGS = -Iinclude
LDFLAGS = -tWD
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\widget\viewport.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\viewport.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj
all: src\Mw.dll oosrc\MwOO.dll
.SUFFIXES: .c .cc .obj .SUFFIXES: .c .cc .obj
all: src\Mw.dll oosrc\MwOO.dll
clean: clean:
del /q /f src\core.obj del /f /q src\core.obj
del /q /f src\draw.obj del /f /q src\draw.obj
del /q /f src\default.obj del /f /q src\default.obj
del /q /f src\lowlevel.obj del /f /q src\lowlevel.obj
del /q /f src\error.obj del /f /q src\error.obj
del /q /f src\unicode.obj del /f /q src\unicode.obj
del /q /f src\font.obj del /f /q src\font.obj
del /q /f src\color.obj del /f /q src\color.obj
del /q /f src\messagebox.obj del /f /q src\messagebox.obj
del /q /f src\boldfont.obj del /f /q src\boldfont.obj
del /q /f src\widget\button.obj del /f /q src\external\ds.obj
del /q /f src\widget\frame.obj del /f /q src\external\image.obj
del /q /f src\widget\opengl.obj del /f /q src\icon\info.obj
del /q /f src\widget\window.obj del /f /q src\icon\note.obj
del /q /f src\widget\menu.obj del /f /q src\icon\warning.obj
del /q /f src\widget\entry.obj del /f /q src\icon\error.obj
del /q /f src\widget\submenu.obj del /f /q src\icon\news.obj
del /q /f src\widget\image.obj del /f /q src\icon\question.obj
del /q /f src\widget\scrollbar.obj del /f /q src\cursor\default.obj
del /q /f src\widget\checkbox.obj del /f /q src\cursor\cross.obj
del /q /f src\widget\label.obj del /f /q src\cursor\text.obj
del /q /f src\widget\numberentry.obj del /f /q src\widget\button.obj
del /q /f src\widget\viewport.obj del /f /q src\widget\frame.obj
del /q /f src\external\ds.obj del /f /q src\widget\opengl.obj
del /q /f src\external\image.obj del /f /q src\widget\window.obj
del /q /f src\cursor\default.obj del /f /q src\widget\menu.obj
del /q /f src\cursor\cross.obj del /f /q src\widget\entry.obj
del /q /f src\cursor\text.obj del /f /q src\widget\submenu.obj
del /q /f src\icon\info.obj del /f /q src\widget\image.obj
del /q /f src\icon\note.obj del /f /q src\widget\scrollbar.obj
del /q /f src\icon\warning.obj del /f /q src\widget\checkbox.obj
del /q /f src\icon\error.obj del /f /q src\widget\label.obj
del /q /f src\icon\news.obj del /f /q src\widget\numberentry.obj
del /q /f src\icon\question.obj del /f /q src\widget\viewport.obj
del /q /f src\backend\gdi.obj del /f /q src\backend\gdi.obj
del /q /f oosrc\base.obj del /f /q oosrc\base.obj
del /q /f oosrc\widget\button.obj del /f /q oosrc\widget\button.obj
del /q /f oosrc\widget\frame.obj del /f /q oosrc\widget\frame.obj
del /q /f oosrc\widget\image.obj del /f /q oosrc\widget\image.obj
del /q /f oosrc\widget\menu.obj del /f /q oosrc\widget\menu.obj
del /q /f oosrc\widget\opengl.obj del /f /q oosrc\widget\opengl.obj
del /q /f oosrc\widget\scrollbar.obj del /f /q oosrc\widget\scrollbar.obj
del /q /f oosrc\widget\submenu.obj del /f /q oosrc\widget\submenu.obj
del /q /f oosrc\widget\window.obj del /f /q oosrc\widget\window.obj
del /q /f oosrc\widget\checkbox.obj del /f /q oosrc\widget\checkbox.obj
del /q /f oosrc\widget\viewport.obj del /f /q oosrc\widget\viewport.obj
del /q /f oosrc\widget\label.obj del /f /q oosrc\widget\label.obj
del /q /f oosrc\widget\entry.obj del /f /q oosrc\widget\entry.obj
del /q /f oosrc\widget\numberentry.obj del /f /q oosrc\widget\numberentry.obj
del /q /f src\Mw.dll del /f /q src\Mw.dll
del /q /f src\Mw.lib del /f /q oosrc\MwOO.dll
del /q /f oosrc\MwOO.dll
del /q /f oosrc\MwOO.lib src\Mw.dll: 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\external\ds.obj src\external\image.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\cursor\default.obj src\cursor\cross.obj src\cursor\text.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\widget\viewport.obj src\backend\gdi.obj
$(LD) $(LDFLAGS) -e$@ 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\external\ds.obj src\external\image.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\cursor\default.obj src\cursor\cross.obj src\cursor\text.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\widget\viewport.obj src\backend\gdi.obj gdi32.lib user32.lib
oosrc\MwOO.dll: 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\viewport.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj
$(LD) $(LDFLAGS) -e$@ 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\viewport.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj src\Mw.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: .c.obj:
$(CC) $(CFLAGS) -c -o$@ $< $(CC) $(CFLAGS) -o$@ $<.cxx.obj:
.cc.obj: $(CXX) $(CXXFLAGS) -o$@ $<
$(CXX) -P $(CXXFLAGS) -c -o$@ $<

View File

@@ -1,30 +1,72 @@
# $Id$ # $Id$
CC = cl CC = cl /TC /c /nologo
LD = link CXX = cl /TP /c /nologo
LD = link /nologo
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\widget\viewport.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\viewport.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
LDFLAGS = /nologo /DLL /LIBPATH:src /LIBPATH:oosrc
CFLAGS = /Iinclude /D_MILSKO /DUSE_GDI /DUSE_STB_IMAGE /DSTBI_NO_SIMD
CXXFLAGS = /Iinclude
LDFLAGS = /DLL
.SUFFIXES: .c .cc .obj
all: src\Mw.dll oosrc\MwOO.dll all: src\Mw.dll oosrc\MwOO.dll
clean:
del /f /q src\core.obj
del /f /q src\draw.obj
del /f /q src\default.obj
del /f /q src\lowlevel.obj
del /f /q src\error.obj
del /f /q src\unicode.obj
del /f /q src\font.obj
del /f /q src\color.obj
del /f /q src\messagebox.obj
del /f /q src\boldfont.obj
del /f /q src\external\ds.obj
del /f /q src\external\image.obj
del /f /q src\icon\info.obj
del /f /q src\icon\note.obj
del /f /q src\icon\warning.obj
del /f /q src\icon\error.obj
del /f /q src\icon\news.obj
del /f /q src\icon\question.obj
del /f /q src\cursor\default.obj
del /f /q src\cursor\cross.obj
del /f /q src\cursor\text.obj
del /f /q src\widget\button.obj
del /f /q src\widget\frame.obj
del /f /q src\widget\opengl.obj
del /f /q src\widget\window.obj
del /f /q src\widget\menu.obj
del /f /q src\widget\entry.obj
del /f /q src\widget\submenu.obj
del /f /q src\widget\image.obj
del /f /q src\widget\scrollbar.obj
del /f /q src\widget\checkbox.obj
del /f /q src\widget\label.obj
del /f /q src\widget\numberentry.obj
del /f /q src\widget\viewport.obj
del /f /q src\backend\gdi.obj
del /f /q oosrc\base.obj
del /f /q oosrc\widget\button.obj
del /f /q oosrc\widget\frame.obj
del /f /q oosrc\widget\image.obj
del /f /q oosrc\widget\menu.obj
del /f /q oosrc\widget\opengl.obj
del /f /q oosrc\widget\scrollbar.obj
del /f /q oosrc\widget\submenu.obj
del /f /q oosrc\widget\window.obj
del /f /q oosrc\widget\checkbox.obj
del /f /q oosrc\widget\viewport.obj
del /f /q oosrc\widget\label.obj
del /f /q oosrc\widget\entry.obj
del /f /q oosrc\widget\numberentry.obj
del /f /q src\Mw.dll
del /f /q oosrc\MwOO.dll
.SUFFIXES: .cc .c .obj src\Mw.dll: 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\external\ds.obj src\external\image.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\cursor\default.obj src\cursor\cross.obj src\cursor\text.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\widget\viewport.obj src\backend\gdi.obj
$(LD) $(LDFLAGS) /OUT:$@ 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\external\ds.obj src\external\image.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\cursor\default.obj src\cursor\cross.obj src\cursor\text.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\widget\viewport.obj src\backend\gdi.obj gdi32.lib user32.lib
oosrc\MwOO.dll: 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\viewport.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj
$(LD) $(LDFLAGS) /OUT:$@ 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\viewport.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj src\Mw.lib
.c.obj: .c.obj:
$(CC) $(CFLAGS) /TC /c /Fo$@ $< $(CC) $(CFLAGS) /Fo$@ $<.cxx.obj:
$(CXX) $(CXXFLAGS) /Fo$@ $<
.cc.obj:
$(CC) $(CXXFLAGS) /TP /c /Fo$@ $<
src\Mw.dll: $(OBJS)
$(LD) $(LDFLAGS) /OUT:src\Mw.dll $(OBJS) gdi32.lib user32.lib
oosrc\MwOO.dll: $(OOOBJS)
$(LD) $(LDFLAGS) /OUT:oosrc\MwOO.dll $(OOOBJS) Mw.lib
clean:
del /q $(OBJS)
del /q $(OOOBJS)
del /q src\Mw.dll src\Mw.lib src\Mw.exp oosrc\MwOO.dll oosrc\MwOO.lib oosrc\MwOO.exp

View File

@@ -1,15 +1,12 @@
# $Id$ # $Id$
WATCOM = /usr/watcom CC = wcc386 -bt=nt -q
CC = wcc386 CXX = wpp386 -bt=nt -q
CXX = wpp386 LD = wlink
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/widget/viewport.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/viewport.obj oosrc/widget/label.obj oosrc/widget/entry.obj oosrc/widget/numberentry.obj
CFLAGS = -i=include -d_MILSKO -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD
CXXFLAGS = -i=include
LDFLAGS = system nt_dll
all: src/Mw.dll oosrc/MwOO.dll all: src/Mw.dll oosrc/MwOO.dll
clean: .SYMBOLIC clean: .SYMBOLIC
%erase src/core.obj %erase src/core.obj
%erase src/draw.obj %erase src/draw.obj
@@ -21,6 +18,17 @@ clean: .SYMBOLIC
%erase src/color.obj %erase src/color.obj
%erase src/messagebox.obj %erase src/messagebox.obj
%erase src/boldfont.obj %erase src/boldfont.obj
%erase src/external/ds.obj
%erase src/external/image.obj
%erase src/icon/info.obj
%erase src/icon/note.obj
%erase src/icon/warning.obj
%erase src/icon/error.obj
%erase src/icon/news.obj
%erase src/icon/question.obj
%erase src/cursor/default.obj
%erase src/cursor/cross.obj
%erase src/cursor/text.obj
%erase src/widget/button.obj %erase src/widget/button.obj
%erase src/widget/frame.obj %erase src/widget/frame.obj
%erase src/widget/opengl.obj %erase src/widget/opengl.obj
@@ -34,17 +42,6 @@ clean: .SYMBOLIC
%erase src/widget/label.obj %erase src/widget/label.obj
%erase src/widget/numberentry.obj %erase src/widget/numberentry.obj
%erase src/widget/viewport.obj %erase src/widget/viewport.obj
%erase src/external/ds.obj
%erase src/external/image.obj
%erase src/cursor/default.obj
%erase src/cursor/cross.obj
%erase src/cursor/text.obj
%erase src/icon/info.obj
%erase src/icon/note.obj
%erase src/icon/warning.obj
%erase src/icon/error.obj
%erase src/icon/news.obj
%erase src/icon/question.obj
%erase src/backend/gdi.obj %erase src/backend/gdi.obj
%erase oosrc/base.obj %erase oosrc/base.obj
%erase oosrc/widget/button.obj %erase oosrc/widget/button.obj
@@ -61,167 +58,110 @@ clean: .SYMBOLIC
%erase oosrc/widget/entry.obj %erase oosrc/widget/entry.obj
%erase oosrc/widget/numberentry.obj %erase oosrc/widget/numberentry.obj
%erase src/Mw.dll %erase src/Mw.dll
%erase src/Mw.lib
%erase oosrc/MwOO.dll %erase oosrc/MwOO.dll
%erase oosrc/MwOO.lib
oosrc/MwOO.dll: $(OOOBJS) src/Mw.dll src/Mw.dll: 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/external/ds.obj src/external/image.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/cursor/default.obj src/cursor/cross.obj src/cursor/text.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/widget/viewport.obj src/backend/gdi.obj
%write MwOO.lnk system nt_dll initinstance terminstance name oosrc/MwOO.dll $(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file src/core.obj file src/draw.obj file src/default.obj file src/lowlevel.obj file src/error.obj file src/unicode.obj file src/font.obj file src/color.obj file src/messagebox.obj file src/boldfont.obj file src/external/ds.obj file src/external/image.obj file src/icon/info.obj file src/icon/note.obj file src/icon/warning.obj file src/icon/error.obj file src/icon/news.obj file src/icon/question.obj file src/cursor/default.obj file src/cursor/cross.obj file src/cursor/text.obj file src/widget/button.obj file src/widget/frame.obj file src/widget/opengl.obj file src/widget/window.obj file src/widget/menu.obj file src/widget/entry.obj file src/widget/submenu.obj file src/widget/image.obj file src/widget/scrollbar.obj file src/widget/checkbox.obj file src/widget/label.obj file src/widget/numberentry.obj file src/widget/viewport.obj file src/backend/gdi.obj library clib3r.lib library gdi32.lib library user32.lib
%write MwOO.lnk option implib=oosrc/MwOO.lib
%write MwOO.lnk library src/Mw.lib oosrc/MwOO.dll: 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/viewport.obj oosrc/widget/label.obj oosrc/widget/entry.obj oosrc/widget/numberentry.obj
%write MwOO.lnk library clib3r.lib $(LD) $(LDFLAGS) option implib=oosrc/MwOO.lib name $@ file oosrc/base.obj file oosrc/widget/button.obj file oosrc/widget/frame.obj file oosrc/widget/image.obj file oosrc/widget/menu.obj file oosrc/widget/opengl.obj file oosrc/widget/scrollbar.obj file oosrc/widget/submenu.obj file oosrc/widget/window.obj file oosrc/widget/checkbox.obj file oosrc/widget/viewport.obj file oosrc/widget/label.obj file oosrc/widget/entry.obj file oosrc/widget/numberentry.obj library clib3r.lib library src/Mw.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/viewport.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
%write Mw.lnk library clib3r.lib
%write Mw.lnk file src/core.obj
%write Mw.lnk file src/draw.obj
%write Mw.lnk file src/default.obj
%write Mw.lnk file src/lowlevel.obj
%write Mw.lnk file src/error.obj
%write Mw.lnk file src/unicode.obj
%write Mw.lnk file src/font.obj
%write Mw.lnk file src/color.obj
%write Mw.lnk file src/messagebox.obj
%write Mw.lnk file src/boldfont.obj
%write Mw.lnk file src/widget/button.obj
%write Mw.lnk file src/widget/frame.obj
%write Mw.lnk file src/widget/opengl.obj
%write Mw.lnk file src/widget/window.obj
%write Mw.lnk file src/widget/menu.obj
%write Mw.lnk file src/widget/entry.obj
%write Mw.lnk file src/widget/submenu.obj
%write Mw.lnk file src/widget/image.obj
%write Mw.lnk file src/widget/scrollbar.obj
%write Mw.lnk file src/widget/checkbox.obj
%write Mw.lnk file src/widget/label.obj
%write Mw.lnk file src/widget/numberentry.obj
%write Mw.lnk file src/widget/viewport.obj
%write Mw.lnk file src/external/ds.obj
%write Mw.lnk file src/external/image.obj
%write Mw.lnk file src/cursor/default.obj
%write Mw.lnk file src/cursor/cross.obj
%write Mw.lnk file src/cursor/text.obj
%write Mw.lnk file src/icon/info.obj
%write Mw.lnk file src/icon/note.obj
%write Mw.lnk file src/icon/warning.obj
%write Mw.lnk file src/icon/error.obj
%write Mw.lnk file src/icon/news.obj
%write Mw.lnk file src/icon/question.obj
%write Mw.lnk file src/backend/gdi.obj
wlink @Mw.lnk
%erase Mw.lnk
src/core.obj: src/core.c src/core.obj: src/core.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/core.c $(CC) $(CFLAGS) -fo=$@ $<
src/draw.obj: src/draw.c src/draw.obj: src/draw.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/draw.c $(CC) $(CFLAGS) -fo=$@ $<
src/default.obj: src/default.c src/default.obj: src/default.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/default.c $(CC) $(CFLAGS) -fo=$@ $<
src/lowlevel.obj: src/lowlevel.c src/lowlevel.obj: src/lowlevel.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/lowlevel.c $(CC) $(CFLAGS) -fo=$@ $<
src/error.obj: src/error.c src/error.obj: src/error.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/error.c $(CC) $(CFLAGS) -fo=$@ $<
src/unicode.obj: src/unicode.c src/unicode.obj: src/unicode.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/unicode.c $(CC) $(CFLAGS) -fo=$@ $<
src/font.obj: src/font.c src/font.obj: src/font.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/font.c $(CC) $(CFLAGS) -fo=$@ $<
src/color.obj: src/color.c src/color.obj: src/color.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/color.c $(CC) $(CFLAGS) -fo=$@ $<
src/messagebox.obj: src/messagebox.c src/messagebox.obj: src/messagebox.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/messagebox.c $(CC) $(CFLAGS) -fo=$@ $<
src/boldfont.obj: src/boldfont.c src/boldfont.obj: src/boldfont.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/boldfont.c $(CC) $(CFLAGS) -fo=$@ $<
src/widget/button.obj: 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=$@ src/widget/frame.c
src/widget/opengl.obj: 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=$@ src/widget/window.c
src/widget/menu.obj: 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=$@ src/widget/entry.c
src/widget/submenu.obj: 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=$@ src/widget/image.c
src/widget/scrollbar.obj: 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=$@ src/widget/checkbox.c
src/widget/label.obj: 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=$@ src/widget/numberentry.c
src/widget/viewport.obj: src/widget/viewport.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/viewport.c
src/external/ds.obj: src/external/ds.c src/external/ds.obj: src/external/ds.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/external/ds.c $(CC) $(CFLAGS) -fo=$@ $<
src/external/image.obj: src/external/image.c src/external/image.obj: src/external/image.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/external/image.c $(CC) $(CFLAGS) -fo=$@ $<
src/cursor/default.obj: 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=$@ src/cursor/cross.c
src/cursor/text.obj: src/cursor/text.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/cursor/text.c
src/icon/info.obj: src/icon/info.c src/icon/info.obj: src/icon/info.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/info.c $(CC) $(CFLAGS) -fo=$@ $<
src/icon/note.obj: src/icon/note.c src/icon/note.obj: src/icon/note.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/note.c $(CC) $(CFLAGS) -fo=$@ $<
src/icon/warning.obj: src/icon/warning.c src/icon/warning.obj: src/icon/warning.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/warning.c $(CC) $(CFLAGS) -fo=$@ $<
src/icon/error.obj: src/icon/error.c src/icon/error.obj: src/icon/error.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/error.c $(CC) $(CFLAGS) -fo=$@ $<
src/icon/news.obj: src/icon/news.c src/icon/news.obj: src/icon/news.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/news.c $(CC) $(CFLAGS) -fo=$@ $<
src/icon/question.obj: src/icon/question.c src/icon/question.obj: src/icon/question.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/question.c $(CC) $(CFLAGS) -fo=$@ $<
src/cursor/default.obj: src/cursor/default.c
$(CC) $(CFLAGS) -fo=$@ $<
src/cursor/cross.obj: src/cursor/cross.c
$(CC) $(CFLAGS) -fo=$@ $<
src/cursor/text.obj: src/cursor/text.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/button.obj: src/widget/button.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/frame.obj: src/widget/frame.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/opengl.obj: src/widget/opengl.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/window.obj: src/widget/window.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/menu.obj: src/widget/menu.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/entry.obj: src/widget/entry.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/submenu.obj: src/widget/submenu.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/image.obj: src/widget/image.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/scrollbar.obj: src/widget/scrollbar.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/checkbox.obj: src/widget/checkbox.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/label.obj: src/widget/label.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/numberentry.obj: src/widget/numberentry.c
$(CC) $(CFLAGS) -fo=$@ $<
src/widget/viewport.obj: src/widget/viewport.c
$(CC) $(CFLAGS) -fo=$@ $<
src/backend/gdi.obj: src/backend/gdi.c src/backend/gdi.obj: src/backend/gdi.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/backend/gdi.c $(CC) $(CFLAGS) -fo=$@ $<
oosrc/base.obj: oosrc/base.cc oosrc/base.obj: oosrc/base.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/base.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/button.obj: oosrc/widget/button.cc oosrc/widget/button.obj: oosrc/widget/button.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/button.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/frame.obj: oosrc/widget/frame.cc oosrc/widget/frame.obj: oosrc/widget/frame.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/frame.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/image.obj: oosrc/widget/image.cc oosrc/widget/image.obj: oosrc/widget/image.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/image.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/menu.obj: oosrc/widget/menu.cc oosrc/widget/menu.obj: oosrc/widget/menu.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/menu.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/opengl.obj: oosrc/widget/opengl.cc oosrc/widget/opengl.obj: oosrc/widget/opengl.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/opengl.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/scrollbar.obj: oosrc/widget/scrollbar.cc oosrc/widget/scrollbar.obj: oosrc/widget/scrollbar.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/scrollbar.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/submenu.obj: oosrc/widget/submenu.cc oosrc/widget/submenu.obj: oosrc/widget/submenu.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/submenu.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/window.obj: oosrc/widget/window.cc oosrc/widget/window.obj: oosrc/widget/window.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/window.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/checkbox.obj: oosrc/widget/checkbox.cc oosrc/widget/checkbox.obj: oosrc/widget/checkbox.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/checkbox.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/viewport.obj: oosrc/widget/viewport.cc oosrc/widget/viewport.obj: oosrc/widget/viewport.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/viewport.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/label.obj: oosrc/widget/label.cc oosrc/widget/label.obj: oosrc/widget/label.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/label.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/entry.obj: oosrc/widget/entry.cc oosrc/widget/entry.obj: oosrc/widget/entry.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/entry.cc $(CXX) $(CXXFLAGS) -fo=$@ $<
oosrc/widget/numberentry.obj: oosrc/widget/numberentry.cc oosrc/widget/numberentry.obj: oosrc/widget/numberentry.cc
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/numberentry.cc $(CXX) $(CXXFLAGS) -fo=$@ $<

View File

@@ -1,80 +0,0 @@
#!/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);

186
tools/genmk.pl Executable file
View File

@@ -0,0 +1,186 @@
#!/usr/bin/env perl
# $Id$
my @cfiles = ();
my @cxxfiles = ();
sub scan {
opendir(DIR, $_[0]);
my @files = readdir(DIR);
foreach my $f (@files){
if($f =~ /^vulkan\.cc?$/){
next;
}
if($f =~ /\.c$/){
push(@cfiles, $_[0] . "/" . $f);
}elsif($f =~ /\.cc$/){
push(@cxxfiles, $_[0] . "/" . $f);
}
}
closedir(DIR);
}
sub cobjs {
my $r = "";
foreach my $f (@cfiles){
my $b = $f;
$b =~ s/\.cc?$/.obj/;
$b =~ s/\//$_[0]/g;
$r = $r . " " . $_[1] . $b;
}
return $r;
}
sub cxxobjs {
my $r = "";
foreach my $f (@cxxfiles){
my $b = $f;
$b =~ s/\.cc?$/.obj/;
$b =~ s/\//$_[0]/g;
$r = $r . " " . $_[1] . $b;
}
return $r;
}
sub generate {
my ($output, $type) = @_;
my $cc = "";
my $cxx = "";
my $link = "";
my $suffix = 1;
my $symbolic = "";
my $dir = "\\";
my $del = "del /f /q";
my $out = "";
my $dllout = "";
my $def = "";
my $inc = "";
my $dll = "";
my $prefobj = "";
my $needlibs = "";
my $lib = "";
my $c_dllout = "";
my $cxx_dllout = "";
my $c_dllafter = "";
my $cxx_dllafter = "";
if($type eq "Borland"){
$cc = "bcc32 -c";
$cxx = "bcc32 -c -P";
$link = "bcc32";
$out = "-o";
$dllout = "-e";
$def = "-D";
$inc = "-I";
$dll = "-tWD";
$c_dllafter = "implib src${dir}Mw.lib src${dir}Mw.dll";
$cxx_dllafter = "implib oosrc${dir}MwOO.lib oosrc${dir}MwOO.dll";
}elsif($type eq "MSVC"){
$cc = "cl /TC /c /nologo";
$cxx = "cl /TP /c /nologo";
$link = "link /nologo";
$out = "/Fo";
$dllout = "/OUT:";
$def = "/D";
$inc = "/I";
$dll = "/DLL";
}elsif($type eq "Watcom"){
$cc = "wcc386 -bt=nt -q";
$cxx = "wpp386 -bt=nt -q";
$link = "wlink";
$out = "-fo=";
$dllout = "name ";
$def = "-d";
$inc = "-i=";
$dll = "system nt_dll";
$lib = "library ";
$suffix = 0; # is watcom make broken with suffix rule
$symbolic = ".SYMBOLIC";
$dir = "/";
$del = "%erase";
$prefobj = "file ";
$needlibs = "${lib}clib3r.lib";
$c_dllout = "option implib=src${dir}Mw.lib";
$cxx_dllout = "option implib=oosrc${dir}MwOO.lib";
}
open(OUT, ">", $output);
print(OUT "# \$Id\$\n");
print(OUT "CC = $cc\n");
print(OUT "CXX = $cxx\n");
print(OUT "LD = $link\n");
print(OUT "\n");
print(OUT "CFLAGS = ${inc}include ${def}_MILSKO ${def}USE_GDI ${def}USE_STB_IMAGE ${def}STBI_NO_SIMD\n");
print(OUT "CXXFLAGS = ${inc}include\n");
print(OUT "LDFLAGS = $dll");
print(OUT "\n");
if($suffix){
print(OUT ".SUFFIXES: .c .cc .obj\n");
}
print(OUT "all: src${dir}Mw.dll oosrc${dir}MwOO.dll\n");
print(OUT "clean: $symbolic\n");
foreach my $f (@cfiles){
my $b = $f;
$b =~ s/\.cc?$/.obj/;
$b =~ s/\//$dir/g;
print(OUT " $del $b\n");
}
foreach my $f (@cxxfiles){
my $b = $f;
$b =~ s/\.cc?$/.obj/;
$b =~ s/\//$dir/g;
print(OUT " $del $b\n");
}
print(OUT " $del src${dir}Mw.dll\n");
print(OUT " $del oosrc${dir}MwOO.dll\n");
print(OUT "\n");
print(OUT "src${dir}Mw.dll: " . cobjs($dir) . "\n");
print(OUT " \$(LD) \$(LDFLAGS) $c_dllout $dllout\$@ " . cobjs($dir, $prefobj) . " $needlibs ${lib}gdi32.lib ${lib}user32.lib\n");
print(OUT " $c_dllafter\n");
print(OUT "\n");
print(OUT "oosrc${dir}MwOO.dll: " . cxxobjs($dir) . "\n");
print(OUT " \$(LD) \$(LDFLAGS) $cxx_dllout $dllout\$@ " . cxxobjs($dir, $prefobj) . " $needlibs ${lib}src${dir}Mw.lib\n");
print(OUT " $cxx_dllafter\n");
print(OUT "\n");
if($suffix){
print(OUT ".c.obj:\n");
print(OUT " \$(CC) \$(CFLAGS) ${out}\$@ \$<");
print(OUT ".cxx.obj:\n");
print(OUT " \$(CXX) \$(CXXFLAGS) ${out}\$@ \$<\n");
}else{
print(OUT "\n");
foreach my $f (@cfiles){
my $o = $f;
$o =~ s/\.cc?$/.obj/;
print(OUT "$o: $f\n");
print(OUT " \$(CC) \$(CFLAGS) ${out}\$@ \$<\n");
}
foreach my $f (@cxxfiles){
my $o = $f;
$o =~ s/\.cc?$/.obj/;
print(OUT "$o: $f\n");
print(OUT " \$(CXX) \$(CXXFLAGS) ${out}\$@ \$<\n");
}
}
close(OUT);
}
scan("src");
scan("src/external");
scan("src/icon");
scan("src/cursor");
scan("src/widget");
push(@cfiles, "src/backend/gdi.c");
scan("oosrc");
scan("oosrc/widget");
generate("BorMakefile", "Borland");
generate("NTMakefile", "MSVC");
generate("WatMakefile", "Watcom");

View File

@@ -1,63 +0,0 @@
#!/usr/bin/env perl
# $Id$
sub scan {
opendir(DIR, $_[0]);
my @files = readdir(DIR);
foreach my $f (@files) {
if (!($f =~ /^vulkan\.cc?$/) && ($f =~ /\.cc?$/)) {
$f =~ s/\.cc?$/.obj/g;
my $p = $_[0] . "/" . $f;
$p =~ s/\//\\/g;
print(OUT " $p");
}
}
closedir(DIR);
}
open(OUT, ">", "NTMakefile");
print(OUT "# \$Id\$\n");
print(OUT "CC = cl\n");
print(OUT "LD = link\n");
print(OUT "\n");
print(OUT "OBJS =");
scan("src");
scan("src/widget");
scan("src/external");
scan("src/cursor");
scan("src/icon");
print(OUT " src\\backend\\gdi.obj\n");
print(OUT "OOOBJS =");
scan("oosrc");
scan("oosrc/widget");
print(OUT "\n");
print(OUT
"CFLAGS = /nologo /DSTBI_NO_SIMD /D_MILSKO /DUSE_GDI /DUSE_STB_IMAGE /Iinclude\n"
);
print(OUT "CXXFLAGS = /nologo /Iinclude\n");
print(OUT "LDFLAGS = /nologo /DLL /LIBPATH:src /LIBPATH:oosrc\n");
print(OUT "\n");
print(OUT "all: src\\Mw.dll oosrc\\MwOO.dll\n");
print(OUT "\n");
print(OUT ".SUFFIXES: .cc .c .obj\n");
print(OUT "\n");
print(OUT ".c.obj:\n");
print(OUT "\t\$(CC) \$(CFLAGS) /TC /c /Fo\$@ \$<\n");
print(OUT "\n");
print(OUT ".cc.obj:\n");
print(OUT "\t\$(CC) \$(CXXFLAGS) /TP /c /Fo\$@ \$<\n");
print(OUT "\n");
print(OUT "src\\Mw.dll: \$(OBJS)\n");
print(OUT
"\t\$(LD) \$(LDFLAGS) /OUT:src\\Mw.dll \$(OBJS) gdi32.lib user32.lib\n");
print(OUT "\n");
print(OUT "oosrc\\MwOO.dll: \$(OOOBJS)\n");
print(OUT "\t\$(LD) \$(LDFLAGS) /OUT:oosrc\\MwOO.dll \$(OOOBJS) Mw.lib\n");
print(OUT "\n");
print(OUT "clean:\n");
print(OUT "\tdel /q \$(OBJS)\n");
print(OUT "\tdel /q \$(OOOBJS)\n");
print(OUT
"\tdel /q src\\Mw.dll src\\Mw.lib src\\Mw.exp oosrc\\MwOO.dll oosrc\\MwOO.lib oosrc\\MwOO.exp\n"
);
close(OUT);

View File

@@ -1,111 +0,0 @@
#!/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?$/)) {
push(@sources, $_[0] . "/" . $f);
$f =~ s/\.cc?$/.obj/g;
my $p = $_[0] . "/" . $f;
print(OUT " $p");
}
}
closedir(DIR);
}
open(OUT, ">", "WatMakefile");
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 -i=include\n"
);
print(OUT "CXXFLAGS = -q -i=include -i=\$(WATCOM)/h/nt\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 "clean: .SYMBOLIC\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 option implib=src/Mw.lib\n");
print(OUT " %write Mw.lnk library clib3r.lib\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 (@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);