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

View File

@@ -1,30 +1,72 @@
# $Id$
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\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
CC = cl /TC /c /nologo
CXX = cl /TP /c /nologo
LD = link /nologo
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
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:
$(CC) $(CFLAGS) /TC /c /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
$(CC) $(CFLAGS) /Fo$@ $<.cxx.obj:
$(CXX) $(CXXFLAGS) /Fo$@ $<

View File

@@ -1,15 +1,12 @@
# $Id$
WATCOM = /usr/watcom
CC = wcc386
CXX = wpp386
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
CC = wcc386 -bt=nt -q
CXX = wpp386 -bt=nt -q
LD = wlink
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
clean: .SYMBOLIC
%erase src/core.obj
%erase src/draw.obj
@@ -21,6 +18,17 @@ clean: .SYMBOLIC
%erase src/color.obj
%erase src/messagebox.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/frame.obj
%erase src/widget/opengl.obj
@@ -34,17 +42,6 @@ clean: .SYMBOLIC
%erase src/widget/label.obj
%erase src/widget/numberentry.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 oosrc/base.obj
%erase oosrc/widget/button.obj
@@ -61,167 +58,110 @@ clean: .SYMBOLIC
%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/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/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) 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
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) 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
src/core.obj: src/core.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/core.c
$(CC) $(CFLAGS) -fo=$@ $<
src/draw.obj: src/draw.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/draw.c
$(CC) $(CFLAGS) -fo=$@ $<
src/default.obj: src/default.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/default.c
$(CC) $(CFLAGS) -fo=$@ $<
src/lowlevel.obj: src/lowlevel.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/lowlevel.c
$(CC) $(CFLAGS) -fo=$@ $<
src/error.obj: src/error.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/error.c
$(CC) $(CFLAGS) -fo=$@ $<
src/unicode.obj: src/unicode.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/unicode.c
$(CC) $(CFLAGS) -fo=$@ $<
src/font.obj: src/font.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/font.c
$(CC) $(CFLAGS) -fo=$@ $<
src/color.obj: src/color.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/color.c
$(CC) $(CFLAGS) -fo=$@ $<
src/messagebox.obj: src/messagebox.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/messagebox.c
$(CC) $(CFLAGS) -fo=$@ $<
src/boldfont.obj: src/boldfont.c
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/boldfont.c
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
$(CC) $(CFLAGS) -fo=$@ $<
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
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/external/image.c
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
$(CC) $(CFLAGS) -fo=$@ $<
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
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/note.c
$(CC) $(CFLAGS) -fo=$@ $<
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
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/error.c
$(CC) $(CFLAGS) -fo=$@ $<
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
$(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
$(CC) $(CFLAGS) -bt=nt -fo=$@ src/backend/gdi.c
$(CC) $(CFLAGS) -fo=$@ $<
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
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/button.cc
$(CXX) $(CXXFLAGS) -fo=$@ $<
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
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/image.cc
$(CXX) $(CXXFLAGS) -fo=$@ $<
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
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/opengl.cc
$(CXX) $(CXXFLAGS) -fo=$@ $<
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
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/submenu.cc
$(CXX) $(CXXFLAGS) -fo=$@ $<
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
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/checkbox.cc
$(CXX) $(CXXFLAGS) -fo=$@ $<
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
$(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/label.cc
$(CXX) $(CXXFLAGS) -fo=$@ $<
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
$(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);