diff --git a/BorMakefile b/BorMakefile index 617ecb1..f032722 100644 --- a/BorMakefile +++ b/BorMakefile @@ -7,71 +7,70 @@ LDFLAGS = -tWD .SUFFIXES: .obj .c all: src\Mw.dll clean: - del /f /q src\default.obj - del /f /q src\lowlevel.obj - del /f /q src\color.obj - del /f /q src\directory.obj del /f /q src\core.obj del /f /q src\text.obj + del /f /q src\string.obj + del /f /q src\draw.obj + del /f /q src\default.obj + del /f /q src\filechooser.obj + del /f /q src\lowlevel.obj del /f /q src\error.obj del /f /q src\unicode.obj + del /f /q src\color.obj + del /f /q src\directory.obj del /f /q src\messagebox.obj - del /f /q src\string.obj - del /f /q src\filechooser.obj - del /f /q src\draw.obj del /f /q external\stb_ds.obj del /f /q external\stb_image.obj del /f /q external\stb_truetype.obj - del /f /q src\icon\error.obj del /f /q src\icon\info.obj - del /f /q src\icon\news.obj del /f /q src\icon\note.obj del /f /q src\icon\warning.obj - del /f /q src\icon\file.obj + del /f /q src\icon\error.obj + del /f /q src\icon\news.obj del /f /q src\icon\directory.obj + del /f /q src\icon\file.obj del /f /q src\icon\back.obj del /f /q src\icon\forward.obj - del /f /q src\icon\computer.obj del /f /q src\icon\up.obj + del /f /q src\icon\computer.obj del /f /q src\icon\search.obj del /f /q src\icon\down.obj del /f /q src\icon\left.obj del /f /q src\icon\right.obj - del /f /q src\cursor\cross.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\cursor\hidden.obj del /f /q src\widget\button.obj del /f /q src\widget\frame.obj - del /f /q src\widget\window.obj - del /f /q src\widget\entry.obj - del /f /q src\widget\label.obj del /f /q src\widget\opengl.obj - del /f /q src\widget\radiobox.obj - del /f /q src\widget\submenu.obj + del /f /q src\widget\window.obj del /f /q src\widget\menu.obj - del /f /q src\widget\image.obj + del /f /q src\widget\entry.obj + del /f /q src\widget\submenu.obj del /f /q src\widget\viewport.obj - del /f /q src\widget\listbox.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\listbox.obj del /f /q src\widget\numberentry.obj del /f /q src\widget\progressbar.obj - del /f /q src\font\boldfont.obj + del /f /q src\widget\radiobox.obj del /f /q src\font\boldttf.obj - del /f /q src\font\font.obj del /f /q src\font\ttf.obj - del /f /q src\math\mmx_guard.obj + del /f /q src\font\boldfont.obj + del /f /q src\font\font.obj del /f /q src\math\default.obj - del /f /q src\math\nbsd_pow.obj - del /f /q src\math\mmx.obj del /f /q src\math\math.obj + del /f /q src\math\mmx.obj + del /f /q src\math\nbsd_pow.obj del /f /q src\color_picker\color_picker.obj del /f /q src\backend\gdi.obj del /f /q src\Mw.dll -src\Mw.dll: src\default.obj src\lowlevel.obj src\color.obj src\directory.obj src\core.obj src\text.obj src\error.obj src\unicode.obj src\messagebox.obj src\string.obj src\filechooser.obj src\draw.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\error.obj src\icon\info.obj src\icon\news.obj src\icon\note.obj src\icon\warning.obj src\icon\file.obj src\icon\directory.obj src\icon\back.obj src\icon\forward.obj src\icon\computer.obj src\icon\up.obj src\icon\search.obj src\icon\down.obj src\icon\left.obj src\icon\right.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\text.obj src\cursor\hidden.obj src\widget\button.obj src\widget\frame.obj src\widget\window.obj src\widget\entry.obj src\widget\label.obj src\widget\opengl.obj src\widget\radiobox.obj src\widget\submenu.obj src\widget\menu.obj src\widget\image.obj src\widget\viewport.obj src\widget\listbox.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\numberentry.obj src\widget\progressbar.obj src\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.obj src\math\mmx_guard.obj src\math\default.obj src\math\nbsd_pow.obj src\math\mmx.obj src\math\math.obj src\color_picker\color_picker.obj src\backend\gdi.obj - $(LD) $(LDFLAGS) -e$@ src\default.obj src\lowlevel.obj src\color.obj src\directory.obj src\core.obj src\text.obj src\error.obj src\unicode.obj src\messagebox.obj src\string.obj src\filechooser.obj src\draw.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\error.obj src\icon\info.obj src\icon\news.obj src\icon\note.obj src\icon\warning.obj src\icon\file.obj src\icon\directory.obj src\icon\back.obj src\icon\forward.obj src\icon\computer.obj src\icon\up.obj src\icon\search.obj src\icon\down.obj src\icon\left.obj src\icon\right.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\text.obj src\cursor\hidden.obj src\widget\button.obj src\widget\frame.obj src\widget\window.obj src\widget\entry.obj src\widget\label.obj src\widget\opengl.obj src\widget\radiobox.obj src\widget\submenu.obj src\widget\menu.obj src\widget\image.obj src\widget\viewport.obj src\widget\listbox.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\numberentry.obj src\widget\progressbar.obj src\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.obj src\math\mmx_guard.obj src\math\default.obj src\math\nbsd_pow.obj src\math\mmx.obj src\math\math.obj src\color_picker\color_picker.obj src\backend\gdi.obj -lopengl32.lib -lgdi32.lib -luser32.lib +src\Mw.dll: src\core.obj src\text.obj src\string.obj src\draw.obj src\default.obj src\filechooser.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj src\directory.obj src\messagebox.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\icon\down.obj src\icon\left.obj src\icon\right.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\math\default.obj src\math\math.obj src\math\mmx.obj src\math\nbsd_pow.obj src\color_picker\color_picker.obj src\backend\gdi.obj + $(LD) $(LDFLAGS) -e$@ src\core.obj src\text.obj src\string.obj src\draw.obj src\default.obj src\filechooser.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj src\directory.obj src\messagebox.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\icon\down.obj src\icon\left.obj src\icon\right.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\math\default.obj src\math\math.obj src\math\mmx.obj src\math\nbsd_pow.obj src\color_picker\color_picker.obj src\backend\gdi.obj -lopengl32.lib -lgdi32.lib -luser32.lib implib src\Mw.lib src\Mw.dll .c.obj: diff --git a/NTMakefile b/NTMakefile index e02f827..b402e80 100644 --- a/NTMakefile +++ b/NTMakefile @@ -7,71 +7,70 @@ LDFLAGS = /DLL .SUFFIXES: .obj .c all: src\Mw.dll clean: - del /f /q src\default.obj - del /f /q src\lowlevel.obj - del /f /q src\color.obj - del /f /q src\directory.obj del /f /q src\core.obj del /f /q src\text.obj + del /f /q src\string.obj + del /f /q src\draw.obj + del /f /q src\default.obj + del /f /q src\filechooser.obj + del /f /q src\lowlevel.obj del /f /q src\error.obj del /f /q src\unicode.obj + del /f /q src\color.obj + del /f /q src\directory.obj del /f /q src\messagebox.obj - del /f /q src\string.obj - del /f /q src\filechooser.obj - del /f /q src\draw.obj del /f /q external\stb_ds.obj del /f /q external\stb_image.obj del /f /q external\stb_truetype.obj - del /f /q src\icon\error.obj del /f /q src\icon\info.obj - del /f /q src\icon\news.obj del /f /q src\icon\note.obj del /f /q src\icon\warning.obj - del /f /q src\icon\file.obj + del /f /q src\icon\error.obj + del /f /q src\icon\news.obj del /f /q src\icon\directory.obj + del /f /q src\icon\file.obj del /f /q src\icon\back.obj del /f /q src\icon\forward.obj - del /f /q src\icon\computer.obj del /f /q src\icon\up.obj + del /f /q src\icon\computer.obj del /f /q src\icon\search.obj del /f /q src\icon\down.obj del /f /q src\icon\left.obj del /f /q src\icon\right.obj - del /f /q src\cursor\cross.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\cursor\hidden.obj del /f /q src\widget\button.obj del /f /q src\widget\frame.obj - del /f /q src\widget\window.obj - del /f /q src\widget\entry.obj - del /f /q src\widget\label.obj del /f /q src\widget\opengl.obj - del /f /q src\widget\radiobox.obj - del /f /q src\widget\submenu.obj + del /f /q src\widget\window.obj del /f /q src\widget\menu.obj - del /f /q src\widget\image.obj + del /f /q src\widget\entry.obj + del /f /q src\widget\submenu.obj del /f /q src\widget\viewport.obj - del /f /q src\widget\listbox.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\listbox.obj del /f /q src\widget\numberentry.obj del /f /q src\widget\progressbar.obj - del /f /q src\font\boldfont.obj + del /f /q src\widget\radiobox.obj del /f /q src\font\boldttf.obj - del /f /q src\font\font.obj del /f /q src\font\ttf.obj - del /f /q src\math\mmx_guard.obj + del /f /q src\font\boldfont.obj + del /f /q src\font\font.obj del /f /q src\math\default.obj - del /f /q src\math\nbsd_pow.obj - del /f /q src\math\mmx.obj del /f /q src\math\math.obj + del /f /q src\math\mmx.obj + del /f /q src\math\nbsd_pow.obj del /f /q src\color_picker\color_picker.obj del /f /q src\backend\gdi.obj del /f /q src\Mw.dll -src\Mw.dll: src\default.obj src\lowlevel.obj src\color.obj src\directory.obj src\core.obj src\text.obj src\error.obj src\unicode.obj src\messagebox.obj src\string.obj src\filechooser.obj src\draw.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\error.obj src\icon\info.obj src\icon\news.obj src\icon\note.obj src\icon\warning.obj src\icon\file.obj src\icon\directory.obj src\icon\back.obj src\icon\forward.obj src\icon\computer.obj src\icon\up.obj src\icon\search.obj src\icon\down.obj src\icon\left.obj src\icon\right.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\text.obj src\cursor\hidden.obj src\widget\button.obj src\widget\frame.obj src\widget\window.obj src\widget\entry.obj src\widget\label.obj src\widget\opengl.obj src\widget\radiobox.obj src\widget\submenu.obj src\widget\menu.obj src\widget\image.obj src\widget\viewport.obj src\widget\listbox.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\numberentry.obj src\widget\progressbar.obj src\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.obj src\math\mmx_guard.obj src\math\default.obj src\math\nbsd_pow.obj src\math\mmx.obj src\math\math.obj src\color_picker\color_picker.obj src\backend\gdi.obj - $(LD) $(LDFLAGS) /OUT:$@ src\default.obj src\lowlevel.obj src\color.obj src\directory.obj src\core.obj src\text.obj src\error.obj src\unicode.obj src\messagebox.obj src\string.obj src\filechooser.obj src\draw.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\error.obj src\icon\info.obj src\icon\news.obj src\icon\note.obj src\icon\warning.obj src\icon\file.obj src\icon\directory.obj src\icon\back.obj src\icon\forward.obj src\icon\computer.obj src\icon\up.obj src\icon\search.obj src\icon\down.obj src\icon\left.obj src\icon\right.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\text.obj src\cursor\hidden.obj src\widget\button.obj src\widget\frame.obj src\widget\window.obj src\widget\entry.obj src\widget\label.obj src\widget\opengl.obj src\widget\radiobox.obj src\widget\submenu.obj src\widget\menu.obj src\widget\image.obj src\widget\viewport.obj src\widget\listbox.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\numberentry.obj src\widget\progressbar.obj src\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.obj src\math\mmx_guard.obj src\math\default.obj src\math\nbsd_pow.obj src\math\mmx.obj src\math\math.obj src\color_picker\color_picker.obj src\backend\gdi.obj opengl32.lib gdi32.lib user32.lib +src\Mw.dll: src\core.obj src\text.obj src\string.obj src\draw.obj src\default.obj src\filechooser.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj src\directory.obj src\messagebox.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\icon\down.obj src\icon\left.obj src\icon\right.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\math\default.obj src\math\math.obj src\math\mmx.obj src\math\nbsd_pow.obj src\color_picker\color_picker.obj src\backend\gdi.obj + $(LD) $(LDFLAGS) /OUT:$@ src\core.obj src\text.obj src\string.obj src\draw.obj src\default.obj src\filechooser.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj src\directory.obj src\messagebox.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\icon\down.obj src\icon\left.obj src\icon\right.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\math\default.obj src\math\math.obj src\math\mmx.obj src\math\nbsd_pow.obj src\color_picker\color_picker.obj src\backend\gdi.obj opengl32.lib gdi32.lib user32.lib .c.obj: diff --git a/WatMakefile b/WatMakefile index c3d95f8..e909701 100644 --- a/WatMakefile +++ b/WatMakefile @@ -1,131 +1,130 @@ # $Id$ -CC = wcc386 -bt=nt -q +CC = wcc386 -bt=nt -q -bd LD = wlink option quiet CFLAGS = -i=include -d_MILSKO -dUSE_GDI -dUSE_STB_TRUETYPE -dUSE_STB_IMAGE -dSTBI_NO_SIMD LDFLAGS = system nt_dll all: src/Mw.dll clean: .SYMBOLIC - %erase src/default.obj - %erase src/lowlevel.obj - %erase src/color.obj - %erase src/directory.obj %erase src/core.obj %erase src/text.obj + %erase src/string.obj + %erase src/draw.obj + %erase src/default.obj + %erase src/filechooser.obj + %erase src/lowlevel.obj %erase src/error.obj %erase src/unicode.obj + %erase src/color.obj + %erase src/directory.obj %erase src/messagebox.obj - %erase src/string.obj - %erase src/filechooser.obj - %erase src/draw.obj %erase external/stb_ds.obj %erase external/stb_image.obj %erase external/stb_truetype.obj - %erase src/icon/error.obj %erase src/icon/info.obj - %erase src/icon/news.obj %erase src/icon/note.obj %erase src/icon/warning.obj - %erase src/icon/file.obj + %erase src/icon/error.obj + %erase src/icon/news.obj %erase src/icon/directory.obj + %erase src/icon/file.obj %erase src/icon/back.obj %erase src/icon/forward.obj - %erase src/icon/computer.obj %erase src/icon/up.obj + %erase src/icon/computer.obj %erase src/icon/search.obj %erase src/icon/down.obj %erase src/icon/left.obj %erase src/icon/right.obj - %erase src/cursor/cross.obj %erase src/cursor/default.obj + %erase src/cursor/cross.obj %erase src/cursor/text.obj %erase src/cursor/hidden.obj %erase src/widget/button.obj %erase src/widget/frame.obj - %erase src/widget/window.obj - %erase src/widget/entry.obj - %erase src/widget/label.obj %erase src/widget/opengl.obj - %erase src/widget/radiobox.obj - %erase src/widget/submenu.obj + %erase src/widget/window.obj %erase src/widget/menu.obj - %erase src/widget/image.obj + %erase src/widget/entry.obj + %erase src/widget/submenu.obj %erase src/widget/viewport.obj - %erase src/widget/listbox.obj + %erase src/widget/image.obj %erase src/widget/scrollbar.obj %erase src/widget/checkbox.obj + %erase src/widget/label.obj + %erase src/widget/listbox.obj %erase src/widget/numberentry.obj %erase src/widget/progressbar.obj - %erase src/font/boldfont.obj + %erase src/widget/radiobox.obj %erase src/font/boldttf.obj - %erase src/font/font.obj %erase src/font/ttf.obj - %erase src/math/mmx_guard.obj + %erase src/font/boldfont.obj + %erase src/font/font.obj %erase src/math/default.obj - %erase src/math/nbsd_pow.obj - %erase src/math/mmx.obj %erase src/math/math.obj + %erase src/math/mmx.obj + %erase src/math/nbsd_pow.obj %erase src/color_picker/color_picker.obj %erase src/backend/gdi.obj %erase src/Mw.dll -src/Mw.dll: src/default.obj src/lowlevel.obj src/color.obj src/directory.obj src/core.obj src/text.obj src/error.obj src/unicode.obj src/messagebox.obj src/string.obj src/filechooser.obj src/draw.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/icon/error.obj src/icon/info.obj src/icon/news.obj src/icon/note.obj src/icon/warning.obj src/icon/file.obj src/icon/directory.obj src/icon/back.obj src/icon/forward.obj src/icon/computer.obj src/icon/up.obj src/icon/search.obj src/icon/down.obj src/icon/left.obj src/icon/right.obj src/cursor/cross.obj src/cursor/default.obj src/cursor/text.obj src/cursor/hidden.obj src/widget/button.obj src/widget/frame.obj src/widget/window.obj src/widget/entry.obj src/widget/label.obj src/widget/opengl.obj src/widget/radiobox.obj src/widget/submenu.obj src/widget/menu.obj src/widget/image.obj src/widget/viewport.obj src/widget/listbox.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/numberentry.obj src/widget/progressbar.obj src/font/boldfont.obj src/font/boldttf.obj src/font/font.obj src/font/ttf.obj src/math/mmx_guard.obj src/math/default.obj src/math/nbsd_pow.obj src/math/mmx.obj src/math/math.obj src/color_picker/color_picker.obj src/backend/gdi.obj - $(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file src/default.obj file src/lowlevel.obj file src/color.obj file src/directory.obj file src/core.obj file src/text.obj file src/error.obj file src/unicode.obj file src/messagebox.obj file src/string.obj file src/filechooser.obj file src/draw.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/icon/error.obj file src/icon/info.obj file src/icon/news.obj file src/icon/note.obj file src/icon/warning.obj file src/icon/file.obj file src/icon/directory.obj file src/icon/back.obj file src/icon/forward.obj file src/icon/computer.obj file src/icon/up.obj file src/icon/search.obj file src/icon/down.obj file src/icon/left.obj file src/icon/right.obj file src/cursor/cross.obj file src/cursor/default.obj file src/cursor/text.obj file src/cursor/hidden.obj file src/widget/button.obj file src/widget/frame.obj file src/widget/window.obj file src/widget/entry.obj file src/widget/label.obj file src/widget/opengl.obj file src/widget/radiobox.obj file src/widget/submenu.obj file src/widget/menu.obj file src/widget/image.obj file src/widget/viewport.obj file src/widget/listbox.obj file src/widget/scrollbar.obj file src/widget/checkbox.obj file src/widget/numberentry.obj file src/widget/progressbar.obj file src/font/boldfont.obj file src/font/boldttf.obj file src/font/font.obj file src/font/ttf.obj file src/math/mmx_guard.obj file src/math/default.obj file src/math/nbsd_pow.obj file src/math/mmx.obj file src/math/math.obj file src/color_picker/color_picker.obj file src/backend/gdi.obj library clib3r.lib library opengl32.lib library gdi32.lib library user32.lib +src/Mw.dll: src/core.obj src/text.obj src/string.obj src/draw.obj src/default.obj src/filechooser.obj src/lowlevel.obj src/error.obj src/unicode.obj src/color.obj src/directory.obj src/messagebox.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/icon/info.obj src/icon/note.obj src/icon/warning.obj src/icon/error.obj src/icon/news.obj src/icon/directory.obj src/icon/file.obj src/icon/back.obj src/icon/forward.obj src/icon/up.obj src/icon/computer.obj src/icon/search.obj src/icon/down.obj src/icon/left.obj src/icon/right.obj src/cursor/default.obj src/cursor/cross.obj src/cursor/text.obj src/cursor/hidden.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/viewport.obj src/widget/image.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/label.obj src/widget/listbox.obj src/widget/numberentry.obj src/widget/progressbar.obj src/widget/radiobox.obj src/font/boldttf.obj src/font/ttf.obj src/font/boldfont.obj src/font/font.obj src/math/default.obj src/math/math.obj src/math/mmx.obj src/math/nbsd_pow.obj src/color_picker/color_picker.obj src/backend/gdi.obj + $(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file src/core.obj file src/text.obj file src/string.obj file src/draw.obj file src/default.obj file src/filechooser.obj file src/lowlevel.obj file src/error.obj file src/unicode.obj file src/color.obj file src/directory.obj file src/messagebox.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.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/directory.obj file src/icon/file.obj file src/icon/back.obj file src/icon/forward.obj file src/icon/up.obj file src/icon/computer.obj file src/icon/search.obj file src/icon/down.obj file src/icon/left.obj file src/icon/right.obj file src/cursor/default.obj file src/cursor/cross.obj file src/cursor/text.obj file src/cursor/hidden.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/viewport.obj file src/widget/image.obj file src/widget/scrollbar.obj file src/widget/checkbox.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/numberentry.obj file src/widget/progressbar.obj file src/widget/radiobox.obj file src/font/boldttf.obj file src/font/ttf.obj file src/font/boldfont.obj file src/font/font.obj file src/math/default.obj file src/math/math.obj file src/math/mmx.obj file src/math/nbsd_pow.obj file src/color_picker/color_picker.obj file src/backend/gdi.obj library clib3r.lib library opengl32.lib library gdi32.lib library user32.lib -src/default.obj: src/default.c - $(CC) $(CFLAGS) -fo=$@ $< -src/lowlevel.obj: src/lowlevel.c - $(CC) $(CFLAGS) -fo=$@ $< -src/color.obj: src/color.c - $(CC) $(CFLAGS) -fo=$@ $< -src/directory.obj: src/directory.c - $(CC) $(CFLAGS) -fo=$@ $< src/core.obj: src/core.c $(CC) $(CFLAGS) -fo=$@ $< src/text.obj: src/text.c $(CC) $(CFLAGS) -fo=$@ $< +src/string.obj: src/string.c + $(CC) $(CFLAGS) -fo=$@ $< +src/draw.obj: src/draw.c + $(CC) $(CFLAGS) -fo=$@ $< +src/default.obj: src/default.c + $(CC) $(CFLAGS) -fo=$@ $< +src/filechooser.obj: src/filechooser.c + $(CC) $(CFLAGS) -fo=$@ $< +src/lowlevel.obj: src/lowlevel.c + $(CC) $(CFLAGS) -fo=$@ $< src/error.obj: src/error.c $(CC) $(CFLAGS) -fo=$@ $< src/unicode.obj: src/unicode.c $(CC) $(CFLAGS) -fo=$@ $< +src/color.obj: src/color.c + $(CC) $(CFLAGS) -fo=$@ $< +src/directory.obj: src/directory.c + $(CC) $(CFLAGS) -fo=$@ $< src/messagebox.obj: src/messagebox.c $(CC) $(CFLAGS) -fo=$@ $< -src/string.obj: src/string.c - $(CC) $(CFLAGS) -fo=$@ $< -src/filechooser.obj: src/filechooser.c - $(CC) $(CFLAGS) -fo=$@ $< -src/draw.obj: src/draw.c - $(CC) $(CFLAGS) -fo=$@ $< external/stb_ds.obj: external/stb_ds.c $(CC) $(CFLAGS) -fo=$@ $< external/stb_image.obj: external/stb_image.c $(CC) $(CFLAGS) -fo=$@ $< external/stb_truetype.obj: external/stb_truetype.c $(CC) $(CFLAGS) -fo=$@ $< -src/icon/error.obj: src/icon/error.c - $(CC) $(CFLAGS) -fo=$@ $< src/icon/info.obj: src/icon/info.c $(CC) $(CFLAGS) -fo=$@ $< -src/icon/news.obj: src/icon/news.c - $(CC) $(CFLAGS) -fo=$@ $< src/icon/note.obj: src/icon/note.c $(CC) $(CFLAGS) -fo=$@ $< src/icon/warning.obj: src/icon/warning.c $(CC) $(CFLAGS) -fo=$@ $< -src/icon/file.obj: src/icon/file.c +src/icon/error.obj: src/icon/error.c + $(CC) $(CFLAGS) -fo=$@ $< +src/icon/news.obj: src/icon/news.c $(CC) $(CFLAGS) -fo=$@ $< src/icon/directory.obj: src/icon/directory.c $(CC) $(CFLAGS) -fo=$@ $< +src/icon/file.obj: src/icon/file.c + $(CC) $(CFLAGS) -fo=$@ $< src/icon/back.obj: src/icon/back.c $(CC) $(CFLAGS) -fo=$@ $< src/icon/forward.obj: src/icon/forward.c $(CC) $(CFLAGS) -fo=$@ $< -src/icon/computer.obj: src/icon/computer.c - $(CC) $(CFLAGS) -fo=$@ $< src/icon/up.obj: src/icon/up.c $(CC) $(CFLAGS) -fo=$@ $< +src/icon/computer.obj: src/icon/computer.c + $(CC) $(CFLAGS) -fo=$@ $< src/icon/search.obj: src/icon/search.c $(CC) $(CFLAGS) -fo=$@ $< src/icon/down.obj: src/icon/down.c @@ -134,10 +133,10 @@ src/icon/left.obj: src/icon/left.c $(CC) $(CFLAGS) -fo=$@ $< src/icon/right.obj: src/icon/right.c $(CC) $(CFLAGS) -fo=$@ $< -src/cursor/cross.obj: src/cursor/cross.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/cursor/hidden.obj: src/cursor/hidden.c @@ -146,51 +145,49 @@ src/widget/button.obj: src/widget/button.c $(CC) $(CFLAGS) -fo=$@ $< src/widget/frame.obj: src/widget/frame.c $(CC) $(CFLAGS) -fo=$@ $< -src/widget/window.obj: src/widget/window.c - $(CC) $(CFLAGS) -fo=$@ $< -src/widget/entry.obj: src/widget/entry.c - $(CC) $(CFLAGS) -fo=$@ $< -src/widget/label.obj: src/widget/label.c - $(CC) $(CFLAGS) -fo=$@ $< src/widget/opengl.obj: src/widget/opengl.c $(CC) $(CFLAGS) -fo=$@ $< -src/widget/radiobox.obj: src/widget/radiobox.c - $(CC) $(CFLAGS) -fo=$@ $< -src/widget/submenu.obj: src/widget/submenu.c +src/widget/window.obj: src/widget/window.c $(CC) $(CFLAGS) -fo=$@ $< src/widget/menu.obj: src/widget/menu.c $(CC) $(CFLAGS) -fo=$@ $< -src/widget/image.obj: src/widget/image.c +src/widget/entry.obj: src/widget/entry.c + $(CC) $(CFLAGS) -fo=$@ $< +src/widget/submenu.obj: src/widget/submenu.c $(CC) $(CFLAGS) -fo=$@ $< src/widget/viewport.obj: src/widget/viewport.c $(CC) $(CFLAGS) -fo=$@ $< -src/widget/listbox.obj: src/widget/listbox.c +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/listbox.obj: src/widget/listbox.c + $(CC) $(CFLAGS) -fo=$@ $< src/widget/numberentry.obj: src/widget/numberentry.c $(CC) $(CFLAGS) -fo=$@ $< src/widget/progressbar.obj: src/widget/progressbar.c $(CC) $(CFLAGS) -fo=$@ $< -src/font/boldfont.obj: src/font/boldfont.c +src/widget/radiobox.obj: src/widget/radiobox.c $(CC) $(CFLAGS) -fo=$@ $< src/font/boldttf.obj: src/font/boldttf.c $(CC) $(CFLAGS) -fo=$@ $< -src/font/font.obj: src/font/font.c - $(CC) $(CFLAGS) -fo=$@ $< src/font/ttf.obj: src/font/ttf.c $(CC) $(CFLAGS) -fo=$@ $< -src/math/mmx_guard.obj: src/math/mmx_guard.c +src/font/boldfont.obj: src/font/boldfont.c + $(CC) $(CFLAGS) -fo=$@ $< +src/font/font.obj: src/font/font.c $(CC) $(CFLAGS) -fo=$@ $< src/math/default.obj: src/math/default.c $(CC) $(CFLAGS) -fo=$@ $< -src/math/nbsd_pow.obj: src/math/nbsd_pow.c +src/math/math.obj: src/math/math.c $(CC) $(CFLAGS) -fo=$@ $< src/math/mmx.obj: src/math/mmx.c $(CC) $(CFLAGS) -fo=$@ $< -src/math/math.obj: src/math/math.c +src/math/nbsd_pow.obj: src/math/nbsd_pow.c $(CC) $(CFLAGS) -fo=$@ $< src/color_picker/color_picker.obj: src/color_picker/color_picker.c $(CC) $(CFLAGS) -fo=$@ $< diff --git a/include/Mw/LowLevelMath.h b/include/Mw/LowLevelMath.h index af0d9e6..0469acf 100644 --- a/include/Mw/LowLevelMath.h +++ b/include/Mw/LowLevelMath.h @@ -11,8 +11,12 @@ #include #include -#if !defined(__i386__) && !defined(__x86_64__) && !defined(__WATCOMC__) -#warning LowLevelMath.h does not yet support non-X86 platforms +#if defined(__i386__) || defined(__x86_64__) || defined(__WATCOMC__) +#define MwLLMathMMX +#endif + +#if !defined(MwLLMathMMX) +#warning LowLevelMath.h does not yet support this platform #endif /*! diff --git a/mk/math.mk b/mk/math.mk index d7f5c17..8443402 100644 --- a/mk/math.mk +++ b/mk/math.mk @@ -1,3 +1,3 @@ # $Id$ -L_OBJS += src/math/default.o src/math/math.o src/math/mmx_guard.o +L_OBJS += src/math/default.o src/math/math.o src/math/mmx.o L_OBJS += src/math/nbsd_pow.o diff --git a/mk/platform.mk b/mk/platform.mk index 3bb4900..59f18ac 100644 --- a/mk/platform.mk +++ b/mk/platform.mk @@ -27,6 +27,8 @@ FOUND_PLATFORM = 1 endif ifeq ($(TARGET),Windows) +CFLAGS += -mmmx + WINDOWS = 1 OPENGL = 1 VULKAN = 1 diff --git a/src/math/math.c b/src/math/math.c index 9131a3f..0ea1325 100644 --- a/src/math/math.c +++ b/src/math/math.c @@ -39,20 +39,20 @@ switch(ty) { } #if defined(__WATCOMC__) || defined(__i386__) || defined(__amd64__) -static cpuFeatures getCPUFeatures(void) { +static MwU32 getCPUFeatures(void) { MwU32 _eax = 1; - cpuFeatures _edx; + MwU32 _edx; #ifdef __WATCOMC__ __asm { cpuid mov _eax, eax -// mov _edx, edx + mov _edx, edx } #else - __asm__ __volatile__( + asm volatile ( "cpuid" : "=a"(_eax), "=d"(_edx) - : "a"(1)); + : "a"(1) : "ebx", "ecx"); #endif return _edx; @@ -71,7 +71,7 @@ static MwLLMathVTable* getMultiTable(int ty) { static MwLLMathVTable* multiTableSetupAndGet(int ty) { #if defined(__WATCOMC__) || defined(__i386__) || defined(__amd64__) - cpuFeatures features; + MwU32 features; #endif mwLLMultiTable = default_multi_table(); @@ -79,11 +79,11 @@ static MwLLMathVTable* multiTableSetupAndGet(int ty) { #if defined(__WATCOMC__) || defined(__i386__) || defined(__amd64__) features = getCPUFeatures(); printf("Avaliable x86_64 Features:\n"); - printf("\tMMX: %s\n", features.mmx ? "true" : "false"); - printf("\tSSE: %s\n", features.sse ? "true" : "false"); - printf("\tSSE2: %s\n", features.sse2 ? "true" : "false"); + printf("\tMMX: %s\n", features & FEATX86_MMX ? "true" : "false"); + printf("\tSSE: %s\n", features & FEATX86_SSE ? "true" : "false"); + printf("\tSSE2: %s\n", features & FEATX86_SSE2 ? "true" : "false"); - if(features.mmx) { + if(features & FEATX86_MMX) { mmx_apply(mwLLMultiTable); } #endif diff --git a/src/math/math_internal.h b/src/math/math_internal.h index 1ce48da..8027790 100644 --- a/src/math/math_internal.h +++ b/src/math/math_internal.h @@ -7,42 +7,10 @@ #include /* Bitfield of cpu features we get from x86's CPUID */ -#if defined(__WATCOMC__) || defined(__i386__) || defined(__amd64__) -typedef struct _cpuFeatures cpuFeatures; -struct _cpuFeatures { - MwBool fpu : 1; /* x87 FPU on chip */ - MwBool vme : 1; /* Virtual-8086 Mode Enhancement */ - MwBool de : 1; /* Debugging Extensions */ - MwBool pse : 1; /* Page Size Extensions */ - MwBool tsc : 1; /* Time Stamp Counter */ - MwBool msr : 1; /* RDMSR and WRMSR Support */ - MwBool pae : 1; /* Physical Address Extensions */ - MwBool mce : 1; /* Machine Check Exception */ - MwBool cx8 : 1; /* CMPXCHG8B instr */ - MwBool apic : 1; /* APIC on Chip */ - MwBool pad1 : 1; - MwBool sep : 1; /* SYSENTER and SYSEXIT instrs */ - MwBool mtrr : 1; /* Memory Type Range Registers */ - MwBool pge : 1; /* Page Global Bit */ - MwBool mca : 1; /* Machine Check Architecture */ - MwBool cmov : 1; /* Conditional Move Instrs */ - MwBool pat : 1; /* Page Attribute Table */ - MwBool pse36 : 1; /* 36-Bit Page Size Extension */ - MwBool psn : 1; /* Processor Serial Number */ - MwBool clflush : 1; /* CLFLUSH instr */ - MwBool pad2 : 1; - MwBool ds : 1; /* Debug Store */ - MwBool acpi : 1; /* Thermal Monitor and Software Controlled Clock Facilities */ - MwBool mmx : 1; /* Intel MMX Technology */ - MwBool fxsr : 1; /* XSAVE and FXRSTOR Instrs */ - MwBool sse : 1; /* SSE */ - MwBool sse2 : 1; /* SSE2 */ - MwBool ss : 1; /* Self Snoop */ - MwBool hit : 1; /* Max APIC IDs */ - MwBool tm : 1; /* Thermal Monitor */ - MwBool pad3 : 1; - MwBool pbe : 1; /* Pending Break Enable */ -}; +#if defined(MwLLMathMMX) +#define FEATX86_MMX (1 << 23) +#define FEATX86_SSE (1 << 25) +#define FEATX86_SSE2 (1 << 26) #endif #include "nbsd_math.h" diff --git a/src/math/mmx.c b/src/math/mmx.c index 874991e..be91dc2 100644 --- a/src/math/mmx.c +++ b/src/math/mmx.c @@ -1,7 +1,7 @@ /* $Id$ */ -#ifdef GUARD #include +#ifdef MwLLMathMMX #include "math_internal.h" #include @@ -12,16 +12,16 @@ static void mmx_add_u8(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_paddusb, u8, u8, _MwLLVecDataU8x8); -}; +} static void mmx_sub_u8(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_psubusb, u8, u8, _MwLLVecDataU8x8); -}; +} static void mmx_equal_u8(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_pcmpeqb, u8, u8, _MwLLVecDataU8x8); -}; +} static void mmx_greaterThen_u8(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_pcmpgtb, u8, u8, _MwLLVecDataU8x8); -}; +} static void mmx_add_u16(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_paddusw, u16, u16, _MwLLVecDataU16x4); @@ -31,7 +31,7 @@ static void mmx_sub_u16(MwLLVec* a, MwLLVec* b, MwLLVec* out) { } static void mmx_shiftRight_u16(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_psrlw, u16, u16, _MwLLVecDataU16x4); -}; +} static void mmx_shiftLeft_u16(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_psllw, u16, u16, _MwLLVecDataU16x4); } @@ -50,7 +50,7 @@ static void mmx_sub_u32(MwLLVec* a, MwLLVec* b, MwLLVec* out) { } static void mmx_shiftRight_u32(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_psrld, u32, u32, _MwLLVecDataU32x2); -}; +} static void mmx_shiftLeft_u32(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_pslld, u32, u32, _MwLLVecDataU32x2); } @@ -66,7 +66,7 @@ static void mmx_add_i8(MwLLVec* a, MwLLVec* b, MwLLVec* out) { }; static void mmx_sub_i8(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_psubsb, i8, i8, _MwLLVecDataI8x8); -}; +} static void mmx_add_i16(MwLLVec* a, MwLLVec* b, MwLLVec* out) { DO_MMX_INTRINSIC(_m_paddsw, i16, i16, _MwLLVecDataI16x4); diff --git a/src/math/mmx_guard.c b/src/math/mmx_guard.c deleted file mode 100644 index e2a1be1..0000000 --- a/src/math/mmx_guard.c +++ /dev/null @@ -1,8 +0,0 @@ -/* $Id$ */ -#if defined(__WATCOMC__) || defined(__i386__) || defined(__amd64__) -#define GUARD -#include "mmx.c" -#else -void mmx_apply(MwLLMathVTable** t) { -} -#endif diff --git a/tools/genmk.pl b/tools/genmk.pl index 25eafa4..ca21958 100755 --- a/tools/genmk.pl +++ b/tools/genmk.pl @@ -72,7 +72,7 @@ sub generate { $dll = "/DLL"; } elsif ($type eq "Watcom") { - $cc = "wcc386 -bt=nt -q"; + $cc = "wcc386 -bt=nt -q -bd"; $link = "wlink option quiet"; $out = "-fo="; $dllout = "name ";