From 9abdea2d2a2ab26d88ad2054e8de4c705a6106ac Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Tue, 21 Jul 2026 19:37:57 -0700 Subject: [PATCH 1/8] started on win32 dnd --- Doxyfile | 46 ++- Jenkinsfile | 110 +++---- LICENSE | 48 +-- NTMakefile | 394 +++++++--------------- README.txt | 2 +- WatMakefile | 596 +++++++++------------------------- configure | 506 ++++++++++++++--------------- include/Mw/LowLevel.h | 7 + include/Mw/LowLevel/GDI.h | 30 ++ include/Mw/StringDefs.h | 3 + milsko.xml | 4 + src/backend/call.c | 5 +- src/backend/classicmacos.c | 4 + src/backend/cocoa.m | 4 + src/backend/gdi.c | 156 +++++++++ src/backend/haiku.cc | 4 + src/backend/wayland/wayland.c | 4 + src/backend/x11.c | 4 + src/core.c | 10 + src/lowlevel.c | 4 +- 20 files changed, 847 insertions(+), 1094 deletions(-) diff --git a/Doxyfile b/Doxyfile index f413308..bb57787 100644 --- a/Doxyfile +++ b/Doxyfile @@ -1,26 +1,22 @@ -PROJECT_LOGO = resource/logo/logo64.png -PROJECT_NAME = Milsko -PROJECT_BRIEF = "Lightweight and fast GUI toolkit" -OUTPUT_DIRECTORY = doxygen -TAB_SIZE = 8 -OPTIMIZE_OUTPUT_FOR_C = YES -MARKDOWN_SUPPORT = YES -FILE_PATTERNS = *.h *.md -INPUT = include/Mw -INPUT += doc -RECURSIVE = YES -SOURCE_BROWSER = YES -HTML_DYNAMIC_MENUS = YES -GENERATE_TREEVIEW = YES -FULL_SIDEBAR = NO -DISABLE_INDEX = NO -HAVE_DOT = YES -FULL_PATH_NAMES = YES -STRIP_FROM_PATH = include/ doc/ -ENABLED_SECTIONS = YES -OUTPUT_LANGUAGE = English -GENERATE_LATEX = NO -EXTRACT_ALL = YES +PROJECT_LOGO = resource / logo / logo64.png PROJECT_NAME = Milsko + PROJECT_BRIEF = "Lightweight and fast GUI toolkit" OUTPUT_DIRECTORY = doxygen + TAB_SIZE = 8 OPTIMIZE_OUTPUT_FOR_C = YES + MARKDOWN_SUPPORT = YES + FILE_PATTERNS = *.h*.md + INPUT = include / Mw + INPUT += doc + RECURSIVE = YES + SOURCE_BROWSER = YES + HTML_DYNAMIC_MENUS = YES + GENERATE_TREEVIEW = YES + FULL_SIDEBAR = NO + DISABLE_INDEX = NO + HAVE_DOT = YES + FULL_PATH_NAMES = YES + STRIP_FROM_PATH = include / doc / + ENABLED_SECTIONS = YES + OUTPUT_LANGUAGE = English + GENERATE_LATEX = NO + EXTRACT_ALL = YES -HTML_EXTRA_STYLESHEET = resource/doxygen-theme/doxygen-awesome.css -HTML_COLORSTYLE = LIGHT + HTML_EXTRA_STYLESHEET = resource / doxygen - theme / doxygen - awesome.css HTML_COLORSTYLE = LIGHT diff --git a/Jenkinsfile b/Jenkinsfile index 6c1637e..c837698 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,22 +1,14 @@ pipeline { - agent { - label "built-in" - } - stages { + agent{ + label "built-in"} stages { stage("Build document") { - when { - branch "master" - } - agent { - label "built-in" - } - steps { - sh("rm -rf include/Mw/LowLevel/Wayland") + when{ + branch "master"} agent{ + label "built-in"} steps{ + sh("rm -rf include/Mw/LowLevel/Wayland") sh("doxygen") - sh("rm -rf /var/www/milsko-doxygen") - sh("mv doxygen/html /var/www/milsko-doxygen") - } - post { + sh("rm -rf /var/www/milsko-doxygen") + sh("mv doxygen/html /var/www/milsko-doxygen")} post { always { notifyDiscord() } @@ -25,73 +17,59 @@ pipeline { stage("Build") { parallel { stage("Build for Linux 64-bit") { - agent { - label "built-in" - } - steps { + agent{ + label "built-in"} steps { sh("git clean -dfx") - sh("./configure --enable-opengl --enable-vulkan --without-vulkan-string-helper") - sh("make -j4") - sh("mv src/libMw.so libMw64.so") - archiveArtifacts("libMw64.so") + sh("./configure --enable-opengl --enable-vulkan --without-vulkan-string-helper") + sh("make -j4") + sh("mv src/libMw.so libMw64.so") + archiveArtifacts("libMw64.so") } } stage("Build for Windows 32-bit") { - agent { - label "built-in" - } - steps { + agent{ + label "built-in"} steps { sh("git clean -dfx") - sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=i686-w64-mingw32") - sh("make -j4") - sh("mv src/Mw.dll Mw32.dll") - sh("mv src/libMw.dll.a libMw32.dll.a") - archiveArtifacts("Mw32.dll,libMw32.dll.a") + sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=i686-w64-mingw32") + sh("make -j4") + sh("mv src/Mw.dll Mw32.dll") + sh("mv src/libMw.dll.a libMw32.dll.a") + archiveArtifacts("Mw32.dll,libMw32.dll.a") } } stage("Build for Windows 64-bit") { - agent { - label "built-in" - } - steps { + agent{ + label "built-in"} steps { sh("git clean -dfx") - sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=x86_64-w64-mingw32") - sh("make -j4") - sh("mv src/Mw.dll Mw64.dll") - sh("mv src/libMw.dll.a libMw64.dll.a") - archiveArtifacts("Mw64.dll,libMw64.dll.a") + sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=x86_64-w64-mingw32") + sh("make -j4") + sh("mv src/Mw.dll Mw64.dll") + sh("mv src/libMw.dll.a libMw64.dll.a") + archiveArtifacts("Mw64.dll,libMw64.dll.a") } } stage("Build for Windows 32-bit (MSVC)") { - agent { - label "2012r2" - } - steps { + agent{ + label "2012r2"} steps { bat("git clean -dfx") - bat("nmake -f NTMakefile") - bat("move /y src\\Mw.dll MwMSVC32.dll") - bat("move /y src\\Mw.lib MwMSVC32.lib") - archiveArtifacts("MwMSVC32.dll,MwMSVC32.lib") + bat("nmake -f NTMakefile") + bat("move /y src\\Mw.dll MwMSVC32.dll") + bat("move /y src\\Mw.lib MwMSVC32.lib") + archiveArtifacts("MwMSVC32.dll,MwMSVC32.lib") } } stage("Build for Windows 32-bit (Watcom)") { - agent { - label "built-in" - } - environment { - WATCOM = "/usr/watcom" - INCLUDE = "/usr/watcom/h:/usr/watcom/h/nt" - PATH = "/usr/watcom/binl64:${env.PATH}" - } - steps { + agent{ + label "built-in"} environment{ + WATCOM = "/usr/watcom" INCLUDE = "/usr/watcom/h:/usr/watcom/h/nt" PATH = "/usr/watcom/binl64:${env.PATH}"} steps { sh("git clean -dfx") - sh("wmake -f WatMakefile") - sh("mv src/Mw.dll MwWat32.dll") - sh("mv src/Mw.lib MwWat32.lib") - archiveArtifacts("MwWat32.dll,MwWat32.lib") - sh("./tools/watcom-pack.sh") - sh("mv milsko-examples.zip milsko-examples-win32.zip") - archiveArtifacts("milsko-examples-win32.zip") + sh("wmake -f WatMakefile") + sh("mv src/Mw.dll MwWat32.dll") + sh("mv src/Mw.lib MwWat32.lib") + archiveArtifacts("MwWat32.dll,MwWat32.lib") + sh("./tools/watcom-pack.sh") + sh("mv milsko-examples.zip milsko-examples-win32.zip") + archiveArtifacts("milsko-examples-win32.zip") } } } diff --git a/LICENSE b/LICENSE index a7729ad..b07a1f4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,24 +1,28 @@ -Copyright (c) 2025-2026, Pyrite development team -All rights reserved. +Copyright(c) 2025 - 2026, Pyrite development team All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + Redistribution and use in source and binary forms, + with or without + modification, + are permitted provided that the following conditions are met : *Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer.* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and / or other materials provided with the distribution.* Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, + BUT NOT LIMITED TO, + THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED.IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, + INDIRECT, + INCIDENTAL, + SPECIAL, + EXEMPLARY, + OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, + STRICT LIABILITY, + OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/NTMakefile b/NTMakefile index a3fc76a..655ea96 100644 --- a/NTMakefile +++ b/NTMakefile @@ -1,328 +1,180 @@ -CC = cl /TC /c /nologo -LD = link /nologo +CC = cl / TC / c / nologo LD = link / nologo -MW_CFLAGS = /Iinclude /Iexternal\libz\include /D_MILSKO /D_MILSKO_BUILD /DUSE_GDI /DUSE_STB_IMAGE /DSTBI_NO_SIMD /DUSE_GDI_TEXT -MW_LDFLAGS = /DLL -EXE_CFLAGS = /Iinclude -EXE_LDFLAGS = -.SUFFIXES: .obj .c -all: src\Mw.dll examples\basic\box.exe examples\basic\calculator.exe examples\basic\checkbox.exe examples\basic\clipboard.exe examples\basic\colorpicker.exe examples\basic\combobox.exe examples\basic\example.exe examples\basic\filechooser.exe examples\basic\image.exe examples\basic\listbox.exe examples\basic\messagebox.exe examples\basic\periodic.exe examples\basic\progressbar.exe examples\basic\radiobox.exe examples\basic\rotate.exe examples\basic\scrollbar.exe examples\basic\sevensegment.exe examples\basic\subwindow.exe examples\basic\tab.exe examples\basic\treeview.exe examples\basic\viewport.exe examples\gldemos\boing.exe examples\gldemos\clock.exe examples\gldemos\cube.exe examples\gldemos\gears.exe examples\gldemos\triangle.exe examples\gldemos\tripaint.exe -lib: src\Mw.dll -examples: examples\basic\box.exe examples\basic\calculator.exe examples\basic\checkbox.exe examples\basic\clipboard.exe examples\basic\colorpicker.exe examples\basic\combobox.exe examples\basic\example.exe examples\basic\filechooser.exe examples\basic\image.exe examples\basic\listbox.exe examples\basic\messagebox.exe examples\basic\periodic.exe examples\basic\progressbar.exe examples\basic\radiobox.exe examples\basic\rotate.exe examples\basic\scrollbar.exe examples\basic\sevensegment.exe examples\basic\subwindow.exe examples\basic\tab.exe examples\basic\treeview.exe examples\basic\viewport.exe examples\gldemos\boing.exe examples\gldemos\clock.exe examples\gldemos\cube.exe examples\gldemos\gears.exe examples\gldemos\triangle.exe examples\gldemos\tripaint.exe -clean: - del /f /q external\libz\src\adler32.obj - del /f /q external\libz\src\compress.obj - del /f /q external\libz\src\crc32.obj - del /f /q external\libz\src\deflate.obj - del /f /q external\libz\src\gzclose.obj - del /f /q external\libz\src\gzlib.obj - del /f /q external\libz\src\gzread.obj - del /f /q external\libz\src\gzwrite.obj - del /f /q external\libz\src\infback.obj - del /f /q external\libz\src\inffast.obj - del /f /q external\libz\src\inflate.obj - del /f /q external\libz\src\inftrees.obj - del /f /q external\libz\src\trees.obj - del /f /q external\libz\src\uncompr.obj - del /f /q external\libz\src\zutil.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\abstract\charset.obj - del /f /q src\abstract\directory.obj - del /f /q src\abstract\dynamic.obj - del /f /q src\abstract\time.obj - del /f /q src\backend\gdi.obj - del /f /q src\color.obj - del /f /q src\core.obj - del /f /q src\cursor\arrow.obj - del /f /q src\cursor\cross.obj - del /f /q src\cursor\default.obj - del /f /q src\cursor\hidden.obj - del /f /q src\cursor\text.obj - del /f /q src\default.obj - del /f /q src\dialog\colorpicker.obj - del /f /q src\dialog\directorychooser.obj - del /f /q src\dialog\filechooser.obj - del /f /q src\dialog\messagebox.obj - del /f /q src\draw.obj - del /f /q src\icon\back.obj - del /f /q src\icon\clock.obj - del /f /q src\icon\computer.obj - del /f /q src\icon\directory.obj - del /f /q src\icon\down.obj - del /f /q src\icon\error.obj - del /f /q src\icon\file.obj - del /f /q src\icon\forward.obj - del /f /q src\icon\info.obj - del /f /q src\icon\left.obj - del /f /q src\icon\news.obj - del /f /q src\icon\note.obj - del /f /q src\icon\right.obj - del /f /q src\icon\search.obj - del /f /q src\icon\up.obj - del /f /q src\icon\warning.obj - del /f /q src\lowlevel.obj - del /f /q src\string.obj - del /f /q src\text\font\boldfont.obj - del /f /q src\text\font\boldmonottf.obj - del /f /q src\text\font\boldttf.obj - del /f /q src\text\font\font.obj - del /f /q src\text\font\monottf.obj - del /f /q src\text\font\ttf.obj - del /f /q src\text\ft2.obj - del /f /q src\text\gdi.obj - del /f /q src\text\stbtt.obj - del /f /q src\text\text.obj - del /f /q src\truetype.obj - del /f /q src\unicode.obj - del /f /q src\widget\box.obj - del /f /q src\widget\button.obj - del /f /q src\widget\calendar.obj - del /f /q src\widget\checkbox.obj - del /f /q src\widget\combobox.obj - del /f /q src\widget\entry.obj - del /f /q src\widget\frame.obj - del /f /q src\widget\image.obj - del /f /q src\widget\label.obj - del /f /q src\widget\listbox.obj - del /f /q src\widget\menu.obj - del /f /q src\widget\numberentry.obj - del /f /q src\widget\opengl.obj - del /f /q src\widget\progressbar.obj - del /f /q src\widget\radiobox.obj - del /f /q src\widget\scrollbar.obj - del /f /q src\widget\separator.obj - del /f /q src\widget\submenu.obj - del /f /q src\widget\subwindow.obj - del /f /q src\widget\tab.obj - del /f /q src\widget\table.obj - del /f /q src\widget\treeview.obj - del /f /q src\widget\viewport.obj - del /f /q src\widget\window.obj - del /f /q src\Mw.dll - del /f /q src\Mw.lib - del /f /q examples\basic\box.obj - del /f /q examples\basic\calculator.obj - del /f /q examples\basic\checkbox.obj - del /f /q examples\basic\clipboard.obj - del /f /q examples\basic\colorpicker.obj - del /f /q examples\basic\combobox.obj - del /f /q examples\basic\example.obj - del /f /q examples\basic\filechooser.obj - del /f /q examples\basic\image.obj - del /f /q examples\basic\listbox.obj - del /f /q examples\basic\messagebox.obj - del /f /q examples\basic\periodic.obj - del /f /q examples\basic\progressbar.obj - del /f /q examples\basic\radiobox.obj - del /f /q examples\basic\rotate.obj - del /f /q examples\basic\scrollbar.obj - del /f /q examples\basic\sevensegment.obj - del /f /q examples\basic\subwindow.obj - del /f /q examples\basic\tab.obj - del /f /q examples\basic\treeview.obj - del /f /q examples\basic\viewport.obj - del /f /q examples\gldemos\boing.obj - del /f /q examples\gldemos\clock.obj - del /f /q examples\gldemos\cube.obj - del /f /q examples\gldemos\gears.obj - del /f /q examples\gldemos\triangle.obj - del /f /q examples\gldemos\tripaint.obj - del /f /q examples\basic\box.exe - del /f /q examples\basic\calculator.exe - del /f /q examples\basic\checkbox.exe - del /f /q examples\basic\clipboard.exe - del /f /q examples\basic\colorpicker.exe - del /f /q examples\basic\combobox.exe - del /f /q examples\basic\example.exe - del /f /q examples\basic\filechooser.exe - del /f /q examples\basic\image.exe - del /f /q examples\basic\listbox.exe - del /f /q examples\basic\messagebox.exe - del /f /q examples\basic\periodic.exe - del /f /q examples\basic\progressbar.exe - del /f /q examples\basic\radiobox.exe - del /f /q examples\basic\rotate.exe - del /f /q examples\basic\scrollbar.exe - del /f /q examples\basic\sevensegment.exe - del /f /q examples\basic\subwindow.exe - del /f /q examples\basic\tab.exe - del /f /q examples\basic\treeview.exe - del /f /q examples\basic\viewport.exe - del /f /q examples\gldemos\boing.exe - del /f /q examples\gldemos\clock.exe - del /f /q examples\gldemos\cube.exe - del /f /q examples\gldemos\gears.exe - del /f /q examples\gldemos\triangle.exe - del /f /q examples\gldemos\tripaint.exe + MW_CFLAGS = / Iinclude / Iexternal\libz\include / D_MILSKO / D_MILSKO_BUILD / DUSE_GDI / DUSE_STB_IMAGE / DSTBI_NO_SIMD / DUSE_GDI_TEXT MW_LDFLAGS = / DLL + EXE_CFLAGS = / Iinclude + EXE_LDFLAGS = + .SUFFIXES :.obj.c + all : src\Mw.dll examples\basic\box.exe examples\basic\calculator.exe examples\basic\checkbox.exe examples\basic\clipboard.exe examples\basic\colorpicker.exe examples\basic\combobox.exe examples\basic\example.exe examples\basic\filechooser.exe examples\basic\image.exe examples\basic\listbox.exe examples\basic\messagebox.exe examples\basic\periodic.exe examples\basic\progressbar.exe examples\basic\radiobox.exe examples\basic\rotate.exe examples\basic\scrollbar.exe examples\basic\sevensegment.exe examples\basic\subwindow.exe examples\basic\tab.exe examples\basic\treeview.exe examples\basic\viewport.exe examples\gldemos\boing.exe examples\gldemos\clock.exe examples\gldemos\cube.exe examples\gldemos\gears.exe examples\gldemos\triangle.exe examples\gldemos\tripaint.exe + lib : src\Mw.dll + examples : examples\basic\box.exe examples\basic\calculator.exe examples\basic\checkbox.exe examples\basic\clipboard.exe examples\basic\colorpicker.exe examples\basic\combobox.exe examples\basic\example.exe examples\basic\filechooser.exe examples\basic\image.exe examples\basic\listbox.exe examples\basic\messagebox.exe examples\basic\periodic.exe examples\basic\progressbar.exe examples\basic\radiobox.exe examples\basic\rotate.exe examples\basic\scrollbar.exe examples\basic\sevensegment.exe examples\basic\subwindow.exe examples\basic\tab.exe examples\basic\treeview.exe examples\basic\viewport.exe examples\gldemos\boing.exe examples\gldemos\clock.exe examples\gldemos\cube.exe examples\gldemos\gears.exe examples\gldemos\triangle.exe examples\gldemos\tripaint.exe + clean : del / + f / q external\libz\src\adler32.obj del / f / q external\libz\src\compress.obj del / f / q external\libz\src\crc32.obj del / f / q external\libz\src\deflate.obj del / f / q external\libz\src\gzclose.obj del / f / q external\libz\src\gzlib.obj del / f / q external\libz\src\gzread.obj del / f / q external\libz\src\gzwrite.obj del / f / q external\libz\src\infback.obj del / f / q external\libz\src\inffast.obj del / f / q external\libz\src\inflate.obj del / f / q external\libz\src\inftrees.obj del / f / q external\libz\src\trees.obj del / f / q external\libz\src\uncompr.obj del / f / q external\libz\src\zutil.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\abstract\charset.obj del / f / q src\abstract\directory.obj del / f / q src\abstract\dynamic.obj del / f / q src\abstract\time.obj del / f / q src\backend\gdi.obj del / f / q src\color.obj del / f / q src\core.obj del / f / q src\cursor\arrow.obj del / f / q src\cursor\cross.obj del / f / q src\cursor\default.obj del / f / q src\cursor\hidden.obj del / f / q src\cursor\text.obj del / f / q src\default.obj del / f / q src\dialog\colorpicker.obj del / f / q src\dialog\directorychooser.obj del / f / q src\dialog\filechooser.obj del / f / q src\dialog\messagebox.obj del / f / q src\draw.obj del / f / q src\icon\back.obj del / f / q src\icon\clock.obj del / f / q src\icon\computer.obj del / f / q src\icon\directory.obj del / f / q src\icon\down.obj del / f / q src\icon\error.obj del / f / q src\icon\file.obj del / f / q src\icon\forward.obj del / f / q src\icon\info.obj del / f / q src\icon\left.obj del / f / q src\icon\news.obj del / f / q src\icon\note.obj del / f / q src\icon\right.obj del / f / q src\icon\search.obj del / f / q src\icon\up.obj del / f / q src\icon\warning.obj del / f / q src\lowlevel.obj del / f / q src\string.obj del / f / q src\text\font\boldfont.obj del / f / q src\text\font\boldmonottf.obj del / f / q src\text\font\boldttf.obj del / f / q src\text\font\font.obj del / f / q src\text\font\monottf.obj del / f / q src\text\font\ttf.obj del / f / q src\text\ft2.obj del / f / q src\text\gdi.obj del / f / q src\text\stbtt.obj del / f / q src\text\text.obj del / f / q src\truetype.obj del / f / q src\unicode.obj del / f / q src\widget\box.obj del / f / q src\widget\button.obj del / f / q src\widget\calendar.obj del / f / q src\widget\checkbox.obj del / f / q src\widget\combobox.obj del / f / q src\widget\entry.obj del / f / q src\widget\frame.obj del / f / q src\widget\image.obj del / f / q src\widget\label.obj del / f / q src\widget\listbox.obj del / f / q src\widget\menu.obj del / f / q src\widget\numberentry.obj del / f / q src\widget\opengl.obj del / f / q src\widget\progressbar.obj del / f / q src\widget\radiobox.obj del / f / q src\widget\scrollbar.obj del / f / q src\widget\separator.obj del / f / q src\widget\submenu.obj del / f / q src\widget\subwindow.obj del / f / q src\widget\tab.obj del / f / q src\widget\table.obj del / f / q src\widget\treeview.obj del / f / q src\widget\viewport.obj del / f / q src\widget\window.obj del / f / q src\Mw.dll del / f / q src\Mw.lib del / f / q examples\basic\box.obj del / f / q examples\basic\calculator.obj del / f / q examples\basic\checkbox.obj del / f / q examples\basic\clipboard.obj del / f / q examples\basic\colorpicker.obj del / f / q examples\basic\combobox.obj del / f / q examples\basic\example.obj del / f / q examples\basic\filechooser.obj del / f / q examples\basic\image.obj del / f / q examples\basic\listbox.obj del / f / q examples\basic\messagebox.obj del / f / q examples\basic\periodic.obj del / f / q examples\basic\progressbar.obj del / f / q examples\basic\radiobox.obj del / f / q examples\basic\rotate.obj del / f / q examples\basic\scrollbar.obj del / f / q examples\basic\sevensegment.obj del / f / q examples\basic\subwindow.obj del / f / q examples\basic\tab.obj del / f / q examples\basic\treeview.obj del / f / q examples\basic\viewport.obj del / f / q examples\gldemos\boing.obj del / f / q examples\gldemos\clock.obj del / f / q examples\gldemos\cube.obj del / f / q examples\gldemos\gears.obj del / f / q examples\gldemos\triangle.obj del / f / q examples\gldemos\tripaint.obj del / f / q examples\basic\box.exe del / f / q examples\basic\calculator.exe del / f / q examples\basic\checkbox.exe del / f / q examples\basic\clipboard.exe del / f / q examples\basic\colorpicker.exe del / f / q examples\basic\combobox.exe del / f / q examples\basic\example.exe del / f / q examples\basic\filechooser.exe del / f / q examples\basic\image.exe del / f / q examples\basic\listbox.exe del / f / q examples\basic\messagebox.exe del / f / q examples\basic\periodic.exe del / f / q examples\basic\progressbar.exe del / f / q examples\basic\radiobox.exe del / f / q examples\basic\rotate.exe del / f / q examples\basic\scrollbar.exe del / f / q examples\basic\sevensegment.exe del / f / q examples\basic\subwindow.exe del / f / q examples\basic\tab.exe del / f / q examples\basic\treeview.exe del / f / q examples\basic\viewport.exe del / f / q examples\gldemos\boing.exe del / f / q examples\gldemos\clock.exe del / f / q examples\gldemos\cube.exe del / f / q examples\gldemos\gears.exe del / f / q examples\gldemos\triangle.exe del / f / q examples\gldemos\tripaint.exe -examples\basic\box.exe: examples\basic\box.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\box.obj src\Mw.lib + examples\basic\box.exe : examples\basic\box.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\box.obj src\Mw.lib -examples\basic\box.obj: examples/basic/box.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/box.c + examples\basic\box.obj : examples / + basic / box.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / box.c -examples\basic\calculator.exe: examples\basic\calculator.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\calculator.obj src\Mw.lib + examples\basic\calculator.exe : examples\basic\calculator.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\calculator.obj src\Mw.lib -examples\basic\calculator.obj: examples/basic/calculator.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/calculator.c + examples\basic\calculator.obj : examples / + basic / calculator.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / calculator.c -examples\basic\checkbox.exe: examples\basic\checkbox.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\checkbox.obj src\Mw.lib + examples\basic\checkbox.exe : examples\basic\checkbox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\checkbox.obj src\Mw.lib -examples\basic\checkbox.obj: examples/basic/checkbox.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/checkbox.c + examples\basic\checkbox.obj : examples / + basic / checkbox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / checkbox.c -examples\basic\clipboard.exe: examples\basic\clipboard.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\clipboard.obj src\Mw.lib + examples\basic\clipboard.exe : examples\basic\clipboard.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\clipboard.obj src\Mw.lib -examples\basic\clipboard.obj: examples/basic/clipboard.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/clipboard.c + examples\basic\clipboard.obj : examples / + basic / clipboard.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / clipboard.c -examples\basic\colorpicker.exe: examples\basic\colorpicker.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\colorpicker.obj src\Mw.lib + examples\basic\colorpicker.exe : examples\basic\colorpicker.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\colorpicker.obj src\Mw.lib -examples\basic\colorpicker.obj: examples/basic/colorpicker.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/colorpicker.c + examples\basic\colorpicker.obj : examples / + basic / colorpicker.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / colorpicker.c -examples\basic\combobox.exe: examples\basic\combobox.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\combobox.obj src\Mw.lib + examples\basic\combobox.exe : examples\basic\combobox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\combobox.obj src\Mw.lib -examples\basic\combobox.obj: examples/basic/combobox.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/combobox.c + examples\basic\combobox.obj : examples / + basic / combobox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / combobox.c -examples\basic\example.exe: examples\basic\example.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\example.obj src\Mw.lib + examples\basic\example.exe : examples\basic\example.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\example.obj src\Mw.lib -examples\basic\example.obj: examples/basic/example.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/example.c + examples\basic\example.obj : examples / + basic / example.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / example.c -examples\basic\filechooser.exe: examples\basic\filechooser.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\filechooser.obj src\Mw.lib + examples\basic\filechooser.exe : examples\basic\filechooser.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\filechooser.obj src\Mw.lib -examples\basic\filechooser.obj: examples/basic/filechooser.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/filechooser.c + examples\basic\filechooser.obj : examples / + basic / filechooser.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / filechooser.c -examples\basic\image.exe: examples\basic\image.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\image.obj src\Mw.lib + examples\basic\image.exe : examples\basic\image.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\image.obj src\Mw.lib -examples\basic\image.obj: examples/basic/image.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/image.c + examples\basic\image.obj : examples / + basic / image.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / image.c -examples\basic\listbox.exe: examples\basic\listbox.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\listbox.obj src\Mw.lib + examples\basic\listbox.exe : examples\basic\listbox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\listbox.obj src\Mw.lib -examples\basic\listbox.obj: examples/basic/listbox.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/listbox.c + examples\basic\listbox.obj : examples / + basic / listbox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / listbox.c -examples\basic\messagebox.exe: examples\basic\messagebox.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\messagebox.obj src\Mw.lib + examples\basic\messagebox.exe : examples\basic\messagebox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\messagebox.obj src\Mw.lib -examples\basic\messagebox.obj: examples/basic/messagebox.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/messagebox.c + examples\basic\messagebox.obj : examples / + basic / messagebox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / messagebox.c -examples\basic\periodic.exe: examples\basic\periodic.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\periodic.obj src\Mw.lib + examples\basic\periodic.exe : examples\basic\periodic.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\periodic.obj src\Mw.lib -examples\basic\periodic.obj: examples/basic/periodic.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/periodic.c + examples\basic\periodic.obj : examples / + basic / periodic.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / periodic.c -examples\basic\progressbar.exe: examples\basic\progressbar.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\progressbar.obj src\Mw.lib + examples\basic\progressbar.exe : examples\basic\progressbar.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\progressbar.obj src\Mw.lib -examples\basic\progressbar.obj: examples/basic/progressbar.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/progressbar.c + examples\basic\progressbar.obj : examples / + basic / progressbar.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / progressbar.c -examples\basic\radiobox.exe: examples\basic\radiobox.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\radiobox.obj src\Mw.lib + examples\basic\radiobox.exe : examples\basic\radiobox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\radiobox.obj src\Mw.lib -examples\basic\radiobox.obj: examples/basic/radiobox.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/radiobox.c + examples\basic\radiobox.obj : examples / + basic / radiobox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / radiobox.c -examples\basic\rotate.exe: examples\basic\rotate.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\rotate.obj src\Mw.lib + examples\basic\rotate.exe : examples\basic\rotate.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\rotate.obj src\Mw.lib -examples\basic\rotate.obj: examples/basic/rotate.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/rotate.c + examples\basic\rotate.obj : examples / + basic / rotate.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / rotate.c -examples\basic\scrollbar.exe: examples\basic\scrollbar.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\scrollbar.obj src\Mw.lib + examples\basic\scrollbar.exe : examples\basic\scrollbar.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\scrollbar.obj src\Mw.lib -examples\basic\scrollbar.obj: examples/basic/scrollbar.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/scrollbar.c + examples\basic\scrollbar.obj : examples / + basic / scrollbar.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / scrollbar.c -examples\basic\sevensegment.exe: examples\basic\sevensegment.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\sevensegment.obj src\Mw.lib + examples\basic\sevensegment.exe : examples\basic\sevensegment.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\sevensegment.obj src\Mw.lib -examples\basic\sevensegment.obj: examples/basic/sevensegment.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/sevensegment.c + examples\basic\sevensegment.obj : examples / + basic / sevensegment.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / sevensegment.c -examples\basic\subwindow.exe: examples\basic\subwindow.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\subwindow.obj src\Mw.lib + examples\basic\subwindow.exe : examples\basic\subwindow.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\subwindow.obj src\Mw.lib -examples\basic\subwindow.obj: examples/basic/subwindow.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/subwindow.c + examples\basic\subwindow.obj : examples / + basic / subwindow.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / subwindow.c -examples\basic\tab.exe: examples\basic\tab.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\tab.obj src\Mw.lib + examples\basic\tab.exe : examples\basic\tab.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\tab.obj src\Mw.lib -examples\basic\tab.obj: examples/basic/tab.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/tab.c + examples\basic\tab.obj : examples / + basic / tab.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / tab.c -examples\basic\treeview.exe: examples\basic\treeview.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\treeview.obj src\Mw.lib + examples\basic\treeview.exe : examples\basic\treeview.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\treeview.obj src\Mw.lib -examples\basic\treeview.obj: examples/basic/treeview.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/treeview.c + examples\basic\treeview.obj : examples / + basic / treeview.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / treeview.c -examples\basic\viewport.exe: examples\basic\viewport.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\viewport.obj src\Mw.lib + examples\basic\viewport.exe : examples\basic\viewport.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\basic\viewport.obj src\Mw.lib -examples\basic\viewport.obj: examples/basic/viewport.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/viewport.c + examples\basic\viewport.obj : examples / + basic / viewport.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / viewport.c -examples\gldemos\boing.exe: examples\gldemos\boing.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\boing.obj src\Mw.lib opengl32.lib glu32.lib + examples\gldemos\boing.exe : examples\gldemos\boing.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\gldemos\boing.obj src\Mw.lib opengl32.lib glu32.lib -examples\gldemos\boing.obj: examples/gldemos/boing.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/boing.c + examples\gldemos\boing.obj : examples / + gldemos / boing.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / boing.c -examples\gldemos\clock.exe: examples\gldemos\clock.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\clock.obj src\Mw.lib opengl32.lib glu32.lib + examples\gldemos\clock.exe : examples\gldemos\clock.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\gldemos\clock.obj src\Mw.lib opengl32.lib glu32.lib -examples\gldemos\clock.obj: examples/gldemos/clock.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/clock.c + examples\gldemos\clock.obj : examples / + gldemos / clock.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / clock.c -examples\gldemos\cube.exe: examples\gldemos\cube.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\cube.obj src\Mw.lib opengl32.lib glu32.lib + examples\gldemos\cube.exe : examples\gldemos\cube.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\gldemos\cube.obj src\Mw.lib opengl32.lib glu32.lib -examples\gldemos\cube.obj: examples/gldemos/cube.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/cube.c + examples\gldemos\cube.obj : examples / + gldemos / cube.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / cube.c -examples\gldemos\gears.exe: examples\gldemos\gears.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\gears.obj src\Mw.lib opengl32.lib glu32.lib + examples\gldemos\gears.exe : examples\gldemos\gears.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\gldemos\gears.obj src\Mw.lib opengl32.lib glu32.lib -examples\gldemos\gears.obj: examples/gldemos/gears.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/gears.c + examples\gldemos\gears.obj : examples / + gldemos / gears.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / gears.c -examples\gldemos\triangle.exe: examples\gldemos\triangle.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\triangle.obj src\Mw.lib opengl32.lib glu32.lib + examples\gldemos\triangle.exe : examples\gldemos\triangle.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\gldemos\triangle.obj src\Mw.lib opengl32.lib glu32.lib -examples\gldemos\triangle.obj: examples/gldemos/triangle.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/triangle.c + examples\gldemos\triangle.obj : examples / + gldemos / triangle.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / triangle.c -examples\gldemos\tripaint.exe: examples\gldemos\tripaint.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\tripaint.obj src\Mw.lib opengl32.lib glu32.lib + examples\gldemos\tripaint.exe : examples\gldemos\tripaint.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / + OUT : $ @examples\gldemos\tripaint.obj src\Mw.lib opengl32.lib glu32.lib -examples\gldemos\tripaint.obj: examples/gldemos/tripaint.c - $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/tripaint.c + examples\gldemos\tripaint.obj : examples / + gldemos / tripaint.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / tripaint.c + src\Mw.dll : external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj $(LD) $(MW_LDFLAGS) / + OUT : $ @external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib winmm.lib user32.lib advapi32.lib -src\Mw.dll: external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj - $(LD) $(MW_LDFLAGS) /OUT:$@ external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib winmm.lib user32.lib advapi32.lib - - -.c.obj: - $(CC) $(MW_CFLAGS) /Fo$@ $< + .c.obj : $(CC) $(MW_CFLAGS) / + Fo$ @$ < diff --git a/README.txt b/README.txt index 0f57f90..55bb460 100644 --- a/README.txt +++ b/README.txt @@ -69,4 +69,4 @@ folder build as that's what's included in the .gitignore) 3) Run `make'. - -- Nishi (nishi@nishi.boats) + -- Nishi (nishi@nishi.boats) diff --git a/WatMakefile b/WatMakefile index afeb560..4a03350 100644 --- a/WatMakefile +++ b/WatMakefile @@ -1,506 +1,204 @@ -CC = wcc386 -bt=nt -q -LD = wlink option quiet +CC = wcc386 - bt = nt - q + LD = wlink option quiet -MW_CFLAGS = -bd -i=include -i=external/libz/include -d_MILSKO -d_MILSKO_BUILD -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -dUSE_GDI_TEXT -MW_LDFLAGS = system nt_dll -EXE_CFLAGS = -i=include -EXE_LDFLAGS = system nt -all: src/Mw.dll examples/basic/box.exe examples/basic/calculator.exe examples/basic/checkbox.exe examples/basic/clipboard.exe examples/basic/colorpicker.exe examples/basic/combobox.exe examples/basic/example.exe examples/basic/filechooser.exe examples/basic/image.exe examples/basic/listbox.exe examples/basic/messagebox.exe examples/basic/periodic.exe examples/basic/progressbar.exe examples/basic/radiobox.exe examples/basic/rotate.exe examples/basic/scrollbar.exe examples/basic/sevensegment.exe examples/basic/subwindow.exe examples/basic/tab.exe examples/basic/treeview.exe examples/basic/viewport.exe examples/gldemos/boing.exe examples/gldemos/clock.exe examples/gldemos/cube.exe examples/gldemos/gears.exe examples/gldemos/triangle.exe examples/gldemos/tripaint.exe -lib: src/Mw.dll -examples: examples/basic/box.exe examples/basic/calculator.exe examples/basic/checkbox.exe examples/basic/clipboard.exe examples/basic/colorpicker.exe examples/basic/combobox.exe examples/basic/example.exe examples/basic/filechooser.exe examples/basic/image.exe examples/basic/listbox.exe examples/basic/messagebox.exe examples/basic/periodic.exe examples/basic/progressbar.exe examples/basic/radiobox.exe examples/basic/rotate.exe examples/basic/scrollbar.exe examples/basic/sevensegment.exe examples/basic/subwindow.exe examples/basic/tab.exe examples/basic/treeview.exe examples/basic/viewport.exe examples/gldemos/boing.exe examples/gldemos/clock.exe examples/gldemos/cube.exe examples/gldemos/gears.exe examples/gldemos/triangle.exe examples/gldemos/tripaint.exe -clean: .SYMBOLIC - %erase external/libz/src/adler32.obj - %erase external/libz/src/compress.obj - %erase external/libz/src/crc32.obj - %erase external/libz/src/deflate.obj - %erase external/libz/src/gzclose.obj - %erase external/libz/src/gzlib.obj - %erase external/libz/src/gzread.obj - %erase external/libz/src/gzwrite.obj - %erase external/libz/src/infback.obj - %erase external/libz/src/inffast.obj - %erase external/libz/src/inflate.obj - %erase external/libz/src/inftrees.obj - %erase external/libz/src/trees.obj - %erase external/libz/src/uncompr.obj - %erase external/libz/src/zutil.obj - %erase external/stb_ds.obj - %erase external/stb_image.obj - %erase external/stb_truetype.obj - %erase src/abstract/charset.obj - %erase src/abstract/directory.obj - %erase src/abstract/dynamic.obj - %erase src/abstract/time.obj - %erase src/backend/gdi.obj - %erase src/color.obj - %erase src/core.obj - %erase src/cursor/arrow.obj - %erase src/cursor/cross.obj - %erase src/cursor/default.obj - %erase src/cursor/hidden.obj - %erase src/cursor/text.obj - %erase src/default.obj - %erase src/dialog/colorpicker.obj - %erase src/dialog/directorychooser.obj - %erase src/dialog/filechooser.obj - %erase src/dialog/messagebox.obj - %erase src/draw.obj - %erase src/icon/back.obj - %erase src/icon/clock.obj - %erase src/icon/computer.obj - %erase src/icon/directory.obj - %erase src/icon/down.obj - %erase src/icon/error.obj - %erase src/icon/file.obj - %erase src/icon/forward.obj - %erase src/icon/info.obj - %erase src/icon/left.obj - %erase src/icon/news.obj - %erase src/icon/note.obj - %erase src/icon/right.obj - %erase src/icon/search.obj - %erase src/icon/up.obj - %erase src/icon/warning.obj - %erase src/lowlevel.obj - %erase src/string.obj - %erase src/text/font/boldfont.obj - %erase src/text/font/boldmonottf.obj - %erase src/text/font/boldttf.obj - %erase src/text/font/font.obj - %erase src/text/font/monottf.obj - %erase src/text/font/ttf.obj - %erase src/text/ft2.obj - %erase src/text/gdi.obj - %erase src/text/stbtt.obj - %erase src/text/text.obj - %erase src/truetype.obj - %erase src/unicode.obj - %erase src/widget/box.obj - %erase src/widget/button.obj - %erase src/widget/calendar.obj - %erase src/widget/checkbox.obj - %erase src/widget/combobox.obj - %erase src/widget/entry.obj - %erase src/widget/frame.obj - %erase src/widget/image.obj - %erase src/widget/label.obj - %erase src/widget/listbox.obj - %erase src/widget/menu.obj - %erase src/widget/numberentry.obj - %erase src/widget/opengl.obj - %erase src/widget/progressbar.obj - %erase src/widget/radiobox.obj - %erase src/widget/scrollbar.obj - %erase src/widget/separator.obj - %erase src/widget/submenu.obj - %erase src/widget/subwindow.obj - %erase src/widget/tab.obj - %erase src/widget/table.obj - %erase src/widget/treeview.obj - %erase src/widget/viewport.obj - %erase src/widget/window.obj - %erase src/Mw.dll - %erase src/Mw.lib - %erase examples/basic/box.obj - %erase examples/basic/calculator.obj - %erase examples/basic/checkbox.obj - %erase examples/basic/clipboard.obj - %erase examples/basic/colorpicker.obj - %erase examples/basic/combobox.obj - %erase examples/basic/example.obj - %erase examples/basic/filechooser.obj - %erase examples/basic/image.obj - %erase examples/basic/listbox.obj - %erase examples/basic/messagebox.obj - %erase examples/basic/periodic.obj - %erase examples/basic/progressbar.obj - %erase examples/basic/radiobox.obj - %erase examples/basic/rotate.obj - %erase examples/basic/scrollbar.obj - %erase examples/basic/sevensegment.obj - %erase examples/basic/subwindow.obj - %erase examples/basic/tab.obj - %erase examples/basic/treeview.obj - %erase examples/basic/viewport.obj - %erase examples/gldemos/boing.obj - %erase examples/gldemos/clock.obj - %erase examples/gldemos/cube.obj - %erase examples/gldemos/gears.obj - %erase examples/gldemos/triangle.obj - %erase examples/gldemos/tripaint.obj - %erase examples/basic/box.exe - %erase examples/basic/calculator.exe - %erase examples/basic/checkbox.exe - %erase examples/basic/clipboard.exe - %erase examples/basic/colorpicker.exe - %erase examples/basic/combobox.exe - %erase examples/basic/example.exe - %erase examples/basic/filechooser.exe - %erase examples/basic/image.exe - %erase examples/basic/listbox.exe - %erase examples/basic/messagebox.exe - %erase examples/basic/periodic.exe - %erase examples/basic/progressbar.exe - %erase examples/basic/radiobox.exe - %erase examples/basic/rotate.exe - %erase examples/basic/scrollbar.exe - %erase examples/basic/sevensegment.exe - %erase examples/basic/subwindow.exe - %erase examples/basic/tab.exe - %erase examples/basic/treeview.exe - %erase examples/basic/viewport.exe - %erase examples/gldemos/boing.exe - %erase examples/gldemos/clock.exe - %erase examples/gldemos/cube.exe - %erase examples/gldemos/gears.exe - %erase examples/gldemos/triangle.exe - %erase examples/gldemos/tripaint.exe + MW_CFLAGS = -bd - i = include - i = external / libz / include - d_MILSKO - d_MILSKO_BUILD - dUSE_GDI - dUSE_STB_IMAGE - dSTBI_NO_SIMD - dUSE_GDI_TEXT MW_LDFLAGS = system nt_dll + EXE_CFLAGS = -i = include + EXE_LDFLAGS = system nt + all : src / + Mw.dll examples / basic / box.exe examples / basic / calculator.exe examples / basic / checkbox.exe examples / basic / clipboard.exe examples / basic / colorpicker.exe examples / basic / combobox.exe examples / basic / example.exe examples / basic / filechooser.exe examples / basic / image.exe examples / basic / listbox.exe examples / basic / messagebox.exe examples / basic / periodic.exe examples / basic / progressbar.exe examples / basic / radiobox.exe examples / basic / rotate.exe examples / basic / scrollbar.exe examples / basic / sevensegment.exe examples / basic / subwindow.exe examples / basic / tab.exe examples / basic / treeview.exe examples / basic / viewport.exe examples / gldemos / boing.exe examples / gldemos / clock.exe examples / gldemos / cube.exe examples / gldemos / gears.exe examples / gldemos / triangle.exe examples / gldemos / tripaint.exe lib : src / Mw.dll examples : examples / basic / box.exe examples / basic / calculator.exe examples / basic / checkbox.exe examples / basic / clipboard.exe examples / basic / colorpicker.exe examples / basic / combobox.exe examples / basic / example.exe examples / basic / filechooser.exe examples / basic / image.exe examples / basic / listbox.exe examples / basic / messagebox.exe examples / basic / periodic.exe examples / basic / progressbar.exe examples / basic / radiobox.exe examples / basic / rotate.exe examples / basic / scrollbar.exe examples / basic / sevensegment.exe examples / basic / subwindow.exe examples / basic / tab.exe examples / basic / treeview.exe examples / basic / viewport.exe examples / gldemos / boing.exe examples / gldemos / clock.exe examples / gldemos / cube.exe examples / gldemos / gears.exe examples / gldemos / triangle.exe examples / gldemos / tripaint.exe clean :.SYMBOLIC % erase external / libz / src / adler32.obj % erase external / libz / src / compress.obj % erase external / libz / src / crc32.obj % erase external / libz / src / deflate.obj % erase external / libz / src / gzclose.obj % erase external / libz / src / gzlib.obj % erase external / libz / src / gzread.obj % erase external / libz / src / gzwrite.obj % erase external / libz / src / infback.obj % erase external / libz / src / inffast.obj % erase external / libz / src / inflate.obj % erase external / libz / src / inftrees.obj % erase external / libz / src / trees.obj % erase external / libz / src / uncompr.obj % erase external / libz / src / zutil.obj % erase external / stb_ds.obj % erase external / stb_image.obj % erase external / stb_truetype.obj % erase src / abstract / charset.obj % erase src / abstract / directory.obj % erase src / abstract / dynamic.obj % erase src / abstract / time.obj % erase src / backend / gdi.obj % erase src / color.obj % erase src / core.obj % erase src / cursor / arrow.obj % erase src / cursor / cross.obj % erase src / cursor / default.obj % erase src / cursor / hidden.obj % erase src / cursor / text.obj % erase src / default.obj % erase src / dialog / colorpicker.obj % erase src / dialog / directorychooser.obj % erase src / dialog / filechooser.obj % erase src / dialog / messagebox.obj % erase src / draw.obj % erase src / icon / back.obj % erase src / icon / clock.obj % erase src / icon / computer.obj % erase src / icon / directory.obj % erase src / icon / down.obj % erase src / icon / error.obj % erase src / icon / file.obj % erase src / icon / forward.obj % erase src / icon / info.obj % erase src / icon / left.obj % erase src / icon / news.obj % erase src / icon / note.obj % erase src / icon / right.obj % erase src / icon / search.obj % erase src / icon / up.obj % erase src / icon / warning.obj % erase src / lowlevel.obj % erase src / string.obj % erase src / text / font / boldfont.obj % erase src / text / font / boldmonottf.obj % erase src / text / font / boldttf.obj % erase src / text / font / font.obj % erase src / text / font / monottf.obj % erase src / text / font / ttf.obj % erase src / text / ft2.obj % erase src / text / gdi.obj % erase src / text / stbtt.obj % erase src / text / text.obj % erase src / truetype.obj % erase src / unicode.obj % erase src / widget / box.obj % erase src / widget / button.obj % erase src / widget / calendar.obj % erase src / widget / checkbox.obj % erase src / widget / combobox.obj % erase src / widget / entry.obj % erase src / widget / frame.obj % erase src / widget / image.obj % erase src / widget / label.obj % erase src / widget / listbox.obj % erase src / widget / menu.obj % erase src / widget / numberentry.obj % erase src / widget / opengl.obj % erase src / widget / progressbar.obj % erase src / widget / radiobox.obj % erase src / widget / scrollbar.obj % erase src / widget / separator.obj % erase src / widget / submenu.obj % erase src / widget / subwindow.obj % erase src / widget / tab.obj % erase src / widget / table.obj % erase src / widget / treeview.obj % erase src / widget / viewport.obj % erase src / widget / window.obj % erase src / Mw.dll % erase src / Mw.lib % erase examples / basic / box.obj % erase examples / basic / calculator.obj % erase examples / basic / checkbox.obj % erase examples / basic / clipboard.obj % erase examples / basic / colorpicker.obj % erase examples / basic / combobox.obj % erase examples / basic / example.obj % erase examples / basic / filechooser.obj % erase examples / basic / image.obj % erase examples / basic / listbox.obj % erase examples / basic / messagebox.obj % erase examples / basic / periodic.obj % erase examples / basic / progressbar.obj % erase examples / basic / radiobox.obj % erase examples / basic / rotate.obj % erase examples / basic / scrollbar.obj % erase examples / basic / sevensegment.obj % erase examples / basic / subwindow.obj % erase examples / basic / tab.obj % erase examples / basic / treeview.obj % erase examples / basic / viewport.obj % erase examples / gldemos / boing.obj % erase examples / gldemos / clock.obj % erase examples / gldemos / cube.obj % erase examples / gldemos / gears.obj % erase examples / gldemos / triangle.obj % erase examples / gldemos / tripaint.obj % erase examples / basic / box.exe % erase examples / basic / calculator.exe % erase examples / basic / checkbox.exe % erase examples / basic / clipboard.exe % erase examples / basic / colorpicker.exe % erase examples / basic / combobox.exe % erase examples / basic / example.exe % erase examples / basic / filechooser.exe % erase examples / basic / image.exe % erase examples / basic / listbox.exe % erase examples / basic / messagebox.exe % erase examples / basic / periodic.exe % erase examples / basic / progressbar.exe % erase examples / basic / radiobox.exe % erase examples / basic / rotate.exe % erase examples / basic / scrollbar.exe % erase examples / basic / sevensegment.exe % erase examples / basic / subwindow.exe % erase examples / basic / tab.exe % erase examples / basic / treeview.exe % erase examples / basic / viewport.exe % erase examples / gldemos / boing.exe % erase examples / gldemos / clock.exe % erase examples / gldemos / cube.exe % erase examples / gldemos / gears.exe % erase examples / gldemos / triangle.exe % erase examples / gldemos / tripaint.exe -examples/basic/box.exe: examples/basic/box.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/box.obj library clib3r.lib library src/Mw.lib + examples / + basic / box.exe : examples / basic / box.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / box.obj library clib3r.lib library src / Mw.lib -examples/basic/box.obj: examples/basic/box.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/box.c + examples / + basic / box.obj : examples / basic / box.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / box.c -examples/basic/calculator.exe: examples/basic/calculator.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/calculator.obj library clib3r.lib library src/Mw.lib + examples / + basic / calculator.exe : examples / basic / calculator.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / calculator.obj library clib3r.lib library src / Mw.lib -examples/basic/calculator.obj: examples/basic/calculator.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/calculator.c + examples / + basic / calculator.obj : examples / basic / calculator.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / calculator.c -examples/basic/checkbox.exe: examples/basic/checkbox.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/checkbox.obj library clib3r.lib library src/Mw.lib + examples / + basic / checkbox.exe : examples / basic / checkbox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / checkbox.obj library clib3r.lib library src / Mw.lib -examples/basic/checkbox.obj: examples/basic/checkbox.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/checkbox.c + examples / + basic / checkbox.obj : examples / basic / checkbox.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / checkbox.c -examples/basic/clipboard.exe: examples/basic/clipboard.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/clipboard.obj library clib3r.lib library src/Mw.lib + examples / + basic / clipboard.exe : examples / basic / clipboard.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / clipboard.obj library clib3r.lib library src / Mw.lib -examples/basic/clipboard.obj: examples/basic/clipboard.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/clipboard.c + examples / + basic / clipboard.obj : examples / basic / clipboard.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / clipboard.c -examples/basic/colorpicker.exe: examples/basic/colorpicker.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/colorpicker.obj library clib3r.lib library src/Mw.lib + examples / + basic / colorpicker.exe : examples / basic / colorpicker.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / colorpicker.obj library clib3r.lib library src / Mw.lib -examples/basic/colorpicker.obj: examples/basic/colorpicker.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/colorpicker.c + examples / + basic / colorpicker.obj : examples / basic / colorpicker.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / colorpicker.c -examples/basic/combobox.exe: examples/basic/combobox.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/combobox.obj library clib3r.lib library src/Mw.lib + examples / + basic / combobox.exe : examples / basic / combobox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / combobox.obj library clib3r.lib library src / Mw.lib -examples/basic/combobox.obj: examples/basic/combobox.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/combobox.c + examples / + basic / combobox.obj : examples / basic / combobox.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / combobox.c -examples/basic/example.exe: examples/basic/example.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/example.obj library clib3r.lib library src/Mw.lib + examples / + basic / example.exe : examples / basic / example.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / example.obj library clib3r.lib library src / Mw.lib -examples/basic/example.obj: examples/basic/example.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/example.c + examples / + basic / example.obj : examples / basic / example.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / example.c -examples/basic/filechooser.exe: examples/basic/filechooser.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/filechooser.obj library clib3r.lib library src/Mw.lib + examples / + basic / filechooser.exe : examples / basic / filechooser.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / filechooser.obj library clib3r.lib library src / Mw.lib -examples/basic/filechooser.obj: examples/basic/filechooser.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/filechooser.c + examples / + basic / filechooser.obj : examples / basic / filechooser.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / filechooser.c -examples/basic/image.exe: examples/basic/image.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/image.obj library clib3r.lib library src/Mw.lib + examples / + basic / image.exe : examples / basic / image.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / image.obj library clib3r.lib library src / Mw.lib -examples/basic/image.obj: examples/basic/image.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/image.c + examples / + basic / image.obj : examples / basic / image.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / image.c -examples/basic/listbox.exe: examples/basic/listbox.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/listbox.obj library clib3r.lib library src/Mw.lib + examples / + basic / listbox.exe : examples / basic / listbox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / listbox.obj library clib3r.lib library src / Mw.lib -examples/basic/listbox.obj: examples/basic/listbox.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/listbox.c + examples / + basic / listbox.obj : examples / basic / listbox.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / listbox.c -examples/basic/messagebox.exe: examples/basic/messagebox.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/messagebox.obj library clib3r.lib library src/Mw.lib + examples / + basic / messagebox.exe : examples / basic / messagebox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / messagebox.obj library clib3r.lib library src / Mw.lib -examples/basic/messagebox.obj: examples/basic/messagebox.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/messagebox.c + examples / + basic / messagebox.obj : examples / basic / messagebox.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / messagebox.c -examples/basic/periodic.exe: examples/basic/periodic.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/periodic.obj library clib3r.lib library src/Mw.lib + examples / + basic / periodic.exe : examples / basic / periodic.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / periodic.obj library clib3r.lib library src / Mw.lib -examples/basic/periodic.obj: examples/basic/periodic.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/periodic.c + examples / + basic / periodic.obj : examples / basic / periodic.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / periodic.c -examples/basic/progressbar.exe: examples/basic/progressbar.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/progressbar.obj library clib3r.lib library src/Mw.lib + examples / + basic / progressbar.exe : examples / basic / progressbar.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / progressbar.obj library clib3r.lib library src / Mw.lib -examples/basic/progressbar.obj: examples/basic/progressbar.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/progressbar.c + examples / + basic / progressbar.obj : examples / basic / progressbar.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / progressbar.c -examples/basic/radiobox.exe: examples/basic/radiobox.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/radiobox.obj library clib3r.lib library src/Mw.lib + examples / + basic / radiobox.exe : examples / basic / radiobox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / radiobox.obj library clib3r.lib library src / Mw.lib -examples/basic/radiobox.obj: examples/basic/radiobox.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/radiobox.c + examples / + basic / radiobox.obj : examples / basic / radiobox.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / radiobox.c -examples/basic/rotate.exe: examples/basic/rotate.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/rotate.obj library clib3r.lib library src/Mw.lib + examples / + basic / rotate.exe : examples / basic / rotate.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / rotate.obj library clib3r.lib library src / Mw.lib -examples/basic/rotate.obj: examples/basic/rotate.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/rotate.c + examples / + basic / rotate.obj : examples / basic / rotate.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / rotate.c -examples/basic/scrollbar.exe: examples/basic/scrollbar.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/scrollbar.obj library clib3r.lib library src/Mw.lib + examples / + basic / scrollbar.exe : examples / basic / scrollbar.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / scrollbar.obj library clib3r.lib library src / Mw.lib -examples/basic/scrollbar.obj: examples/basic/scrollbar.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/scrollbar.c + examples / + basic / scrollbar.obj : examples / basic / scrollbar.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / scrollbar.c -examples/basic/sevensegment.exe: examples/basic/sevensegment.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/sevensegment.obj library clib3r.lib library src/Mw.lib + examples / + basic / sevensegment.exe : examples / basic / sevensegment.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / sevensegment.obj library clib3r.lib library src / Mw.lib -examples/basic/sevensegment.obj: examples/basic/sevensegment.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/sevensegment.c + examples / + basic / sevensegment.obj : examples / basic / sevensegment.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / sevensegment.c -examples/basic/subwindow.exe: examples/basic/subwindow.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/subwindow.obj library clib3r.lib library src/Mw.lib + examples / + basic / subwindow.exe : examples / basic / subwindow.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / subwindow.obj library clib3r.lib library src / Mw.lib -examples/basic/subwindow.obj: examples/basic/subwindow.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/subwindow.c + examples / + basic / subwindow.obj : examples / basic / subwindow.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / subwindow.c -examples/basic/tab.exe: examples/basic/tab.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/tab.obj library clib3r.lib library src/Mw.lib + examples / + basic / tab.exe : examples / basic / tab.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / tab.obj library clib3r.lib library src / Mw.lib -examples/basic/tab.obj: examples/basic/tab.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/tab.c + examples / + basic / tab.obj : examples / basic / tab.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / tab.c -examples/basic/treeview.exe: examples/basic/treeview.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/treeview.obj library clib3r.lib library src/Mw.lib + examples / + basic / treeview.exe : examples / basic / treeview.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / treeview.obj library clib3r.lib library src / Mw.lib -examples/basic/treeview.obj: examples/basic/treeview.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/treeview.c + examples / + basic / treeview.obj : examples / basic / treeview.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / treeview.c -examples/basic/viewport.exe: examples/basic/viewport.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/viewport.obj library clib3r.lib library src/Mw.lib + examples / + basic / viewport.exe : examples / basic / viewport.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / viewport.obj library clib3r.lib library src / Mw.lib -examples/basic/viewport.obj: examples/basic/viewport.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/viewport.c + examples / + basic / viewport.obj : examples / basic / viewport.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / basic / viewport.c -examples/gldemos/boing.exe: examples/gldemos/boing.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/boing.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib + examples / + gldemos / boing.exe : examples / gldemos / boing.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / boing.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib -examples/gldemos/boing.obj: examples/gldemos/boing.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/boing.c + examples / + gldemos / boing.obj : examples / gldemos / boing.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / gldemos / boing.c -examples/gldemos/clock.exe: examples/gldemos/clock.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/clock.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib + examples / + gldemos / clock.exe : examples / gldemos / clock.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / clock.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib -examples/gldemos/clock.obj: examples/gldemos/clock.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/clock.c + examples / + gldemos / clock.obj : examples / gldemos / clock.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / gldemos / clock.c -examples/gldemos/cube.exe: examples/gldemos/cube.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/cube.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib + examples / + gldemos / cube.exe : examples / gldemos / cube.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / cube.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib -examples/gldemos/cube.obj: examples/gldemos/cube.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/cube.c + examples / + gldemos / cube.obj : examples / gldemos / cube.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / gldemos / cube.c -examples/gldemos/gears.exe: examples/gldemos/gears.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/gears.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib + examples / + gldemos / gears.exe : examples / gldemos / gears.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / gears.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib -examples/gldemos/gears.obj: examples/gldemos/gears.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/gears.c + examples / + gldemos / gears.obj : examples / gldemos / gears.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / gldemos / gears.c -examples/gldemos/triangle.exe: examples/gldemos/triangle.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/triangle.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib + examples / + gldemos / triangle.exe : examples / gldemos / triangle.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / triangle.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib -examples/gldemos/triangle.obj: examples/gldemos/triangle.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/triangle.c + examples / + gldemos / triangle.obj : examples / gldemos / triangle.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / gldemos / triangle.c -examples/gldemos/tripaint.exe: examples/gldemos/tripaint.obj src/Mw.dll - $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/tripaint.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib + examples / + gldemos / tripaint.exe : examples / gldemos / tripaint.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / tripaint.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib -examples/gldemos/tripaint.obj: examples/gldemos/tripaint.c - $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/tripaint.c + examples / + gldemos / tripaint.obj : examples / gldemos / tripaint.c $(CC) $(EXE_CFLAGS) - + fo = $ @examples / gldemos / tripaint.c + src / + Mw.dll : external / libz / src / adler32.obj external / libz / src / compress.obj external / libz / src / crc32.obj external / libz / src / deflate.obj external / libz / src / gzclose.obj external / libz / src / gzlib.obj external / libz / src / gzread.obj external / libz / src / gzwrite.obj external / libz / src / infback.obj external / libz / src / inffast.obj external / libz / src / inflate.obj external / libz / src / inftrees.obj external / libz / src / trees.obj external / libz / src / uncompr.obj external / libz / src / zutil.obj external / stb_ds.obj external / stb_image.obj external / stb_truetype.obj src / abstract / charset.obj src / abstract / directory.obj src / abstract / dynamic.obj src / abstract / time.obj src / backend / gdi.obj src / color.obj src / core.obj src / cursor / arrow.obj src / cursor / cross.obj src / cursor / default.obj src / cursor / hidden.obj src / cursor / text.obj src / default.obj src / dialog / colorpicker.obj src / dialog / directorychooser.obj src / dialog / filechooser.obj src / dialog / messagebox.obj src / draw.obj src / icon / back.obj src / icon / clock.obj src / icon / computer.obj src / icon / directory.obj src / icon / down.obj src / icon / error.obj src / icon / file.obj src / icon / forward.obj src / icon / info.obj src / icon / left.obj src / icon / news.obj src / icon / note.obj src / icon / right.obj src / icon / search.obj src / icon / up.obj src / icon / warning.obj src / lowlevel.obj src / string.obj src / text / font / boldfont.obj src / text / font / boldmonottf.obj src / text / font / boldttf.obj src / text / font / font.obj src / text / font / monottf.obj src / text / font / ttf.obj src / text / ft2.obj src / text / gdi.obj src / text / stbtt.obj src / text / text.obj src / truetype.obj src / unicode.obj src / widget / box.obj src / widget / button.obj src / widget / calendar.obj src / widget / checkbox.obj src / widget / combobox.obj src / widget / entry.obj src / widget / frame.obj src / widget / image.obj src / widget / label.obj src / widget / listbox.obj src / widget / menu.obj src / widget / numberentry.obj src / widget / opengl.obj src / widget / progressbar.obj src / widget / radiobox.obj src / widget / scrollbar.obj src / widget / separator.obj src / widget / submenu.obj src / widget / subwindow.obj src / widget / tab.obj src / widget / table.obj src / widget / treeview.obj src / widget / viewport.obj src / widget / window.obj $(LD) $(MW_LDFLAGS) option implib = src / Mw.lib name $ @file external / libz / src / adler32.obj file external / libz / src / compress.obj file external / libz / src / crc32.obj file external / libz / src / deflate.obj file external / libz / src / gzclose.obj file external / libz / src / gzlib.obj file external / libz / src / gzread.obj file external / libz / src / gzwrite.obj file external / libz / src / infback.obj file external / libz / src / inffast.obj file external / libz / src / inflate.obj file external / libz / src / inftrees.obj file external / libz / src / trees.obj file external / libz / src / uncompr.obj file external / libz / src / zutil.obj file external / stb_ds.obj file external / stb_image.obj file external / stb_truetype.obj file src / abstract / charset.obj file src / abstract / directory.obj file src / abstract / dynamic.obj file src / abstract / time.obj file src / backend / gdi.obj file src / color.obj file src / core.obj file src / cursor / arrow.obj file src / cursor / cross.obj file src / cursor / default.obj file src / cursor / hidden.obj file src / cursor / text.obj file src / default.obj file src / dialog / colorpicker.obj file src / dialog / directorychooser.obj file src / dialog / filechooser.obj file src / dialog / messagebox.obj file src / draw.obj file src / icon / back.obj file src / icon / clock.obj file src / icon / computer.obj file src / icon / directory.obj file src / icon / down.obj file src / icon / error.obj file src / icon / file.obj file src / icon / forward.obj file src / icon / info.obj file src / icon / left.obj file src / icon / news.obj file src / icon / note.obj file src / icon / right.obj file src / icon / search.obj file src / icon / up.obj file src / icon / warning.obj file src / lowlevel.obj file src / string.obj file src / text / font / boldfont.obj file src / text / font / boldmonottf.obj file src / text / font / boldttf.obj file src / text / font / font.obj file src / text / font / monottf.obj file src / text / font / ttf.obj file src / text / ft2.obj file src / text / gdi.obj file src / text / stbtt.obj file src / text / text.obj file src / truetype.obj file src / unicode.obj file src / widget / box.obj file src / widget / button.obj file src / widget / calendar.obj file src / widget / checkbox.obj file src / widget / combobox.obj file src / widget / entry.obj file src / widget / frame.obj file src / widget / image.obj file src / widget / label.obj file src / widget / listbox.obj file src / widget / menu.obj file src / widget / numberentry.obj file src / widget / opengl.obj file src / widget / progressbar.obj file src / widget / radiobox.obj file src / widget / scrollbar.obj file src / widget / separator.obj file src / widget / submenu.obj file src / widget / subwindow.obj file src / widget / tab.obj file src / widget / table.obj file src / widget / treeview.obj file src / widget / viewport.obj file src / widget / window.obj library clib3r.lib library opengl32.lib library gdi32.lib library winmm.lib library user32.lib library advapi32.lib -src/Mw.dll: external/libz/src/adler32.obj external/libz/src/compress.obj external/libz/src/crc32.obj external/libz/src/deflate.obj external/libz/src/gzclose.obj external/libz/src/gzlib.obj external/libz/src/gzread.obj external/libz/src/gzwrite.obj external/libz/src/infback.obj external/libz/src/inffast.obj external/libz/src/inflate.obj external/libz/src/inftrees.obj external/libz/src/trees.obj external/libz/src/uncompr.obj external/libz/src/zutil.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/charset.obj src/abstract/directory.obj src/abstract/dynamic.obj src/abstract/time.obj src/backend/gdi.obj src/color.obj src/core.obj src/cursor/arrow.obj src/cursor/cross.obj src/cursor/default.obj src/cursor/hidden.obj src/cursor/text.obj src/default.obj src/dialog/colorpicker.obj src/dialog/directorychooser.obj src/dialog/filechooser.obj src/dialog/messagebox.obj src/draw.obj src/icon/back.obj src/icon/clock.obj src/icon/computer.obj src/icon/directory.obj src/icon/down.obj src/icon/error.obj src/icon/file.obj src/icon/forward.obj src/icon/info.obj src/icon/left.obj src/icon/news.obj src/icon/note.obj src/icon/right.obj src/icon/search.obj src/icon/up.obj src/icon/warning.obj src/lowlevel.obj src/string.obj src/text/font/boldfont.obj src/text/font/boldmonottf.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/monottf.obj src/text/font/ttf.obj src/text/ft2.obj src/text/gdi.obj src/text/stbtt.obj src/text/text.obj src/truetype.obj src/unicode.obj src/widget/box.obj src/widget/button.obj src/widget/calendar.obj src/widget/checkbox.obj src/widget/combobox.obj src/widget/entry.obj src/widget/frame.obj src/widget/image.obj src/widget/label.obj src/widget/listbox.obj src/widget/menu.obj src/widget/numberentry.obj src/widget/opengl.obj src/widget/progressbar.obj src/widget/radiobox.obj src/widget/scrollbar.obj src/widget/separator.obj src/widget/submenu.obj src/widget/subwindow.obj src/widget/tab.obj src/widget/table.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj - $(LD) $(MW_LDFLAGS) option implib=src/Mw.lib name $@ file external/libz/src/adler32.obj file external/libz/src/compress.obj file external/libz/src/crc32.obj file external/libz/src/deflate.obj file external/libz/src/gzclose.obj file external/libz/src/gzlib.obj file external/libz/src/gzread.obj file external/libz/src/gzwrite.obj file external/libz/src/infback.obj file external/libz/src/inffast.obj file external/libz/src/inflate.obj file external/libz/src/inftrees.obj file external/libz/src/trees.obj file external/libz/src/uncompr.obj file external/libz/src/zutil.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/charset.obj file src/abstract/directory.obj file src/abstract/dynamic.obj file src/abstract/time.obj file src/backend/gdi.obj file src/color.obj file src/core.obj file src/cursor/arrow.obj file src/cursor/cross.obj file src/cursor/default.obj file src/cursor/hidden.obj file src/cursor/text.obj file src/default.obj file src/dialog/colorpicker.obj file src/dialog/directorychooser.obj file src/dialog/filechooser.obj file src/dialog/messagebox.obj file src/draw.obj file src/icon/back.obj file src/icon/clock.obj file src/icon/computer.obj file src/icon/directory.obj file src/icon/down.obj file src/icon/error.obj file src/icon/file.obj file src/icon/forward.obj file src/icon/info.obj file src/icon/left.obj file src/icon/news.obj file src/icon/note.obj file src/icon/right.obj file src/icon/search.obj file src/icon/up.obj file src/icon/warning.obj file src/lowlevel.obj file src/string.obj file src/text/font/boldfont.obj file src/text/font/boldmonottf.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/monottf.obj file src/text/font/ttf.obj file src/text/ft2.obj file src/text/gdi.obj file src/text/stbtt.obj file src/text/text.obj file src/truetype.obj file src/unicode.obj file src/widget/box.obj file src/widget/button.obj file src/widget/calendar.obj file src/widget/checkbox.obj file src/widget/combobox.obj file src/widget/entry.obj file src/widget/frame.obj file src/widget/image.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/menu.obj file src/widget/numberentry.obj file src/widget/opengl.obj file src/widget/progressbar.obj file src/widget/radiobox.obj file src/widget/scrollbar.obj file src/widget/separator.obj file src/widget/submenu.obj file src/widget/subwindow.obj file src/widget/tab.obj file src/widget/table.obj file src/widget/treeview.obj file src/widget/viewport.obj file src/widget/window.obj library clib3r.lib library opengl32.lib library gdi32.lib library winmm.lib library user32.lib library advapi32.lib - - - -external/libz/src/adler32.obj: external/libz/src/adler32.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/adler32.c -external/libz/src/compress.obj: external/libz/src/compress.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/compress.c -external/libz/src/crc32.obj: external/libz/src/crc32.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/crc32.c -external/libz/src/deflate.obj: external/libz/src/deflate.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/deflate.c -external/libz/src/gzclose.obj: external/libz/src/gzclose.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/gzclose.c -external/libz/src/gzlib.obj: external/libz/src/gzlib.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/gzlib.c -external/libz/src/gzread.obj: external/libz/src/gzread.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/gzread.c -external/libz/src/gzwrite.obj: external/libz/src/gzwrite.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/gzwrite.c -external/libz/src/infback.obj: external/libz/src/infback.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/infback.c -external/libz/src/inffast.obj: external/libz/src/inffast.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/inffast.c -external/libz/src/inflate.obj: external/libz/src/inflate.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/inflate.c -external/libz/src/inftrees.obj: external/libz/src/inftrees.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/inftrees.c -external/libz/src/trees.obj: external/libz/src/trees.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/trees.c -external/libz/src/uncompr.obj: external/libz/src/uncompr.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/uncompr.c -external/libz/src/zutil.obj: external/libz/src/zutil.c - $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/zutil.c -external/stb_ds.obj: external/stb_ds.c - $(CC) $(MW_CFLAGS) -fo=$@ external/stb_ds.c -external/stb_image.obj: external/stb_image.c - $(CC) $(MW_CFLAGS) -fo=$@ external/stb_image.c -external/stb_truetype.obj: external/stb_truetype.c - $(CC) $(MW_CFLAGS) -fo=$@ external/stb_truetype.c -src/abstract/charset.obj: src/abstract/charset.c - $(CC) $(MW_CFLAGS) -fo=$@ src/abstract/charset.c -src/abstract/directory.obj: src/abstract/directory.c - $(CC) $(MW_CFLAGS) -fo=$@ src/abstract/directory.c -src/abstract/dynamic.obj: src/abstract/dynamic.c - $(CC) $(MW_CFLAGS) -fo=$@ src/abstract/dynamic.c -src/abstract/time.obj: src/abstract/time.c - $(CC) $(MW_CFLAGS) -fo=$@ src/abstract/time.c -src/backend/gdi.obj: src/backend/gdi.c - $(CC) $(MW_CFLAGS) -fo=$@ src/backend/gdi.c -src/color.obj: src/color.c - $(CC) $(MW_CFLAGS) -fo=$@ src/color.c -src/core.obj: src/core.c - $(CC) $(MW_CFLAGS) -fo=$@ src/core.c -src/cursor/arrow.obj: src/cursor/arrow.c - $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/arrow.c -src/cursor/cross.obj: src/cursor/cross.c - $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/cross.c -src/cursor/default.obj: src/cursor/default.c - $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/default.c -src/cursor/hidden.obj: src/cursor/hidden.c - $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/hidden.c -src/cursor/text.obj: src/cursor/text.c - $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/text.c -src/default.obj: src/default.c - $(CC) $(MW_CFLAGS) -fo=$@ src/default.c -src/dialog/colorpicker.obj: src/dialog/colorpicker.c - $(CC) $(MW_CFLAGS) -fo=$@ src/dialog/colorpicker.c -src/dialog/directorychooser.obj: src/dialog/directorychooser.c - $(CC) $(MW_CFLAGS) -fo=$@ src/dialog/directorychooser.c -src/dialog/filechooser.obj: src/dialog/filechooser.c - $(CC) $(MW_CFLAGS) -fo=$@ src/dialog/filechooser.c -src/dialog/messagebox.obj: src/dialog/messagebox.c - $(CC) $(MW_CFLAGS) -fo=$@ src/dialog/messagebox.c -src/draw.obj: src/draw.c - $(CC) $(MW_CFLAGS) -fo=$@ src/draw.c -src/icon/back.obj: src/icon/back.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/back.c -src/icon/clock.obj: src/icon/clock.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/clock.c -src/icon/computer.obj: src/icon/computer.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/computer.c -src/icon/directory.obj: src/icon/directory.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/directory.c -src/icon/down.obj: src/icon/down.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/down.c -src/icon/error.obj: src/icon/error.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/error.c -src/icon/file.obj: src/icon/file.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/file.c -src/icon/forward.obj: src/icon/forward.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/forward.c -src/icon/info.obj: src/icon/info.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/info.c -src/icon/left.obj: src/icon/left.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/left.c -src/icon/news.obj: src/icon/news.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/news.c -src/icon/note.obj: src/icon/note.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/note.c -src/icon/right.obj: src/icon/right.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/right.c -src/icon/search.obj: src/icon/search.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/search.c -src/icon/up.obj: src/icon/up.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/up.c -src/icon/warning.obj: src/icon/warning.c - $(CC) $(MW_CFLAGS) -fo=$@ src/icon/warning.c -src/lowlevel.obj: src/lowlevel.c - $(CC) $(MW_CFLAGS) -fo=$@ src/lowlevel.c -src/string.obj: src/string.c - $(CC) $(MW_CFLAGS) -fo=$@ src/string.c -src/text/font/boldfont.obj: src/text/font/boldfont.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/boldfont.c -src/text/font/boldmonottf.obj: src/text/font/boldmonottf.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/boldmonottf.c -src/text/font/boldttf.obj: src/text/font/boldttf.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/boldttf.c -src/text/font/font.obj: src/text/font/font.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/font.c -src/text/font/monottf.obj: src/text/font/monottf.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/monottf.c -src/text/font/ttf.obj: src/text/font/ttf.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/ttf.c -src/text/ft2.obj: src/text/ft2.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/ft2.c -src/text/gdi.obj: src/text/gdi.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/gdi.c -src/text/stbtt.obj: src/text/stbtt.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/stbtt.c -src/text/text.obj: src/text/text.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/text.c -src/truetype.obj: src/truetype.c - $(CC) $(MW_CFLAGS) -fo=$@ src/truetype.c -src/unicode.obj: src/unicode.c - $(CC) $(MW_CFLAGS) -fo=$@ src/unicode.c -src/widget/box.obj: src/widget/box.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/box.c -src/widget/button.obj: src/widget/button.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/button.c -src/widget/calendar.obj: src/widget/calendar.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/calendar.c -src/widget/checkbox.obj: src/widget/checkbox.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/checkbox.c -src/widget/combobox.obj: src/widget/combobox.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/combobox.c -src/widget/entry.obj: src/widget/entry.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/entry.c -src/widget/frame.obj: src/widget/frame.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/frame.c -src/widget/image.obj: src/widget/image.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/image.c -src/widget/label.obj: src/widget/label.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/label.c -src/widget/listbox.obj: src/widget/listbox.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/listbox.c -src/widget/menu.obj: src/widget/menu.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/menu.c -src/widget/numberentry.obj: src/widget/numberentry.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/numberentry.c -src/widget/opengl.obj: src/widget/opengl.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/opengl.c -src/widget/progressbar.obj: src/widget/progressbar.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/progressbar.c -src/widget/radiobox.obj: src/widget/radiobox.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/radiobox.c -src/widget/scrollbar.obj: src/widget/scrollbar.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/scrollbar.c -src/widget/separator.obj: src/widget/separator.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/separator.c -src/widget/submenu.obj: src/widget/submenu.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/submenu.c -src/widget/subwindow.obj: src/widget/subwindow.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/subwindow.c -src/widget/tab.obj: src/widget/tab.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/tab.c -src/widget/table.obj: src/widget/table.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/table.c -src/widget/treeview.obj: src/widget/treeview.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/treeview.c -src/widget/viewport.obj: src/widget/viewport.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/viewport.c -src/widget/window.obj: src/widget/window.c - $(CC) $(MW_CFLAGS) -fo=$@ src/widget/window.c + external / + libz / src / adler32.obj : external / libz / src / adler32.c $(CC) $(MW_CFLAGS) - + fo = $ @external / libz / src / adler32.c external / libz / src / compress.obj : external / libz / src / compress.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / compress.c external / libz / src / crc32.obj : external / libz / src / crc32.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / crc32.c external / libz / src / deflate.obj : external / libz / src / deflate.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / deflate.c external / libz / src / gzclose.obj : external / libz / src / gzclose.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / gzclose.c external / libz / src / gzlib.obj : external / libz / src / gzlib.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / gzlib.c external / libz / src / gzread.obj : external / libz / src / gzread.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / gzread.c external / libz / src / gzwrite.obj : external / libz / src / gzwrite.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / gzwrite.c external / libz / src / infback.obj : external / libz / src / infback.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / infback.c external / libz / src / inffast.obj : external / libz / src / inffast.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / inffast.c external / libz / src / inflate.obj : external / libz / src / inflate.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / inflate.c external / libz / src / inftrees.obj : external / libz / src / inftrees.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / inftrees.c external / libz / src / trees.obj : external / libz / src / trees.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / trees.c external / libz / src / uncompr.obj : external / libz / src / uncompr.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / uncompr.c external / libz / src / zutil.obj : external / libz / src / zutil.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / zutil.c external / stb_ds.obj : external / stb_ds.c $(CC) $(MW_CFLAGS) - fo = $ @external / stb_ds.c external / stb_image.obj : external / stb_image.c $(CC) $(MW_CFLAGS) - fo = $ @external / stb_image.c external / stb_truetype.obj : external / stb_truetype.c $(CC) $(MW_CFLAGS) - fo = $ @external / stb_truetype.c src / abstract / charset.obj : src / abstract / charset.c $(CC) $(MW_CFLAGS) - fo = $ @src / abstract / charset.c src / abstract / directory.obj : src / abstract / directory.c $(CC) $(MW_CFLAGS) - fo = $ @src / abstract / directory.c src / abstract / dynamic.obj : src / abstract / dynamic.c $(CC) $(MW_CFLAGS) - fo = $ @src / abstract / dynamic.c src / abstract / time.obj : src / abstract / time.c $(CC) $(MW_CFLAGS) - fo = $ @src / abstract / time.c src / backend / gdi.obj : src / backend / gdi.c $(CC) $(MW_CFLAGS) - fo = $ @src / backend / gdi.c src / color.obj : src / color.c $(CC) $(MW_CFLAGS) - fo = $ @src / color.c src / core.obj : src / core.c $(CC) $(MW_CFLAGS) - fo = $ @src / core.c src / cursor / arrow.obj : src / cursor / arrow.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / arrow.c src / cursor / cross.obj : src / cursor / cross.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / cross.c src / cursor / default.obj : src / cursor / default.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / default.c src / cursor / hidden.obj : src / cursor / hidden.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / hidden.c src / cursor / text.obj : src / cursor / text.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / text.c src / default.obj : src / default.c $(CC) $(MW_CFLAGS) - fo = $ @src / default.c src / dialog / colorpicker.obj : src / dialog / colorpicker.c $(CC) $(MW_CFLAGS) - fo = $ @src / dialog / colorpicker.c src / dialog / directorychooser.obj : src / dialog / directorychooser.c $(CC) $(MW_CFLAGS) - fo = $ @src / dialog / directorychooser.c src / dialog / filechooser.obj : src / dialog / filechooser.c $(CC) $(MW_CFLAGS) - fo = $ @src / dialog / filechooser.c src / dialog / messagebox.obj : src / dialog / messagebox.c $(CC) $(MW_CFLAGS) - fo = $ @src / dialog / messagebox.c src / draw.obj : src / draw.c $(CC) $(MW_CFLAGS) - fo = $ @src / draw.c src / icon / back.obj : src / icon / back.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / back.c src / icon / clock.obj : src / icon / clock.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / clock.c src / icon / computer.obj : src / icon / computer.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / computer.c src / icon / directory.obj : src / icon / directory.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / directory.c src / icon / down.obj : src / icon / down.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / down.c src / icon / error.obj : src / icon / error.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / error.c src / icon / file.obj : src / icon / file.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / file.c src / icon / forward.obj : src / icon / forward.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / forward.c src / icon / info.obj : src / icon / info.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / info.c src / icon / left.obj : src / icon / left.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / left.c src / icon / news.obj : src / icon / news.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / news.c src / icon / note.obj : src / icon / note.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / note.c src / icon / right.obj : src / icon / right.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / right.c src / icon / search.obj : src / icon / search.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / search.c src / icon / up.obj : src / icon / up.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / up.c src / icon / warning.obj : src / icon / warning.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / warning.c src / lowlevel.obj : src / lowlevel.c $(CC) $(MW_CFLAGS) - fo = $ @src / lowlevel.c src / string.obj : src / string.c $(CC) $(MW_CFLAGS) - fo = $ @src / string.c src / text / font / boldfont.obj : src / text / font / boldfont.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / boldfont.c src / text / font / boldmonottf.obj : src / text / font / boldmonottf.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / boldmonottf.c src / text / font / boldttf.obj : src / text / font / boldttf.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / boldttf.c src / text / font / font.obj : src / text / font / font.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / font.c src / text / font / monottf.obj : src / text / font / monottf.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / monottf.c src / text / font / ttf.obj : src / text / font / ttf.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / ttf.c src / text / ft2.obj : src / text / ft2.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / ft2.c src / text / gdi.obj : src / text / gdi.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / gdi.c src / text / stbtt.obj : src / text / stbtt.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / stbtt.c src / text / text.obj : src / text / text.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / text.c src / truetype.obj : src / truetype.c $(CC) $(MW_CFLAGS) - fo = $ @src / truetype.c src / unicode.obj : src / unicode.c $(CC) $(MW_CFLAGS) - fo = $ @src / unicode.c src / widget / box.obj : src / widget / box.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / box.c src / widget / button.obj : src / widget / button.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / button.c src / widget / calendar.obj : src / widget / calendar.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / calendar.c src / widget / checkbox.obj : src / widget / checkbox.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / checkbox.c src / widget / combobox.obj : src / widget / combobox.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / combobox.c src / widget / entry.obj : src / widget / entry.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / entry.c src / widget / frame.obj : src / widget / frame.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / frame.c src / widget / image.obj : src / widget / image.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / image.c src / widget / label.obj : src / widget / label.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / label.c src / widget / listbox.obj : src / widget / listbox.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / listbox.c src / widget / menu.obj : src / widget / menu.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / menu.c src / widget / numberentry.obj : src / widget / numberentry.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / numberentry.c src / widget / opengl.obj : src / widget / opengl.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / opengl.c src / widget / progressbar.obj : src / widget / progressbar.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / progressbar.c src / widget / radiobox.obj : src / widget / radiobox.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / radiobox.c src / widget / scrollbar.obj : src / widget / scrollbar.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / scrollbar.c src / widget / separator.obj : src / widget / separator.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / separator.c src / widget / submenu.obj : src / widget / submenu.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / submenu.c src / widget / subwindow.obj : src / widget / subwindow.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / subwindow.c src / widget / tab.obj : src / widget / tab.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / tab.c src / widget / table.obj : src / widget / table.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / table.c src / widget / treeview.obj : src / widget / treeview.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / treeview.c src / widget / viewport.obj : src / widget / viewport.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / viewport.c src / widget / window.obj : src / widget / window.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / window.c diff --git a/configure b/configure index 44db66d..e3d7ed3 100755 --- a/configure +++ b/configure @@ -1,26 +1,27 @@ -#!/usr/bin/env perl -our $target = `uname -s`; -$target =~ s/\r?\n$//; +#!/ usr / bin / env perl +our $target = `uname - s`; +$target = ~s /\r ?\n$ //; -# MSYS with MinGW gives us some other shit idk -if (index($target, "MINGW") != -1) { - $target = "Windows"; +#MSYS with MinGW gives us some other shit idk + if(index($target, "MINGW") != -1) { + $target = "Windows"; } -foreach my $l (@ARGV) { - if ($l =~ /^--.+$/) { - } - elsif ($l =~ /^(.+)=(.+)$/) { - $ENV{$1} = $2; - } -} +foreach + my $l(@ARGV) { + if($l = ~/ ^--.+ $ /) { + } + elsif($l = ~/ ^(.+) = (.+) $ /) { + $ENV{$1} = $2; + } + } our $prefix = "/usr/local"; -our $cc = defined($ENV{CC}) ? $ENV{CC} : "*host*gcc"; -our $cxx = defined($ENV{CXX}) ? $ENV{CXX} : "*host*g++"; -our $ar = defined($ENV{AR}) ? $ENV{AR} : "*host*ar"; +our $cc = defined($ENV{CC}) ? $ENV{CC} : "*host*gcc"; +our $cxx = defined($ENV{CXX}) ? $ENV{CXX} : "*host*g++"; +our $ar = defined($ENV{AR}) ? $ENV{AR} : "*host*ar"; our $incdir = "-I include"; -our $incdir2 = ""; +our $incdir2 = ""; our $cflags = "-fPIC -D_MILSKO -D_MILSKO_BUILD -fvisibility=hidden"; our $libdir = ""; our $ldflags = ""; @@ -35,183 +36,181 @@ our $executable_suffix = ""; our @library_targets = (); our @examples_targets = (); -our %examples_libs = (); +our % examples_libs = (); our $cross = 0; our $host = ""; require("./pl/utils.pl"); -param_set("classic-theme", 0); -param_set("stb-image", 1); -param_set("opengl", 0); -param_set("vulkan", 0); +param_set("classic-theme", 0); +param_set("stb-image", 1); +param_set("opengl", 0); +param_set("vulkan", 0); param_set("vulkan-string-helper", 1); -param_set("shared", 1); -param_set("static", 1); -param_set("examples", 1); +param_set("shared", 1); +param_set("static", 1); +param_set("examples", 1); -# (option that only makes sense on x11) +#(option that only makes sense on x11) param_set("allow-sloppy-focus", 0); -my %features = ( - "classic-theme" => "use classic theme", - "stb-image" => "use stb_image, instead use libjpeg/libpng", - "stb-truetype" => "use stb_truetype", - "freetype2" => "use FreeType2", - "gdi-text" => "(Windows only) use GDI Text", - "xrender" => "(X11 only) use XRender", - "opengl" => "build OpenGL widget", - "vulkan" => "build Vulkan widget", - "vulkan-string-helper" => "use Vulkan string helper", - "shared" => "build shared library", - "static" => "build static library", - "wayland" => "enable wayland backend", - "gnustep" => "use gnustep", - "dbus" => "use DBus on supported platform", - "allow-sloppy-focus" => "prevent the x11 backend from using XSetInputFocus to enforce click-to-focus" -); -my @features_keys = ( - "1classic-theme", "1stb-image", - "1stb-truetype", "1freetype2", "1gdi-text", - "1opengl", "2xrender", - "1vulkan", "2vulkan-string-helper", - "1shared", "1static", - "1wayland", "1gnustep", - "1dbus" -); +my % features = ("classic-theme" = > "use classic theme", + "stb-image" = > "use stb_image, instead use libjpeg/libpng", + "stb-truetype" = > "use stb_truetype", + "freetype2" = > "use FreeType2", + "gdi-text" = > "(Windows only) use GDI Text", + "xrender" = > "(X11 only) use XRender", + "opengl" = > "build OpenGL widget", + "vulkan" = > "build Vulkan widget", + "vulkan-string-helper" = > "use Vulkan string helper", + "shared" = > "build shared library", + "static" = > "build static library", + "wayland" = > "enable wayland backend", + "gnustep" = > "use gnustep", + "dbus" = > "use DBus on supported platform", + "allow-sloppy-focus" = > "prevent the x11 backend from using XSetInputFocus to enforce click-to-focus"); +my @features_keys = ("1classic-theme", "1stb-image", + "1stb-truetype", "1freetype2", "1gdi-text", + "1opengl", "2xrender", + "1vulkan", "2vulkan-string-helper", + "1shared", "1static", + "1wayland", "1gnustep", + "1dbus"); sub def_platform { if($target eq "Windows") { - param_set("freetype2", 0); - param_set("stb-truetype", 0); - } elsif($target ne "Darwin" and $target ne "ClassicMacOS" and $target ne "Haiku") { - param_set("freetype2", 1); - param_set("stb-truetype", 0); - } else { - param_set("freetype2", 0); - param_set("stb-truetype", 1); + param_set("freetype2", 0); + param_set("stb-truetype", 0); + } + elsif($target ne "Darwin" and $target ne "ClassicMacOS" and $target ne "Haiku") { + param_set("freetype2", 1); + param_set("stb-truetype", 0); + } + else { + param_set("freetype2", 0); + param_set("stb-truetype", 1); } if($target eq "Linux" || $target eq "FreeBSD") { - param_set("x11", 1); - param_set("xrender", 1); - if(!param_get("tiny")){ - param_set("wayland", 1); - } - param_set("dbus", 1); - } - if($target eq "NetBSD" || $target eq "OpenBSD") { - param_set("x11", 1); - } - if($target eq "Windows") { - param_set("gdi-text", 1); - } else { - param_set("gdi-text", 0); - } + param_set("x11", 1); + param_set("xrender", 1); + if(!param_get("tiny")) { + param_set("wayland", 1); + } + param_set("dbus", 1); + } + if($target eq "NetBSD" || $target eq "OpenBSD") { + param_set("x11", 1); + } + if($target eq "Windows") { + param_set("gdi-text", 1); + } else { + param_set("gdi-text", 0); + } } -foreach my $l (@ARGV) { - if ($l =~ /^--target=(.+)$/) { - $target = $1; - } -} +foreach + my $l(@ARGV) { + if($l = ~/ ^--target = (.+) $ /) { + $target = $1; + } + } def_platform(); +foreach + my $l(@ARGV) { + if($l = ~/ ^--with - ([^=] +) = (.+) $ /) { + param_set($1, $2); + } + elsif($l = ~/ ^--(?: with | enable) - (.+) $ /) { + param_set($1, 1); + } + elsif($l = ~/ ^--(?: without | disable) - (.+) $ /) { + param_set($1, 0); + } + elsif($l = ~/ ^--host = (.+) $ /) { + $host = $1."-"; + } + elsif($l = ~/ ^--cflags = (.+) $ /) { + add_cflags($1); + } + elsif($l eq "--cross") { + $cross = 1; + } + elsif($l eq "--tiny") { + param_set("tiny", 1); + } + elsif(($l eq "-h") or ($l eq "--help")) { + print("Milsko Toolkit Configuration Utility\n"); + print("\n"); + print("Usage: $0 [options]\n"); + print("\n"); + print("Options:\n"); + print(" -h --help Display this help\n"); + print(" --prefix=PREFIX Installation prefix\n"); + print(" --host=TARGET Host for compiler/archiver\n"); + print(" --target=TARGET Specify target\n"); + print(" --cflags=CFLAGS Add cflags\n"); + print(" --tiny Build smallest possible library\n"); + print(" --cross Indicate cross compilation\n"); + print("\n"); + print("Features:\n"); + print(" --enable-FEATURE Use FEATURE\n"); + print(" --with-FEATURE Use FEATURE\n"); + print(" --disable-FEATURE Do not use FEATURE\n"); + print(" --without-FEATURE Do not use FEATURE\n"); -foreach my $l (@ARGV) { - if ($l =~ /^--with-([^=]+)=(.+)$/) { - param_set($1, $2); - } - elsif ($l =~ /^--(?:with|enable)-(.+)$/) { - param_set($1, 1); - } - elsif ($l =~ /^--(?:without|disable)-(.+)$/) { - param_set($1, 0); - } - elsif ($l =~ /^--host=(.+)$/) { - $host = $1 . "-"; - } - elsif ($l =~ /^--cflags=(.+)$/) { - add_cflags($1); - } - elsif ($l eq "--cross") { - $cross = 1; - } - elsif ($l eq "--tiny") { - param_set("tiny",1); - } - elsif (($l eq "-h") or ($l eq "--help")) { - print("Milsko Toolkit Configuration Utility\n"); - print("\n"); - print("Usage: $0 [options]\n"); - print("\n"); - print("Options:\n"); - print(" -h --help Display this help\n"); - print(" --prefix=PREFIX Installation prefix\n"); - print(" --host=TARGET Host for compiler/archiver\n"); - print(" --target=TARGET Specify target\n"); - print(" --cflags=CFLAGS Add cflags\n"); - print(" --tiny Build smallest possible library\n"); - print(" --cross Indicate cross compilation\n"); - print("\n"); - print("Features:\n"); - print(" --enable-FEATURE Use FEATURE\n"); - print(" --with-FEATURE Use FEATURE\n"); - print(" --disable-FEATURE Do not use FEATURE\n"); - print(" --without-FEATURE Do not use FEATURE\n"); + foreach + my $l(@features_keys) { + my $flag = ((substr($l, 0, 1) eq '1') + ? (param_get(substr($l, 1)) ? "--disable-" : "--enable-") + : (param_get(substr($l, 1)) ? "--without-" : "--with-")) + .substr($l, 1); + my $do = param_get(substr($l, 1)) ? "Do not " : ""; + my $feat = $features{substr($l, 1)}; + if(not(param_get(substr($l, 1)))) { + $feat = uc(substr($feat, 0, 1)).substr($feat, 1); + } + print(" $flag".(" " x(32 - length($flag)))."${do}${feat}\n"); + } + exit(0); + } + } - foreach my $l (@features_keys) { - my $flag = ( - (substr($l, 0, 1) eq '1') - ? (param_get(substr($l, 1)) ? "--disable-" : "--enable-") - : (param_get(substr($l, 1)) ? "--without-" : "--with-") - ) . substr($l, 1); - my $do = param_get(substr($l, 1)) ? "Do not " : ""; - my $feat = $features{ substr($l, 1) }; - if (not(param_get(substr($l, 1)))) { - $feat = uc(substr($feat, 0, 1)) . substr($feat, 1); - } - print(" $flag" . (" " x (32 - length($flag))) . "${do}${feat}\n"); - } - exit(0); - } -} - -if (-f "./pl/ostype/${target}.pl") { - require("./pl/ostype/${target}.pl"); -} -else { - print( -"Perl file (pl/ostype/${target}.pl) was not found for your target. Please add one.\n" - ); - exit(1); +if(-f "./pl/ostype/${target}.pl") { + require("./pl/ostype/${target}.pl"); +} else { + print( + "Perl file (pl/ostype/${target}.pl) was not found for your target. Please add one.\n"); + exit(1); } require("./pl/rules.pl"); -print("Target : " . $target . "\n"); +print("Target : ".$target."\n"); my @l = (); -foreach my $e (param_list()) { - if (not(param_get($e))) { - next; - } - if (($e eq "vulkan-string-helper") and param_get("vulkan")) { - push(@l, $e); - } - elsif (($e eq "xrender") and ($backend eq "x11")) { - push(@l, $e); - } - elsif (not($e eq "vulkan-string-helper") and not($e eq "xrender")) { - push(@l, $e); - } -} -print("Enabled: " . join(" ", @l) . "\n"); +foreach + my $e(param_list()) { + if(not(param_get($e))) { + next; + } + if(($e eq "vulkan-string-helper") and param_get("vulkan")) { + push(@l, $e); + } + elsif(($e eq "xrender") and ($backend eq "x11")) { + push(@l, $e); + } + elsif(not($e eq "vulkan-string-helper") and not($e eq "xrender")) { + push(@l, $e); + } + } +print("Enabled: ".join(" ", @l)."\n"); -$cc =~ s/\*host\*/$host/; -$cxx =~ s/\*host\*/$host/; -$ar =~ s/\*host\*/$host/; +$cc = ~s /\* host\* / $host / ; +$cxx = ~s /\* host\* / $host / ; +$ar = ~s /\* host\* / $host / ; open(OUT, ">", "Makefile"); print(OUT "PREFIX = ${prefix}\n"); @@ -234,129 +233,124 @@ print(OUT "install: lib\n"); print(OUT " mkdir -p \$(DESTDIR)\$(PREFIX)/lib \$(DESTDIR)\$(PREFIX)/include\n"); print(OUT -" -cp src/${library_prefix}Mw${library_suffix} \$(DESTDIR)\$(PREFIX)/lib/\n" -); + " -cp src/${library_prefix}Mw${library_suffix} \$(DESTDIR)\$(PREFIX)/lib/\n"); print(OUT " -cp src/libMw.a \$(DESTDIR)\$(PREFIX)/lib/\n"); print(OUT " cp -rf include \$(DESTDIR)\$(PREFIX)/\n"); print(OUT "\n"); print(OUT "format:\n"); print(OUT -" clang-format --verbose -i `find tools src include examples \"(\" -name \"*.c\" -or -name \"*.cc\" -or -name \"*.h\" -or -name \"*.m\" \")\" -and -not -name \"*ttf.c\"`\n" -); + " clang-format --verbose -i `find tools src include examples \"(\" -name \"*.c\" -or -name \"*.cc\" -or -name \"*.h\" -or -name \"*.m\" \")\" -and -not -name \"*ttf.c\"`\n"); print(OUT -" perltidy -b -bext=\"/\" --paren-tightness=2 `find tools pl configure -name \"*.pl\"`\n" -); + " perltidy -b -bext=\"/\" --paren-tightness=2 `find tools pl configure -name \"*.pl\"`\n"); print(OUT "\n"); print(OUT "lib:"); -if (param_get("shared")) { - print(OUT " src/${library_prefix}Mw${library_suffix}"); +if(param_get("shared")) { + print(OUT " src/${library_prefix}Mw${library_suffix}"); } -if (param_get("static")) { - print(OUT " src/libMw.a"); +if(param_get("static")) { + print(OUT " src/libMw.a"); } print(OUT "\n"); print(OUT "\n"); -if (param_get("shared")) { - my $linker = "CC"; -if (grep(/^haiku$/, @backends)) { - $linker = "CXX"; +if(param_get("shared")) { + my $linker = "CC"; + if(grep(/ ^haiku$ /, @backends)) { + $linker = "CXX"; + } + print(OUT "src/${library_prefix}Mw${library_suffix}: " + .join(" ", @library_targets) + ."\n"); + print(OUT + " \$($linker) \$(SHARED) \$(LDFLAGS\) \$(LIBDIR) -o src/${library_prefix}Mw${library_suffix} " + .join(" ", @library_targets) + ." \$(LIBS)\n"); + print(OUT "\n"); } - print( OUT "src/${library_prefix}Mw${library_suffix}: " - . join(" ", @library_targets) - . "\n"); - print(OUT -" \$($linker) \$(SHARED) \$(LDFLAGS\) \$(LIBDIR) -o src/${library_prefix}Mw${library_suffix} " - . join(" ", @library_targets) - . " \$(LIBS)\n"); - print(OUT "\n"); -} -if (param_get("static")) { - print(OUT "src/libMw.a: " . join(" ", @library_targets) . "\n"); - print(OUT " \$(AR) rcs src/libMw.a " . join(" ", @library_targets) . "\n"); +if(param_get("static")) { + print(OUT "src/libMw.a: ".join(" ", @library_targets)."\n"); + print(OUT " \$(AR) rcs src/libMw.a ".join(" ", @library_targets)."\n"); } -foreach my $l (@library_targets) { - my $warn = "-Wall -Wextra -Wno-sign-compare -Wno-unused-value"; - my $s = $l; - my $compiler = "CC"; - my $o = $object_suffix; - $o =~ s/\./\\\./g; +foreach + my $l(@library_targets) { + my $warn = "-Wall -Wextra -Wno-sign-compare -Wno-unused-value"; + my $s = $l; + my $compiler = "CC"; + my $o = $object_suffix; + $o = ~s /\./\\\./ g; - if ($l =~ /cocoa/) { - $s =~ s/$o$/.m/; - } - elsif ($l =~ /haiku/) { - $s =~ s/$o$/.cc/; - $compiler = "CXX"; - } - else { - $s =~ s/$o$/.c/; - } + if($l = ~/ cocoa /) { + $s = ~s / $o$ /.m / ; + } + elsif($l = ~/ haiku /) { + $s = ~s / $o$ /.cc / ; + $compiler = "CXX"; + } + else { + $s = ~s / $o$ /.c / ; + } if ($l =~ /^external\//) { $warn = ""; - } + } - print(OUT "${l}: ${s}\n"); - print(OUT " \$($compiler) $warn \$\(INCDIR) \$(CFLAGS\) -c -o ${l} ${s}\n"); +print(OUT "${l}: ${s}\n"); +print(OUT " \$($compiler) $warn \$\(INCDIR) \$(CFLAGS\) -c -o ${l} ${s}\n"); } print(OUT "\n"); print(OUT "\n"); -if (param_get("examples")) { - print(OUT "examples: " . join(" ", @examples_targets) . "\n"); - print(OUT "\n"); - foreach my $l (@examples_targets) { - my $libs = ""; - my $s = $l; - my $o = $executable_suffix; - $o =~ s/\./\\\./g; - $s =~ s/$o$//; +if(param_get("examples")) { + print(OUT "examples: ".join(" ", @examples_targets)."\n"); + print(OUT "\n"); + foreach + my $l(@examples_targets) { + my $libs = ""; + my $s = $l; + my $o = $executable_suffix; + $o = ~s /\./\\\./ g; + $s = ~s / $o$ //; - if (defined($examples_libs{$l})) { - $libs = $examples_libs{$l}; - } + if(defined($examples_libs{$l})) { + $libs = $examples_libs{$l}; + } - if (param_get("shared")) { - print(OUT - "${l}: ${s}${object_suffix} src/${library_prefix}Mw${library_suffix}\n" - ); - } else { - print(OUT - "${l}: ${s}${object_suffix} src/${library_prefix}Mw.a\n" - ); - } - if (grep(/^cocoa$/, @backends)) { - print(OUT -" \$(CC) -L./src \$\(LIBDIR) -o ${l} ${s}${object_suffix} -lMw ${math} ${libs}\n" - ); - } - else { - print(OUT -" \$(CC) -L src -Wl,-R./src \$\(LIBDIR) -o ${l} ${s}${object_suffix} -lMw ${math} ${libs}\n" - ); - } + if(param_get("shared")) { + print(OUT + "${l}: ${s}${object_suffix} src/${library_prefix}Mw${library_suffix}\n"); + } else { + print(OUT + "${l}: ${s}${object_suffix} src/${library_prefix}Mw.a\n"); + } + if(grep(/ ^cocoa$ /, @backends)) { + print(OUT + " \$(CC) -L./src \$\(LIBDIR) -o ${l} ${s}${object_suffix} -lMw ${math} ${libs}\n"); + } else { + print(OUT + " \$(CC) -L src -Wl,-R./src \$\(LIBDIR) -o ${l} ${s}${object_suffix} -lMw ${math} ${libs}\n"); + } - if($target eq "ClassicMacOS") { - print(OUT -" ".$ENV{RETRO68_TOOLCHAIN_PATH}."/bin/MakePEF ${l} -o ${s}.pef\n"); - print(OUT -" Rez -I ".$ENV{RETRO68_TOOLCHAIN_PATH}."/RIncludes ".$ENV{RETRO68_TOOLCHAIN_PATH}."/RIncludes/Retro68APPL.r -DCFRAG_NAME=\"example\" --data ${l}.pef --cc ${l}.dsk -t APPL\n" - ); - } + if($target eq "ClassicMacOS") { + print(OUT + " ".$ENV{RETRO68_TOOLCHAIN_PATH} + ."/bin/MakePEF ${l} -o ${s}.pef\n"); + print(OUT + " Rez -I ".$ENV{RETRO68_TOOLCHAIN_PATH} + ."/RIncludes ".$ENV{RETRO68_TOOLCHAIN_PATH} + ."/RIncludes/Retro68APPL.r -DCFRAG_NAME=\"example\" --data ${l}.pef --cc ${l}.dsk -t APPL\n"); + } - print(OUT "${s}${object_suffix}: ${s}.c\n"); - print(OUT -" \$(CC) -c \$\(INCDIR) -o ${s}${object_suffix} ${s}.c -lMw ${math}\n" - ); - } + print(OUT "${s}${object_suffix}: ${s}.c\n"); + print(OUT + " \$(CC) -c \$\(INCDIR) -o ${s}${object_suffix} ${s}.c -lMw ${math}\n"); + } } print(OUT "\n"); print(OUT "clean:\n"); print(OUT -" rm -f */*.o */*/*.o */*/*/*.o */*.exe */*/*.exe */*/*/*.exe src/*.so src/*.dll src/*.dylib src/*.a " - . join(" ", @examples_targets) - . "\n"); + " rm -f */*.o */*/*.o */*/*/*.o */*.exe */*/*.exe */*/*/*.exe src/*.so src/*.dll src/*.dylib src/*.a " + .join(" ", @examples_targets) + ."\n"); print(OUT "\n"); print(OUT "distclean: clean\n"); print(OUT " rm -f Makefile\n"); diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index a2be271..b58d54e 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -39,6 +39,7 @@ struct _MwLLCommon { int type; int coordinate_type; MwBool supports_transparency; + const char** known_mime_types; MwLLHandler handler; }; @@ -315,6 +316,12 @@ MWDECL void (*MwLLGetClipboard)(MwLL handle, int clipboard_type); MWDECL void (*MwLLGetCursorCoord)(MwLL handle, MwPoint* point); MWDECL void (*MwLLGetScreenSize)(MwLL handle, MwRect* rect); +/*! + * @brief Setup drag and drop capabilities, should the user request it with MwNacceptsDnD + * @param handle Handle + */ +MWDECL void (*MwLLSetupDragAndDrop)(MwLL handle); + /*! * @brief Set any extra parameters for dark theme * @param handle Handle diff --git a/include/Mw/LowLevel/GDI.h b/include/Mw/LowLevel/GDI.h index e505b0a..5cc5f09 100644 --- a/include/Mw/LowLevel/GDI.h +++ b/include/Mw/LowLevel/GDI.h @@ -29,6 +29,28 @@ struct _MwLLGDI { int force_render; int get_clipboard; int get_darktheme; + + /* drag and drop */ + void *shell32lib; + void *ole32lib; + void *urlmonlib; + UINT (*DragQueryFileW)(HDROP hDrop,UINT iFile,LPWSTR lpszFile,UINT cch); + void (*ReleaseStgMedium)(LPSTGMEDIUM unnamedParam1); + HRESULT (*OleInitialize)(LPVOID pvReserved); + HRESULT (*RegisterDragDrop)(HWND hwnd, LPDROPTARGET pDropTarget); + HRESULT (*FindMimeFromData)( + LPBC pBC, + LPCWSTR pwzUrl, + LPVOID pBuffer, + DWORD cbSize, + LPCWSTR pwzMimeProposed, + DWORD dwMimeFlags, + LPWSTR *ppwzMimeOut, + _Reserved_ DWORD dwReserved + ); + struct _MwLLGDIDropTarget* dropTarget; + MwBool listening_for_drag_and_drop; + MwBool dnd_override; }; struct _MwLLGDIColor { @@ -47,6 +69,14 @@ struct _MwLLGDIPixmap { HBITMAP hMask2; }; +struct _MwLLGDIDropTarget{ + struct IDropTargetVtbl *lpVtbl; + LONG refCount; + HWND hwnd; + MwLL handle; +}; +typedef struct _MwLLGDIDropTarget MwLLGDIDropTarget; + MWDECL int MwLLGDICallInit(void); MWDECL HCURSOR MwLLGDICreateCursor(MwCursor* image, MwCursor* mask); diff --git a/include/Mw/StringDefs.h b/include/Mw/StringDefs.h index b95fe93..01f69a5 100644 --- a/include/Mw/StringDefs.h +++ b/include/Mw/StringDefs.h @@ -53,6 +53,7 @@ #define MwNcolumnSpan "IcolumnSpan" #define MwNrowSpan "IrowSpan" #define MwNdisabled "Idisabled" +#define MwNacceptsDnD "IacceptsDnD" #define MwNtitle "Stitle" #define MwNtext "Stext" @@ -62,6 +63,8 @@ #define MwNforeground "Sforeground" #define MwNsubForeground "SsubForeground" #define MwNtitleForeground "StitleForeground" +#define MwNacceptedMimeType "SacceptedMimeType" + #define MwNvulkanExtension "SEvulkanExtension" #define MwNvulkanLayer "SEvulkanLayer" diff --git a/milsko.xml b/milsko.xml index a94c847..601bb39 100644 --- a/milsko.xml +++ b/milsko.xml @@ -94,6 +94,7 @@ + @@ -191,6 +192,9 @@ + + + diff --git a/src/backend/call.c b/src/backend/call.c index f84247f..0deffb4 100644 --- a/src/backend/call.c +++ b/src/backend/call.c @@ -52,8 +52,9 @@ MwLLSetClipboard = MwLLSetClipboardImpl; \ MwLLGetClipboard = MwLLGetClipboardImpl; \ \ - MwLLGetCursorCoord = MwLLGetCursorCoordImpl; \ - MwLLGetScreenSize = MwLLGetScreenSizeImpl; \ + MwLLGetCursorCoord = MwLLGetCursorCoordImpl; \ + MwLLGetScreenSize = MwLLGetScreenSizeImpl; \ + MwLLSetupDragAndDrop = MwLLSetupDragAndDropImpl; \ \ MwLLSetDarkTheme = MwLLSetDarkThemeImpl; \ MwLLDoModern = MwLLDoModernImpl; \ diff --git a/src/backend/classicmacos.c b/src/backend/classicmacos.c index d3da454..f063551 100644 --- a/src/backend/classicmacos.c +++ b/src/backend/classicmacos.c @@ -347,6 +347,10 @@ static void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) { static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLBeginStateChangeImpl(MwLL handle) { MwLLShow(handle, 0); } diff --git a/src/backend/cocoa.m b/src/backend/cocoa.m index e07eb64..85b8b5b 100644 --- a/src/backend/cocoa.m +++ b/src/backend/cocoa.m @@ -1146,6 +1146,10 @@ static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { rect->height = [screen frame].size.height; } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLBeginStateChangeImpl(MwLL handle) { MwLLShow(handle, 0); } diff --git a/src/backend/gdi.c b/src/backend/gdi.c index acc341e..0f2c550 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -1,5 +1,7 @@ #include +#include "../../external/stb_ds.h" + typedef struct userdata { MwLL ll; POINT min; @@ -547,6 +549,7 @@ static int MwLLPendingImpl(MwLL handle) { (void)handle; + if(handle->gdi.get_clipboard || handle->gdi.get_darktheme) return 1; return PeekMessage(&msg, handle->gdi.hWnd, 0, 0, PM_NOREMOVE) ? 1 : 0; } @@ -994,6 +997,159 @@ static void MwLLClipImpl(MwLL handle, MwRect* rect) { } } +static HRESULT STDMETHODCALLTYPE GDIDT_QueryInterface(IDropTarget* this_, REFIID riid, void** ppv) { + if(IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDropTarget)) { + *ppv = this_; + this_->lpVtbl->AddRef(this_); + return S_OK; + } + *ppv = NULL; + return E_NOINTERFACE; +} + +static ULONG STDMETHODCALLTYPE GDIDT_AddRef(IDropTarget* this_) { + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + return InterlockedIncrement(&self->refCount); +} + +static ULONG STDMETHODCALLTYPE GDIDT_Release(IDropTarget* this_) { + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + LONG c = InterlockedDecrement(&self->refCount); + if(c == 0) free(self); + return c; +} + +static HRESULT STDMETHODCALLTYPE GDIDT_DragEnter(IDropTarget* this_, IDataObject* pDataObj, + DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) { + FORMATETC fmt = {CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + STGMEDIUM stg; + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + + if(pDataObj->lpVtbl->GetData(pDataObj, &fmt, &stg) == S_OK) { + HDROP hDrop = (HDROP)stg.hGlobal; + UINT count = self->handle->gdi.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); + UINT i; + HRESULT hr; + + for(i = 0; i < count; i++) { + wchar_t path[MAX_PATH]; + char mime_type_normal[MAX_PATH]; + wchar_t *mime_type = NULL; + HRESULT hr; + int i; + self->handle->gdi.DragQueryFileW(hDrop, i, path, MAX_PATH); + hr = self->handle->gdi.FindMimeFromData( NULL, path, NULL, 0, + NULL, FMFD_URLASFILENAME, &mime_type, 0x0 ); + + wprintf(L"Dragged: %s\n", mime_type); + /* TODO: Check if the file begin dragged matches a mime type registered with MwNacceptedMimeType, and only set the effect to DROPEFFECT_COPY if so */ + *pdwEffect = DROPEFFECT_COPY; + break; + } + + self->handle->gdi.ReleaseStgMedium(&stg); + } else { + *pdwEffect = DROPEFFECT_NONE; + } + + return S_OK; +} + +static HRESULT STDMETHODCALLTYPE GDIDT_DragOver(IDropTarget* this_, DWORD grfKeyState, + POINTL pt, DWORD* pdwEffect) { + return S_OK; +} + +static HRESULT STDMETHODCALLTYPE GDIDT_DragLeave(IDropTarget* this_) { + return S_OK; +} + +static HRESULT STDMETHODCALLTYPE GDIDT_Drop(IDropTarget* this_, IDataObject* pDataObj, + DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) { + FORMATETC fmt = {CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + STGMEDIUM stg; + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + + if(pDataObj->lpVtbl->GetData(pDataObj, &fmt, &stg) == S_OK) { + HDROP hDrop = (HDROP)stg.hGlobal; + UINT count = self->handle->gdi.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); + UINT i; + HRESULT hr; + + for(i = 0; i < count; i++) { + wchar_t path[MAX_PATH]; + char mime_type_normal[MAX_PATH]; + wchar_t *mime_type = NULL; + HRESULT hr; + int i; + self->handle->gdi.DragQueryFileW(hDrop, i, path, MAX_PATH); + hr = self->handle->gdi.FindMimeFromData( NULL, path, NULL, 0, + NULL, FMFD_URLASFILENAME, &mime_type, 0x0 ); + + /* TODO: Check if the file begin dragged matches a mime type registered with MwNacceptedMimeType, and call a user callback */ + wprintf(L"Dropped: %s\n", mime_type); + } + + self->handle->gdi.ReleaseStgMedium(&stg); + *pdwEffect = DROPEFFECT_COPY; + } else { + *pdwEffect = DROPEFFECT_NONE; + } + return S_OK; +} + +static IDropTargetVtbl DropTarget_Vtbl = { + GDIDT_QueryInterface, + GDIDT_AddRef, + GDIDT_Release, + GDIDT_DragEnter, + GDIDT_DragOver, + GDIDT_DragLeave, + GDIDT_Drop}; + +static void MwLLSetupDragAndDropImpl(MwLL handle) { + HRESULT hr = 0; + + if(!(handle->gdi.shell32lib = LoadLibrary("shell32.dll"))) return; + if(!(handle->gdi.ole32lib = LoadLibrary("ole32.dll"))) return; + if(!(handle->gdi.urlmonlib = LoadLibrary("Urlmon.dll"))) return; + +#define SHELL32_FUNC(x) if(!(handle->gdi.x = (void*)GetProcAddress(handle->gdi.shell32lib, #x))) {printf(#x "not found, drag and drop will not be supported"); return;} +#define OLE32_FUNC(x) if(!(handle->gdi.x = (void*)GetProcAddress(handle->gdi.ole32lib, #x))) {printf(#x "not found, drag and drop will not be supported"); return;} +#define URLMON_FUNC(x) if(!(handle->gdi.x = (void*)GetProcAddress(handle->gdi.urlmonlib, #x))) {printf(#x "not found, drag and drop will not be supported"); return;} + + SHELL32_FUNC(DragQueryFileW); + OLE32_FUNC(ReleaseStgMedium); + OLE32_FUNC(RegisterDragDrop); + URLMON_FUNC(FindMimeFromData); + + CoInitialize(NULL); + hr = OleInitialize(NULL); + if(!SUCCEEDED(hr)) { + if(hr == RPC_E_CHANGED_MODE) { + CoUninitialize(); + hr = OleInitialize(NULL); + CoInitialize(NULL); + } else { + printf("OleInitialize failed; %08lx\n", hr); + return; + } + } + + handle->gdi.dropTarget = (MwLLGDIDropTarget*)malloc(sizeof(MwLLGDIDropTarget)); + handle->gdi.dropTarget->lpVtbl = &DropTarget_Vtbl; + handle->gdi.dropTarget->refCount = 1; + handle->gdi.dropTarget->hwnd = handle->gdi.hWnd; + handle->gdi.dropTarget->handle = handle; + + hr = handle->gdi.RegisterDragDrop(handle->gdi.hWnd, (IDropTarget*)handle->gdi.dropTarget); + if(!SUCCEEDED(hr)) { + printf("RegisterDragDrop failed; %08lx\n", hr); + return; + } + printf("dnd setup\n"); +} + static int MwLLGDICallInitImpl(void) { void* ntdll; diff --git a/src/backend/haiku.cc b/src/backend/haiku.cc index 8c4f8bf..2c796d6 100644 --- a/src/backend/haiku.cc +++ b/src/backend/haiku.cc @@ -879,6 +879,10 @@ static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { delete screen; } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLSetDarkThemeImpl(MwLL handle, int toggle) { (void)handle; (void)toggle; diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 48d6c76..839e9ac 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1779,6 +1779,10 @@ static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { rect->height = handle->wayland.mh; } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLBeginStateChangeImpl(MwLL handle) { (void)handle; /* no-op */ diff --git a/src/backend/x11.c b/src/backend/x11.c index 79ce429..cc4d22b 100644 --- a/src/backend/x11.c +++ b/src/backend/x11.c @@ -1361,6 +1361,10 @@ static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { rect->height = xwa.height; } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLBeginStateChangeImpl(MwLL handle) { MwLLShow(handle, 0); } diff --git a/src/core.c b/src/core.c index 7059840..2eca665 100644 --- a/src/core.c +++ b/src/core.c @@ -658,6 +658,10 @@ void MwSetInteger(MwWidget handle, const char* key, int n) { if(h->lowlevel != NULL) MwLLSetDarkTheme(h->lowlevel, n); } + + if(strcmp(key, MwNacceptsDnD) == 0) { + if(handle->lowlevel != NULL) MwLLSetupDragAndDrop(handle->lowlevel); + } } void MwSetText(MwWidget handle, const char* key, const char* value) { @@ -692,6 +696,12 @@ void MwSetText(MwWidget handle, const char* key, const char* value) { if(strcmp(key, MwNbackground) == 0 || strcmp(key, MwNforeground) == 0 || strcmp(key, MwNsubBackground) == 0 || strcmp(key, MwNsubForeground) == 0) { MwForceRender(handle); } + + if(strcmp(key, MwNacceptedMimeType) == 0) { + if(handle->lowlevel != NULL) { + arrput(handle->lowlevel->common.known_mime_types, value); + } + } } void MwSetVoid(MwWidget handle, const char* key, void* value) { diff --git a/src/lowlevel.c b/src/lowlevel.c index bc9e55b..38a1ab0 100644 --- a/src/lowlevel.c +++ b/src/lowlevel.c @@ -50,8 +50,8 @@ void (*MwLLGetClipboard)(MwLL, int clipboard_type) = NULL; void (*MwLLGetCursorCoord)(MwLL handle, MwPoint* point) = NULL; void (*MwLLGetScreenSize)(MwLL handle, MwRect* rect) = NULL; - -void (*MwLLSetDarkTheme)(MwLL handle, int toggle) = NULL; +void (*MwLLSetupDragAndDrop)(MwLL handle) = NULL; +void (*MwLLSetDarkTheme)(MwLL handle, int toggle) = NULL; MwBool (*MwLLDoModern)(MwLL handle) = NULL; -- 2.39.5 From 9d14e2f6318365ac9e4d7fbebff6988c8b5e690e Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Wed, 22 Jul 2026 00:34:31 -0700 Subject: [PATCH 2/8] gdi: finished drag and drop --- include/Mw/LowLevel/GDI.h | 21 +---- include/Mw/StringDefs.h | 1 + include/Mw/TypeDefs.h | 2 +- src/backend/gdi.c | 173 ++++++++++++++++++++++---------------- src/lowlevel.c | 1 + 5 files changed, 105 insertions(+), 93 deletions(-) diff --git a/include/Mw/LowLevel/GDI.h b/include/Mw/LowLevel/GDI.h index 5cc5f09..6230a36 100644 --- a/include/Mw/LowLevel/GDI.h +++ b/include/Mw/LowLevel/GDI.h @@ -31,26 +31,9 @@ struct _MwLLGDI { int get_darktheme; /* drag and drop */ - void *shell32lib; - void *ole32lib; - void *urlmonlib; - UINT (*DragQueryFileW)(HDROP hDrop,UINT iFile,LPWSTR lpszFile,UINT cch); - void (*ReleaseStgMedium)(LPSTGMEDIUM unnamedParam1); - HRESULT (*OleInitialize)(LPVOID pvReserved); - HRESULT (*RegisterDragDrop)(HWND hwnd, LPDROPTARGET pDropTarget); - HRESULT (*FindMimeFromData)( - LPBC pBC, - LPCWSTR pwzUrl, - LPVOID pBuffer, - DWORD cbSize, - LPCWSTR pwzMimeProposed, - DWORD dwMimeFlags, - LPWSTR *ppwzMimeOut, - _Reserved_ DWORD dwReserved - ); struct _MwLLGDIDropTarget* dropTarget; - MwBool listening_for_drag_and_drop; - MwBool dnd_override; + struct _MwLLGDIDropSource* dropSource; + MwBool drag_update; }; struct _MwLLGDIColor { diff --git a/include/Mw/StringDefs.h b/include/Mw/StringDefs.h index 01f69a5..5f9e3e4 100644 --- a/include/Mw/StringDefs.h +++ b/include/Mw/StringDefs.h @@ -101,5 +101,6 @@ #define MwNdrawHandler "Cdraw" #define MwNclipboardHandler "Cclipboard" #define MwNdarkThemeHandler "CdarkTheme" +#define MwNdragAndDropHandler "CdragAndDrop" #endif diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index 5989e1b..fbc91fa 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -274,7 +274,7 @@ struct _MwClass { MwHandlerChildrenProp children_prop_change; MwHandlerClipboardReceived clipboard; MwHandlerProps props_change; - void* reserved1; + MwHandler drag_and_drop; void* reserved2; void* reserved3; }; diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 0f2c550..a005a74 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -12,8 +12,27 @@ typedef struct userdata { static struct symtbl { void* lib_dwmapi; + void *shell32lib; + void *ole32lib; + void *urlmonlib; + MwBool has_drag_and_drop; HRESULT(WINAPI* DwmSetWindowAttribute)(HWND hwnd, DWORD dwAttribute, LPCVOID pvAttribute, DWORD cbAttribute); + UINT (WINAPI *DragQueryFileW)(HDROP hDrop,UINT iFile,LPWSTR lpszFile,UINT cch); + UINT (WINAPI *DragQueryFileA)(HDROP hDrop,UINT iFile,LPSTR lpszFile,UINT cch); + void (WINAPI *ReleaseStgMedium)(LPSTGMEDIUM unnamedParam1); + HRESULT (WINAPI *OleInitialize)(LPVOID pvReserved); + HRESULT (WINAPI *RegisterDragDrop)(HWND hwnd, LPDROPTARGET pDropTarget); + HRESULT (WINAPI *FindMimeFromData)( + LPBC pBC, + LPCWSTR pwzUrl, + LPVOID pBuffer, + DWORD cbSize, + LPCWSTR pwzMimeProposed, + DWORD dwMimeFlags, + LPWSTR *ppwzMimeOut, + _Reserved_ DWORD dwReserved + ); } wsymtbl; static int is_plgblt_reliable = 0; @@ -422,6 +441,9 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { SetWindowPos(r->gdi.hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); + r->gdi.dropTarget = NULL; + r->gdi.drag_update = MwFALSE; + return r; } @@ -436,6 +458,8 @@ static void MwLLDestroyImpl(MwLL handle) { if(handle->gdi.cursor != NULL) DestroyCursor(handle->gdi.cursor); + if(handle->gdi.dropTarget) free(handle->gdi.dropTarget); + free(handle); } @@ -549,8 +573,7 @@ static int MwLLPendingImpl(MwLL handle) { (void)handle; - - if(handle->gdi.get_clipboard || handle->gdi.get_darktheme) return 1; + if(handle->gdi.get_clipboard || handle->gdi.get_darktheme || handle->gdi.drag_update) return 1; return PeekMessage(&msg, handle->gdi.hWnd, 0, 0, PM_NOREMOVE) ? 1 : 0; } @@ -582,8 +605,7 @@ static void MwLLNextEventImpl(MwLL handle) { handle->gdi.get_darktheme = 0; } - while(PeekMessage(&msg, handle->gdi.hWnd, 0, 0, PM_NOREMOVE)) { - GetMessage(&msg, handle->gdi.hWnd, 0, 0); + while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } @@ -1021,46 +1043,21 @@ static ULONG STDMETHODCALLTYPE GDIDT_Release(IDropTarget* this_) { static HRESULT STDMETHODCALLTYPE GDIDT_DragEnter(IDropTarget* this_, IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) { - FORMATETC fmt = {CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; - STGMEDIUM stg; - MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; - - if(pDataObj->lpVtbl->GetData(pDataObj, &fmt, &stg) == S_OK) { - HDROP hDrop = (HDROP)stg.hGlobal; - UINT count = self->handle->gdi.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); - UINT i; - HRESULT hr; - - for(i = 0; i < count; i++) { - wchar_t path[MAX_PATH]; - char mime_type_normal[MAX_PATH]; - wchar_t *mime_type = NULL; - HRESULT hr; - int i; - self->handle->gdi.DragQueryFileW(hDrop, i, path, MAX_PATH); - hr = self->handle->gdi.FindMimeFromData( NULL, path, NULL, 0, - NULL, FMFD_URLASFILENAME, &mime_type, 0x0 ); - - wprintf(L"Dragged: %s\n", mime_type); - /* TODO: Check if the file begin dragged matches a mime type registered with MwNacceptedMimeType, and only set the effect to DROPEFFECT_COPY if so */ - *pdwEffect = DROPEFFECT_COPY; - break; - } - - self->handle->gdi.ReleaseStgMedium(&stg); - } else { - *pdwEffect = DROPEFFECT_NONE; - } - + *pdwEffect = DROPEFFECT_COPY; return S_OK; } static HRESULT STDMETHODCALLTYPE GDIDT_DragOver(IDropTarget* this_, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) { + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + self->handle->gdi.drag_update = MwTRUE; + return S_OK; } static HRESULT STDMETHODCALLTYPE GDIDT_DragLeave(IDropTarget* this_) { + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + self->handle->gdi.drag_update = MwFALSE; return S_OK; } @@ -1070,27 +1067,50 @@ static HRESULT STDMETHODCALLTYPE GDIDT_Drop(IDropTarget* this_, IDataObject* pDa STGMEDIUM stg; MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + self->handle->gdi.drag_update = MwTRUE; + if(pDataObj->lpVtbl->GetData(pDataObj, &fmt, &stg) == S_OK) { HDROP hDrop = (HDROP)stg.hGlobal; - UINT count = self->handle->gdi.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); - UINT i; + UINT count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); + UINT i, n; HRESULT hr; for(i = 0; i < count; i++) { wchar_t path[MAX_PATH]; - char mime_type_normal[MAX_PATH]; + char path_normal[MAX_PATH]; + char *mime_type_normal; wchar_t *mime_type = NULL; + int mime_type_size; HRESULT hr; int i; - self->handle->gdi.DragQueryFileW(hDrop, i, path, MAX_PATH); - hr = self->handle->gdi.FindMimeFromData( NULL, path, NULL, 0, - NULL, FMFD_URLASFILENAME, &mime_type, 0x0 ); - /* TODO: Check if the file begin dragged matches a mime type registered with MwNacceptedMimeType, and call a user callback */ - wprintf(L"Dropped: %s\n", mime_type); + wsymtbl.DragQueryFileW(hDrop, i, path, MAX_PATH); + wsymtbl.DragQueryFileA(hDrop, i, path_normal, MAX_PATH); + hr = wsymtbl.FindMimeFromData( NULL, path, NULL, 0, + NULL, FMFD_DEFAULT , &mime_type, 0x0 ); + + mime_type_size = WideCharToMultiByte(CP_ACP, 0, mime_type, -1, NULL, 0, NULL, FALSE); + mime_type_normal = malloc(sizeof(mime_type_size)); + WideCharToMultiByte(CP_ACP, 0, mime_type, -1, mime_type_normal, mime_type_size, NULL, FALSE); + + if(mime_type_size == 0) { + printf("Error converting mime type to multi-byte: %ld\n",GetLastError()); + } else { + if(self->handle->common.known_mime_types) { + for(n = 0; n < arrlen(self->handle->common.known_mime_types); n++) { + if(strcmp(mime_type_normal, self->handle->common.known_mime_types[n]) == 0) { + MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); + break; + } + } + } else { + MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); + } + } + free(mime_type); } - self->handle->gdi.ReleaseStgMedium(&stg); + wsymtbl.ReleaseStgMedium(&stg); *pdwEffect = DROPEFFECT_COPY; } else { *pdwEffect = DROPEFFECT_NONE; @@ -1098,6 +1118,7 @@ static HRESULT STDMETHODCALLTYPE GDIDT_Drop(IDropTarget* this_, IDataObject* pDa return S_OK; } + static IDropTargetVtbl DropTarget_Vtbl = { GDIDT_QueryInterface, GDIDT_AddRef, @@ -1108,20 +1129,25 @@ static IDropTargetVtbl DropTarget_Vtbl = { GDIDT_Drop}; static void MwLLSetupDragAndDropImpl(MwLL handle) { - HRESULT hr = 0; + HRESULT hr = 0; - if(!(handle->gdi.shell32lib = LoadLibrary("shell32.dll"))) return; - if(!(handle->gdi.ole32lib = LoadLibrary("ole32.dll"))) return; - if(!(handle->gdi.urlmonlib = LoadLibrary("Urlmon.dll"))) return; + handle->gdi.dropTarget = (MwLLGDIDropTarget*)malloc(sizeof(MwLLGDIDropTarget)); + handle->gdi.dropTarget->lpVtbl = &DropTarget_Vtbl; + handle->gdi.dropTarget->refCount = 1; + handle->gdi.dropTarget->hwnd = handle->gdi.hWnd; + handle->gdi.dropTarget->handle = handle; -#define SHELL32_FUNC(x) if(!(handle->gdi.x = (void*)GetProcAddress(handle->gdi.shell32lib, #x))) {printf(#x "not found, drag and drop will not be supported"); return;} -#define OLE32_FUNC(x) if(!(handle->gdi.x = (void*)GetProcAddress(handle->gdi.ole32lib, #x))) {printf(#x "not found, drag and drop will not be supported"); return;} -#define URLMON_FUNC(x) if(!(handle->gdi.x = (void*)GetProcAddress(handle->gdi.urlmonlib, #x))) {printf(#x "not found, drag and drop will not be supported"); return;} + hr = wsymtbl.RegisterDragDrop(handle->gdi.hWnd, (IDropTarget*)handle->gdi.dropTarget); + if(!SUCCEEDED(hr)) { + printf("RegisterDragDrop failed; %08lx\n", hr); + return; + } + printf("dnd setup\n"); +} - SHELL32_FUNC(DragQueryFileW); - OLE32_FUNC(ReleaseStgMedium); - OLE32_FUNC(RegisterDragDrop); - URLMON_FUNC(FindMimeFromData); +static int MwLLGDICallInitImpl(void) { + void* ntdll; + HRESULT hr; CoInitialize(NULL); hr = OleInitialize(NULL); @@ -1132,27 +1158,10 @@ static void MwLLSetupDragAndDropImpl(MwLL handle) { CoInitialize(NULL); } else { printf("OleInitialize failed; %08lx\n", hr); - return; + return 1; } } - handle->gdi.dropTarget = (MwLLGDIDropTarget*)malloc(sizeof(MwLLGDIDropTarget)); - handle->gdi.dropTarget->lpVtbl = &DropTarget_Vtbl; - handle->gdi.dropTarget->refCount = 1; - handle->gdi.dropTarget->hwnd = handle->gdi.hWnd; - handle->gdi.dropTarget->handle = handle; - - hr = handle->gdi.RegisterDragDrop(handle->gdi.hWnd, (IDropTarget*)handle->gdi.dropTarget); - if(!SUCCEEDED(hr)) { - printf("RegisterDragDrop failed; %08lx\n", hr); - return; - } - printf("dnd setup\n"); -} - -static int MwLLGDICallInitImpl(void) { - void* ntdll; - memset(&wsymtbl, 0, sizeof(wsymtbl)); wsymtbl.lib_dwmapi = MwDynamicOpen("dwmapi.dll"); @@ -1165,6 +1174,24 @@ static int MwLLGDICallInitImpl(void) { is_plgblt_reliable = 1; } + wsymtbl.has_drag_and_drop = MwTRUE; + + if(!(wsymtbl.shell32lib = LoadLibrary("shell32.dll"))) {goto dnd_error;}; + if(!(wsymtbl.ole32lib = LoadLibrary("ole32.dll"))) {goto dnd_error;}; + if(!(wsymtbl.urlmonlib = LoadLibrary("Urlmon.dll"))) {goto dnd_error;}; + +#define SHELL32_FUNC(x) if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.shell32lib, #x))) {printf(#x "not found, drag and drop will not be supported"); goto dnd_error;} +#define OLE32_FUNC(x) if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.ole32lib, #x))) {printf(#x "not found, drag and drop will not be supported"); goto dnd_error;} +#define URLMON_FUNC(x) if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.urlmonlib, #x))) {printf(#x "not found, drag and drop will not be supported"); goto dnd_error;} + + SHELL32_FUNC(DragQueryFileW); + SHELL32_FUNC(DragQueryFileA); + OLE32_FUNC(ReleaseStgMedium); + OLE32_FUNC(RegisterDragDrop); + URLMON_FUNC(FindMimeFromData); + + wsymtbl.has_drag_and_drop = MwTRUE; +dnd_error: /* TODO: check properly */ return 0; } diff --git a/src/lowlevel.c b/src/lowlevel.c index 38a1ab0..aca10c2 100644 --- a/src/lowlevel.c +++ b/src/lowlevel.c @@ -64,6 +64,7 @@ void MwLLCreateCommon(MwLL handle) { memset(handle->common.handler, 0, sizeof(*handle->common.handler)); handle->common.supports_transparency = 0; + handle->common.known_mime_types = NULL; } void MwLLDestroyCommon(MwLL handle) { -- 2.39.5 From 1a3e6f0bc01c68c9c84912277c288818f810aac7 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Wed, 22 Jul 2026 13:02:10 -0700 Subject: [PATCH 3/8] entry widget should initialize t->active and use MwForceRender instead of dispatching draw --- src/widget/entry.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/widget/entry.c b/src/widget/entry.c index 65cd903..dd867d7 100644 --- a/src/widget/entry.c +++ b/src/widget/entry.c @@ -9,6 +9,7 @@ static int wcreate(MwWidget handle) { t->right = 0; t->length = 0; t->cursor_blink_timer = 0; + t->active = 0; handle->internal = t; while(topmost_parent->parent) topmost_parent = topmost_parent->parent; @@ -40,7 +41,7 @@ static void tick(MwWidget handle) { if(++t->cursor_blink_timer >= 30) { t->cursor_blink_timer = 0; } - MwDispatch(handle, draw); + MwForceRender(handle); } } static void draw(MwWidget handle) { @@ -185,7 +186,7 @@ static void mouse_down(MwWidget handle, void* ptr) { MwEntry t = topmost_parent->monitored_entries[i]->internal; t->active = MwFALSE; t->cursor_blink_timer = 0; - MwDispatch(topmost_parent->monitored_entries[i], draw); + MwForceRender(topmost_parent->monitored_entries[i]); } t->active = MwTRUE; MwForceRender2(handle, NULL); -- 2.39.5 From fbbf52af0469e270714fdb0c83cb6af7b2c036ba Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Wed, 22 Jul 2026 13:31:19 -0700 Subject: [PATCH 4/8] better handling of already-initialized COM --- src/backend/gdi.c | 180 +++++++++++++++++++++++++++------------------- 1 file changed, 105 insertions(+), 75 deletions(-) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index a005a74..4ab2d9e 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -12,27 +12,26 @@ typedef struct userdata { static struct symtbl { void* lib_dwmapi; - void *shell32lib; - void *ole32lib; - void *urlmonlib; + void* shell32lib; + void* ole32lib; + void* urlmonlib; MwBool has_drag_and_drop; HRESULT(WINAPI* DwmSetWindowAttribute)(HWND hwnd, DWORD dwAttribute, LPCVOID pvAttribute, DWORD cbAttribute); - UINT (WINAPI *DragQueryFileW)(HDROP hDrop,UINT iFile,LPWSTR lpszFile,UINT cch); - UINT (WINAPI *DragQueryFileA)(HDROP hDrop,UINT iFile,LPSTR lpszFile,UINT cch); - void (WINAPI *ReleaseStgMedium)(LPSTGMEDIUM unnamedParam1); - HRESULT (WINAPI *OleInitialize)(LPVOID pvReserved); - HRESULT (WINAPI *RegisterDragDrop)(HWND hwnd, LPDROPTARGET pDropTarget); - HRESULT (WINAPI *FindMimeFromData)( - LPBC pBC, - LPCWSTR pwzUrl, - LPVOID pBuffer, - DWORD cbSize, - LPCWSTR pwzMimeProposed, - DWORD dwMimeFlags, - LPWSTR *ppwzMimeOut, - _Reserved_ DWORD dwReserved - ); + UINT(WINAPI* DragQueryFileW)(HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch); + UINT(WINAPI* DragQueryFileA)(HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch); + void(WINAPI* ReleaseStgMedium)(LPSTGMEDIUM unnamedParam1); + HRESULT(WINAPI* OleInitialize)(LPVOID pvReserved); + HRESULT(WINAPI* RegisterDragDrop)(HWND hwnd, LPDROPTARGET pDropTarget); + HRESULT(WINAPI* FindMimeFromData)( + LPBC pBC, + LPCWSTR pwzUrl, + LPVOID pBuffer, + DWORD cbSize, + LPCWSTR pwzMimeProposed, + DWORD dwMimeFlags, + LPWSTR* ppwzMimeOut, + _Reserved_ DWORD dwReserved); } wsymtbl; static int is_plgblt_reliable = 0; @@ -441,7 +440,7 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { SetWindowPos(r->gdi.hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); - r->gdi.dropTarget = NULL; + r->gdi.dropTarget = NULL; r->gdi.drag_update = MwFALSE; return r; @@ -1049,15 +1048,15 @@ static HRESULT STDMETHODCALLTYPE GDIDT_DragEnter(IDropTarget* this_, IDataObject static HRESULT STDMETHODCALLTYPE GDIDT_DragOver(IDropTarget* this_, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) { - MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; self->handle->gdi.drag_update = MwTRUE; return S_OK; } static HRESULT STDMETHODCALLTYPE GDIDT_DragLeave(IDropTarget* this_) { - MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; - self->handle->gdi.drag_update = MwFALSE; + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + self->handle->gdi.drag_update = MwFALSE; return S_OK; } @@ -1070,42 +1069,42 @@ static HRESULT STDMETHODCALLTYPE GDIDT_Drop(IDropTarget* this_, IDataObject* pDa self->handle->gdi.drag_update = MwTRUE; if(pDataObj->lpVtbl->GetData(pDataObj, &fmt, &stg) == S_OK) { - HDROP hDrop = (HDROP)stg.hGlobal; - UINT count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); - UINT i, n; + HDROP hDrop = (HDROP)stg.hGlobal; + UINT count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); + UINT i, n; HRESULT hr; for(i = 0; i < count; i++) { - wchar_t path[MAX_PATH]; - char path_normal[MAX_PATH]; - char *mime_type_normal; - wchar_t *mime_type = NULL; - int mime_type_size; - HRESULT hr; - int i; + wchar_t path[MAX_PATH]; + char path_normal[MAX_PATH]; + char* mime_type_normal; + wchar_t* mime_type = NULL; + int mime_type_size; + HRESULT hr; + int i; wsymtbl.DragQueryFileW(hDrop, i, path, MAX_PATH); wsymtbl.DragQueryFileA(hDrop, i, path_normal, MAX_PATH); - hr = wsymtbl.FindMimeFromData( NULL, path, NULL, 0, - NULL, FMFD_DEFAULT , &mime_type, 0x0 ); + hr = wsymtbl.FindMimeFromData(NULL, path, NULL, 0, + NULL, FMFD_DEFAULT, &mime_type, 0x0); - mime_type_size = WideCharToMultiByte(CP_ACP, 0, mime_type, -1, NULL, 0, NULL, FALSE); + mime_type_size = WideCharToMultiByte(CP_ACP, 0, mime_type, -1, NULL, 0, NULL, FALSE); mime_type_normal = malloc(sizeof(mime_type_size)); WideCharToMultiByte(CP_ACP, 0, mime_type, -1, mime_type_normal, mime_type_size, NULL, FALSE); if(mime_type_size == 0) { - printf("Error converting mime type to multi-byte: %ld\n",GetLastError()); + printf("Error converting mime type to multi-byte: %ld\n", GetLastError()); } else { - if(self->handle->common.known_mime_types) { - for(n = 0; n < arrlen(self->handle->common.known_mime_types); n++) { - if(strcmp(mime_type_normal, self->handle->common.known_mime_types[n]) == 0) { - MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); - break; - } - } - } else { - MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); - } + if(self->handle->common.known_mime_types) { + for(n = 0; n < arrlen(self->handle->common.known_mime_types); n++) { + if(strcmp(mime_type_normal, self->handle->common.known_mime_types[n]) == 0) { + MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); + break; + } + } + } else { + MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); + } } free(mime_type); } @@ -1118,7 +1117,6 @@ static HRESULT STDMETHODCALLTYPE GDIDT_Drop(IDropTarget* this_, IDataObject* pDa return S_OK; } - static IDropTargetVtbl DropTarget_Vtbl = { GDIDT_QueryInterface, GDIDT_AddRef, @@ -1129,7 +1127,7 @@ static IDropTargetVtbl DropTarget_Vtbl = { GDIDT_Drop}; static void MwLLSetupDragAndDropImpl(MwLL handle) { - HRESULT hr = 0; + HRESULT hr = 0; handle->gdi.dropTarget = (MwLLGDIDropTarget*)malloc(sizeof(MwLLGDIDropTarget)); handle->gdi.dropTarget->lpVtbl = &DropTarget_Vtbl; @@ -1146,22 +1144,9 @@ static void MwLLSetupDragAndDropImpl(MwLL handle) { } static int MwLLGDICallInitImpl(void) { - void* ntdll; + void* ntdll; HRESULT hr; - CoInitialize(NULL); - hr = OleInitialize(NULL); - if(!SUCCEEDED(hr)) { - if(hr == RPC_E_CHANGED_MODE) { - CoUninitialize(); - hr = OleInitialize(NULL); - CoInitialize(NULL); - } else { - printf("OleInitialize failed; %08lx\n", hr); - return 1; - } - } - memset(&wsymtbl, 0, sizeof(wsymtbl)); wsymtbl.lib_dwmapi = MwDynamicOpen("dwmapi.dll"); @@ -1174,24 +1159,69 @@ static int MwLLGDICallInitImpl(void) { is_plgblt_reliable = 1; } - wsymtbl.has_drag_and_drop = MwTRUE; + wsymtbl.has_drag_and_drop = MwFALSE; - if(!(wsymtbl.shell32lib = LoadLibrary("shell32.dll"))) {goto dnd_error;}; - if(!(wsymtbl.ole32lib = LoadLibrary("ole32.dll"))) {goto dnd_error;}; - if(!(wsymtbl.urlmonlib = LoadLibrary("Urlmon.dll"))) {goto dnd_error;}; + /* Drag and Drop initialization */ + { + hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); + /* The only other error - COM already being initialized - can be ignored */ + if(hr == RPC_E_CHANGED_MODE) { + goto no_dnd; + } + if(!SUCCEEDED(hr) && hr != S_FALSE) { + printf("CoInitialize error: %08lx\n", hr); + goto dnd_error; + } + hr = OleInitialize(NULL); + if(!SUCCEEDED(hr)) { + if(hr == RPC_E_CHANGED_MODE) { + no_dnd: + printf("Cannot do drag and drop; Microsoft hates you and if you use COM anywhere else it has to be apartment threaded.\n"); + goto dnd_error; + } else { + printf("OleInitialize failed; %08lx. Drag and Drop won't be supported.\n", hr); + goto dnd_error; + } + } -#define SHELL32_FUNC(x) if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.shell32lib, #x))) {printf(#x "not found, drag and drop will not be supported"); goto dnd_error;} -#define OLE32_FUNC(x) if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.ole32lib, #x))) {printf(#x "not found, drag and drop will not be supported"); goto dnd_error;} -#define URLMON_FUNC(x) if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.urlmonlib, #x))) {printf(#x "not found, drag and drop will not be supported"); goto dnd_error;} + wsymtbl.has_drag_and_drop = MwTRUE; - SHELL32_FUNC(DragQueryFileW); - SHELL32_FUNC(DragQueryFileA); - OLE32_FUNC(ReleaseStgMedium); - OLE32_FUNC(RegisterDragDrop); - URLMON_FUNC(FindMimeFromData); + if(!(wsymtbl.shell32lib = LoadLibrary("shell32.dll"))) { + goto dnd_error; + }; + if(!(wsymtbl.ole32lib = LoadLibrary("ole32.dll"))) { + goto dnd_error; + }; + if(!(wsymtbl.urlmonlib = LoadLibrary("Urlmon.dll"))) { + goto dnd_error; + }; - wsymtbl.has_drag_and_drop = MwTRUE; +#define SHELL32_FUNC(x) \ + if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.shell32lib, #x))) { \ + printf(#x "not found, drag and drop will not be supported"); \ + goto dnd_error; \ + } +#define OLE32_FUNC(x) \ + if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.ole32lib, #x))) { \ + printf(#x "not found, drag and drop will not be supported"); \ + goto dnd_error; \ + } +#define URLMON_FUNC(x) \ + if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.urlmonlib, #x))) { \ + printf(#x "not found, drag and drop will not be supported"); \ + goto dnd_error; \ + } + + SHELL32_FUNC(DragQueryFileW); + SHELL32_FUNC(DragQueryFileA); + OLE32_FUNC(ReleaseStgMedium); + OLE32_FUNC(RegisterDragDrop); + URLMON_FUNC(FindMimeFromData); + + wsymtbl.has_drag_and_drop = MwTRUE; + } dnd_error: + /* TODO: check properly */ return 0; } -- 2.39.5 From 4b3ce4132ffe6390d1bc2197de2feb20aff51f5e Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 22 Jul 2026 19:36:16 -0700 Subject: [PATCH 5/8] undo accidental clang-format --- Doxyfile | 46 ++-- Jenkinsfile | 110 ++++++---- LICENSE | 48 ++--- NTMakefile | 394 +++++++++++++++++++++++----------- README.txt | 2 +- WatMakefile | 596 +++++++++++++++++++++++++++++++++++++++------------- milsko.xml | 4 - 7 files changed, 834 insertions(+), 366 deletions(-) diff --git a/Doxyfile b/Doxyfile index bb57787..f413308 100644 --- a/Doxyfile +++ b/Doxyfile @@ -1,22 +1,26 @@ -PROJECT_LOGO = resource / logo / logo64.png PROJECT_NAME = Milsko - PROJECT_BRIEF = "Lightweight and fast GUI toolkit" OUTPUT_DIRECTORY = doxygen - TAB_SIZE = 8 OPTIMIZE_OUTPUT_FOR_C = YES - MARKDOWN_SUPPORT = YES - FILE_PATTERNS = *.h*.md - INPUT = include / Mw - INPUT += doc - RECURSIVE = YES - SOURCE_BROWSER = YES - HTML_DYNAMIC_MENUS = YES - GENERATE_TREEVIEW = YES - FULL_SIDEBAR = NO - DISABLE_INDEX = NO - HAVE_DOT = YES - FULL_PATH_NAMES = YES - STRIP_FROM_PATH = include / doc / - ENABLED_SECTIONS = YES - OUTPUT_LANGUAGE = English - GENERATE_LATEX = NO - EXTRACT_ALL = YES +PROJECT_LOGO = resource/logo/logo64.png +PROJECT_NAME = Milsko +PROJECT_BRIEF = "Lightweight and fast GUI toolkit" +OUTPUT_DIRECTORY = doxygen +TAB_SIZE = 8 +OPTIMIZE_OUTPUT_FOR_C = YES +MARKDOWN_SUPPORT = YES +FILE_PATTERNS = *.h *.md +INPUT = include/Mw +INPUT += doc +RECURSIVE = YES +SOURCE_BROWSER = YES +HTML_DYNAMIC_MENUS = YES +GENERATE_TREEVIEW = YES +FULL_SIDEBAR = NO +DISABLE_INDEX = NO +HAVE_DOT = YES +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = include/ doc/ +ENABLED_SECTIONS = YES +OUTPUT_LANGUAGE = English +GENERATE_LATEX = NO +EXTRACT_ALL = YES - HTML_EXTRA_STYLESHEET = resource / doxygen - theme / doxygen - awesome.css HTML_COLORSTYLE = LIGHT +HTML_EXTRA_STYLESHEET = resource/doxygen-theme/doxygen-awesome.css +HTML_COLORSTYLE = LIGHT diff --git a/Jenkinsfile b/Jenkinsfile index c837698..6c1637e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,14 +1,22 @@ pipeline { - agent{ - label "built-in"} stages { + agent { + label "built-in" + } + stages { stage("Build document") { - when{ - branch "master"} agent{ - label "built-in"} steps{ - sh("rm -rf include/Mw/LowLevel/Wayland") + when { + branch "master" + } + agent { + label "built-in" + } + steps { + sh("rm -rf include/Mw/LowLevel/Wayland") sh("doxygen") - sh("rm -rf /var/www/milsko-doxygen") - sh("mv doxygen/html /var/www/milsko-doxygen")} post { + sh("rm -rf /var/www/milsko-doxygen") + sh("mv doxygen/html /var/www/milsko-doxygen") + } + post { always { notifyDiscord() } @@ -17,59 +25,73 @@ pipeline { stage("Build") { parallel { stage("Build for Linux 64-bit") { - agent{ - label "built-in"} steps { + agent { + label "built-in" + } + steps { sh("git clean -dfx") - sh("./configure --enable-opengl --enable-vulkan --without-vulkan-string-helper") - sh("make -j4") - sh("mv src/libMw.so libMw64.so") - archiveArtifacts("libMw64.so") + sh("./configure --enable-opengl --enable-vulkan --without-vulkan-string-helper") + sh("make -j4") + sh("mv src/libMw.so libMw64.so") + archiveArtifacts("libMw64.so") } } stage("Build for Windows 32-bit") { - agent{ - label "built-in"} steps { + agent { + label "built-in" + } + steps { sh("git clean -dfx") - sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=i686-w64-mingw32") - sh("make -j4") - sh("mv src/Mw.dll Mw32.dll") - sh("mv src/libMw.dll.a libMw32.dll.a") - archiveArtifacts("Mw32.dll,libMw32.dll.a") + sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=i686-w64-mingw32") + sh("make -j4") + sh("mv src/Mw.dll Mw32.dll") + sh("mv src/libMw.dll.a libMw32.dll.a") + archiveArtifacts("Mw32.dll,libMw32.dll.a") } } stage("Build for Windows 64-bit") { - agent{ - label "built-in"} steps { + agent { + label "built-in" + } + steps { sh("git clean -dfx") - sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=x86_64-w64-mingw32") - sh("make -j4") - sh("mv src/Mw.dll Mw64.dll") - sh("mv src/libMw.dll.a libMw64.dll.a") - archiveArtifacts("Mw64.dll,libMw64.dll.a") + sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=x86_64-w64-mingw32") + sh("make -j4") + sh("mv src/Mw.dll Mw64.dll") + sh("mv src/libMw.dll.a libMw64.dll.a") + archiveArtifacts("Mw64.dll,libMw64.dll.a") } } stage("Build for Windows 32-bit (MSVC)") { - agent{ - label "2012r2"} steps { + agent { + label "2012r2" + } + steps { bat("git clean -dfx") - bat("nmake -f NTMakefile") - bat("move /y src\\Mw.dll MwMSVC32.dll") - bat("move /y src\\Mw.lib MwMSVC32.lib") - archiveArtifacts("MwMSVC32.dll,MwMSVC32.lib") + bat("nmake -f NTMakefile") + bat("move /y src\\Mw.dll MwMSVC32.dll") + bat("move /y src\\Mw.lib MwMSVC32.lib") + archiveArtifacts("MwMSVC32.dll,MwMSVC32.lib") } } stage("Build for Windows 32-bit (Watcom)") { - agent{ - label "built-in"} environment{ - WATCOM = "/usr/watcom" INCLUDE = "/usr/watcom/h:/usr/watcom/h/nt" PATH = "/usr/watcom/binl64:${env.PATH}"} steps { + agent { + label "built-in" + } + environment { + WATCOM = "/usr/watcom" + INCLUDE = "/usr/watcom/h:/usr/watcom/h/nt" + PATH = "/usr/watcom/binl64:${env.PATH}" + } + steps { sh("git clean -dfx") - sh("wmake -f WatMakefile") - sh("mv src/Mw.dll MwWat32.dll") - sh("mv src/Mw.lib MwWat32.lib") - archiveArtifacts("MwWat32.dll,MwWat32.lib") - sh("./tools/watcom-pack.sh") - sh("mv milsko-examples.zip milsko-examples-win32.zip") - archiveArtifacts("milsko-examples-win32.zip") + sh("wmake -f WatMakefile") + sh("mv src/Mw.dll MwWat32.dll") + sh("mv src/Mw.lib MwWat32.lib") + archiveArtifacts("MwWat32.dll,MwWat32.lib") + sh("./tools/watcom-pack.sh") + sh("mv milsko-examples.zip milsko-examples-win32.zip") + archiveArtifacts("milsko-examples-win32.zip") } } } diff --git a/LICENSE b/LICENSE index b07a1f4..a7729ad 100644 --- a/LICENSE +++ b/LICENSE @@ -1,28 +1,24 @@ -Copyright(c) 2025 - 2026, Pyrite development team All rights reserved. +Copyright (c) 2025-2026, Pyrite development team +All rights reserved. - Redistribution and use in source and binary forms, - with or without - modification, - are permitted provided that the following conditions are met : *Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer.* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation and / or other materials provided with the distribution.* Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* Neither the name of the nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, - BUT NOT LIMITED TO, - THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED.IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, - INDIRECT, - INCIDENTAL, - SPECIAL, - EXEMPLARY, - OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, - STRICT LIABILITY, - OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/NTMakefile b/NTMakefile index 655ea96..a3fc76a 100644 --- a/NTMakefile +++ b/NTMakefile @@ -1,180 +1,328 @@ -CC = cl / TC / c / nologo LD = link / nologo +CC = cl /TC /c /nologo +LD = link /nologo - MW_CFLAGS = / Iinclude / Iexternal\libz\include / D_MILSKO / D_MILSKO_BUILD / DUSE_GDI / DUSE_STB_IMAGE / DSTBI_NO_SIMD / DUSE_GDI_TEXT MW_LDFLAGS = / DLL - EXE_CFLAGS = / Iinclude - EXE_LDFLAGS = - .SUFFIXES :.obj.c - all : src\Mw.dll examples\basic\box.exe examples\basic\calculator.exe examples\basic\checkbox.exe examples\basic\clipboard.exe examples\basic\colorpicker.exe examples\basic\combobox.exe examples\basic\example.exe examples\basic\filechooser.exe examples\basic\image.exe examples\basic\listbox.exe examples\basic\messagebox.exe examples\basic\periodic.exe examples\basic\progressbar.exe examples\basic\radiobox.exe examples\basic\rotate.exe examples\basic\scrollbar.exe examples\basic\sevensegment.exe examples\basic\subwindow.exe examples\basic\tab.exe examples\basic\treeview.exe examples\basic\viewport.exe examples\gldemos\boing.exe examples\gldemos\clock.exe examples\gldemos\cube.exe examples\gldemos\gears.exe examples\gldemos\triangle.exe examples\gldemos\tripaint.exe - lib : src\Mw.dll - examples : examples\basic\box.exe examples\basic\calculator.exe examples\basic\checkbox.exe examples\basic\clipboard.exe examples\basic\colorpicker.exe examples\basic\combobox.exe examples\basic\example.exe examples\basic\filechooser.exe examples\basic\image.exe examples\basic\listbox.exe examples\basic\messagebox.exe examples\basic\periodic.exe examples\basic\progressbar.exe examples\basic\radiobox.exe examples\basic\rotate.exe examples\basic\scrollbar.exe examples\basic\sevensegment.exe examples\basic\subwindow.exe examples\basic\tab.exe examples\basic\treeview.exe examples\basic\viewport.exe examples\gldemos\boing.exe examples\gldemos\clock.exe examples\gldemos\cube.exe examples\gldemos\gears.exe examples\gldemos\triangle.exe examples\gldemos\tripaint.exe - clean : del / - f / q external\libz\src\adler32.obj del / f / q external\libz\src\compress.obj del / f / q external\libz\src\crc32.obj del / f / q external\libz\src\deflate.obj del / f / q external\libz\src\gzclose.obj del / f / q external\libz\src\gzlib.obj del / f / q external\libz\src\gzread.obj del / f / q external\libz\src\gzwrite.obj del / f / q external\libz\src\infback.obj del / f / q external\libz\src\inffast.obj del / f / q external\libz\src\inflate.obj del / f / q external\libz\src\inftrees.obj del / f / q external\libz\src\trees.obj del / f / q external\libz\src\uncompr.obj del / f / q external\libz\src\zutil.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\abstract\charset.obj del / f / q src\abstract\directory.obj del / f / q src\abstract\dynamic.obj del / f / q src\abstract\time.obj del / f / q src\backend\gdi.obj del / f / q src\color.obj del / f / q src\core.obj del / f / q src\cursor\arrow.obj del / f / q src\cursor\cross.obj del / f / q src\cursor\default.obj del / f / q src\cursor\hidden.obj del / f / q src\cursor\text.obj del / f / q src\default.obj del / f / q src\dialog\colorpicker.obj del / f / q src\dialog\directorychooser.obj del / f / q src\dialog\filechooser.obj del / f / q src\dialog\messagebox.obj del / f / q src\draw.obj del / f / q src\icon\back.obj del / f / q src\icon\clock.obj del / f / q src\icon\computer.obj del / f / q src\icon\directory.obj del / f / q src\icon\down.obj del / f / q src\icon\error.obj del / f / q src\icon\file.obj del / f / q src\icon\forward.obj del / f / q src\icon\info.obj del / f / q src\icon\left.obj del / f / q src\icon\news.obj del / f / q src\icon\note.obj del / f / q src\icon\right.obj del / f / q src\icon\search.obj del / f / q src\icon\up.obj del / f / q src\icon\warning.obj del / f / q src\lowlevel.obj del / f / q src\string.obj del / f / q src\text\font\boldfont.obj del / f / q src\text\font\boldmonottf.obj del / f / q src\text\font\boldttf.obj del / f / q src\text\font\font.obj del / f / q src\text\font\monottf.obj del / f / q src\text\font\ttf.obj del / f / q src\text\ft2.obj del / f / q src\text\gdi.obj del / f / q src\text\stbtt.obj del / f / q src\text\text.obj del / f / q src\truetype.obj del / f / q src\unicode.obj del / f / q src\widget\box.obj del / f / q src\widget\button.obj del / f / q src\widget\calendar.obj del / f / q src\widget\checkbox.obj del / f / q src\widget\combobox.obj del / f / q src\widget\entry.obj del / f / q src\widget\frame.obj del / f / q src\widget\image.obj del / f / q src\widget\label.obj del / f / q src\widget\listbox.obj del / f / q src\widget\menu.obj del / f / q src\widget\numberentry.obj del / f / q src\widget\opengl.obj del / f / q src\widget\progressbar.obj del / f / q src\widget\radiobox.obj del / f / q src\widget\scrollbar.obj del / f / q src\widget\separator.obj del / f / q src\widget\submenu.obj del / f / q src\widget\subwindow.obj del / f / q src\widget\tab.obj del / f / q src\widget\table.obj del / f / q src\widget\treeview.obj del / f / q src\widget\viewport.obj del / f / q src\widget\window.obj del / f / q src\Mw.dll del / f / q src\Mw.lib del / f / q examples\basic\box.obj del / f / q examples\basic\calculator.obj del / f / q examples\basic\checkbox.obj del / f / q examples\basic\clipboard.obj del / f / q examples\basic\colorpicker.obj del / f / q examples\basic\combobox.obj del / f / q examples\basic\example.obj del / f / q examples\basic\filechooser.obj del / f / q examples\basic\image.obj del / f / q examples\basic\listbox.obj del / f / q examples\basic\messagebox.obj del / f / q examples\basic\periodic.obj del / f / q examples\basic\progressbar.obj del / f / q examples\basic\radiobox.obj del / f / q examples\basic\rotate.obj del / f / q examples\basic\scrollbar.obj del / f / q examples\basic\sevensegment.obj del / f / q examples\basic\subwindow.obj del / f / q examples\basic\tab.obj del / f / q examples\basic\treeview.obj del / f / q examples\basic\viewport.obj del / f / q examples\gldemos\boing.obj del / f / q examples\gldemos\clock.obj del / f / q examples\gldemos\cube.obj del / f / q examples\gldemos\gears.obj del / f / q examples\gldemos\triangle.obj del / f / q examples\gldemos\tripaint.obj del / f / q examples\basic\box.exe del / f / q examples\basic\calculator.exe del / f / q examples\basic\checkbox.exe del / f / q examples\basic\clipboard.exe del / f / q examples\basic\colorpicker.exe del / f / q examples\basic\combobox.exe del / f / q examples\basic\example.exe del / f / q examples\basic\filechooser.exe del / f / q examples\basic\image.exe del / f / q examples\basic\listbox.exe del / f / q examples\basic\messagebox.exe del / f / q examples\basic\periodic.exe del / f / q examples\basic\progressbar.exe del / f / q examples\basic\radiobox.exe del / f / q examples\basic\rotate.exe del / f / q examples\basic\scrollbar.exe del / f / q examples\basic\sevensegment.exe del / f / q examples\basic\subwindow.exe del / f / q examples\basic\tab.exe del / f / q examples\basic\treeview.exe del / f / q examples\basic\viewport.exe del / f / q examples\gldemos\boing.exe del / f / q examples\gldemos\clock.exe del / f / q examples\gldemos\cube.exe del / f / q examples\gldemos\gears.exe del / f / q examples\gldemos\triangle.exe del / f / q examples\gldemos\tripaint.exe +MW_CFLAGS = /Iinclude /Iexternal\libz\include /D_MILSKO /D_MILSKO_BUILD /DUSE_GDI /DUSE_STB_IMAGE /DSTBI_NO_SIMD /DUSE_GDI_TEXT +MW_LDFLAGS = /DLL +EXE_CFLAGS = /Iinclude +EXE_LDFLAGS = +.SUFFIXES: .obj .c +all: src\Mw.dll examples\basic\box.exe examples\basic\calculator.exe examples\basic\checkbox.exe examples\basic\clipboard.exe examples\basic\colorpicker.exe examples\basic\combobox.exe examples\basic\example.exe examples\basic\filechooser.exe examples\basic\image.exe examples\basic\listbox.exe examples\basic\messagebox.exe examples\basic\periodic.exe examples\basic\progressbar.exe examples\basic\radiobox.exe examples\basic\rotate.exe examples\basic\scrollbar.exe examples\basic\sevensegment.exe examples\basic\subwindow.exe examples\basic\tab.exe examples\basic\treeview.exe examples\basic\viewport.exe examples\gldemos\boing.exe examples\gldemos\clock.exe examples\gldemos\cube.exe examples\gldemos\gears.exe examples\gldemos\triangle.exe examples\gldemos\tripaint.exe +lib: src\Mw.dll +examples: examples\basic\box.exe examples\basic\calculator.exe examples\basic\checkbox.exe examples\basic\clipboard.exe examples\basic\colorpicker.exe examples\basic\combobox.exe examples\basic\example.exe examples\basic\filechooser.exe examples\basic\image.exe examples\basic\listbox.exe examples\basic\messagebox.exe examples\basic\periodic.exe examples\basic\progressbar.exe examples\basic\radiobox.exe examples\basic\rotate.exe examples\basic\scrollbar.exe examples\basic\sevensegment.exe examples\basic\subwindow.exe examples\basic\tab.exe examples\basic\treeview.exe examples\basic\viewport.exe examples\gldemos\boing.exe examples\gldemos\clock.exe examples\gldemos\cube.exe examples\gldemos\gears.exe examples\gldemos\triangle.exe examples\gldemos\tripaint.exe +clean: + del /f /q external\libz\src\adler32.obj + del /f /q external\libz\src\compress.obj + del /f /q external\libz\src\crc32.obj + del /f /q external\libz\src\deflate.obj + del /f /q external\libz\src\gzclose.obj + del /f /q external\libz\src\gzlib.obj + del /f /q external\libz\src\gzread.obj + del /f /q external\libz\src\gzwrite.obj + del /f /q external\libz\src\infback.obj + del /f /q external\libz\src\inffast.obj + del /f /q external\libz\src\inflate.obj + del /f /q external\libz\src\inftrees.obj + del /f /q external\libz\src\trees.obj + del /f /q external\libz\src\uncompr.obj + del /f /q external\libz\src\zutil.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\abstract\charset.obj + del /f /q src\abstract\directory.obj + del /f /q src\abstract\dynamic.obj + del /f /q src\abstract\time.obj + del /f /q src\backend\gdi.obj + del /f /q src\color.obj + del /f /q src\core.obj + del /f /q src\cursor\arrow.obj + del /f /q src\cursor\cross.obj + del /f /q src\cursor\default.obj + del /f /q src\cursor\hidden.obj + del /f /q src\cursor\text.obj + del /f /q src\default.obj + del /f /q src\dialog\colorpicker.obj + del /f /q src\dialog\directorychooser.obj + del /f /q src\dialog\filechooser.obj + del /f /q src\dialog\messagebox.obj + del /f /q src\draw.obj + del /f /q src\icon\back.obj + del /f /q src\icon\clock.obj + del /f /q src\icon\computer.obj + del /f /q src\icon\directory.obj + del /f /q src\icon\down.obj + del /f /q src\icon\error.obj + del /f /q src\icon\file.obj + del /f /q src\icon\forward.obj + del /f /q src\icon\info.obj + del /f /q src\icon\left.obj + del /f /q src\icon\news.obj + del /f /q src\icon\note.obj + del /f /q src\icon\right.obj + del /f /q src\icon\search.obj + del /f /q src\icon\up.obj + del /f /q src\icon\warning.obj + del /f /q src\lowlevel.obj + del /f /q src\string.obj + del /f /q src\text\font\boldfont.obj + del /f /q src\text\font\boldmonottf.obj + del /f /q src\text\font\boldttf.obj + del /f /q src\text\font\font.obj + del /f /q src\text\font\monottf.obj + del /f /q src\text\font\ttf.obj + del /f /q src\text\ft2.obj + del /f /q src\text\gdi.obj + del /f /q src\text\stbtt.obj + del /f /q src\text\text.obj + del /f /q src\truetype.obj + del /f /q src\unicode.obj + del /f /q src\widget\box.obj + del /f /q src\widget\button.obj + del /f /q src\widget\calendar.obj + del /f /q src\widget\checkbox.obj + del /f /q src\widget\combobox.obj + del /f /q src\widget\entry.obj + del /f /q src\widget\frame.obj + del /f /q src\widget\image.obj + del /f /q src\widget\label.obj + del /f /q src\widget\listbox.obj + del /f /q src\widget\menu.obj + del /f /q src\widget\numberentry.obj + del /f /q src\widget\opengl.obj + del /f /q src\widget\progressbar.obj + del /f /q src\widget\radiobox.obj + del /f /q src\widget\scrollbar.obj + del /f /q src\widget\separator.obj + del /f /q src\widget\submenu.obj + del /f /q src\widget\subwindow.obj + del /f /q src\widget\tab.obj + del /f /q src\widget\table.obj + del /f /q src\widget\treeview.obj + del /f /q src\widget\viewport.obj + del /f /q src\widget\window.obj + del /f /q src\Mw.dll + del /f /q src\Mw.lib + del /f /q examples\basic\box.obj + del /f /q examples\basic\calculator.obj + del /f /q examples\basic\checkbox.obj + del /f /q examples\basic\clipboard.obj + del /f /q examples\basic\colorpicker.obj + del /f /q examples\basic\combobox.obj + del /f /q examples\basic\example.obj + del /f /q examples\basic\filechooser.obj + del /f /q examples\basic\image.obj + del /f /q examples\basic\listbox.obj + del /f /q examples\basic\messagebox.obj + del /f /q examples\basic\periodic.obj + del /f /q examples\basic\progressbar.obj + del /f /q examples\basic\radiobox.obj + del /f /q examples\basic\rotate.obj + del /f /q examples\basic\scrollbar.obj + del /f /q examples\basic\sevensegment.obj + del /f /q examples\basic\subwindow.obj + del /f /q examples\basic\tab.obj + del /f /q examples\basic\treeview.obj + del /f /q examples\basic\viewport.obj + del /f /q examples\gldemos\boing.obj + del /f /q examples\gldemos\clock.obj + del /f /q examples\gldemos\cube.obj + del /f /q examples\gldemos\gears.obj + del /f /q examples\gldemos\triangle.obj + del /f /q examples\gldemos\tripaint.obj + del /f /q examples\basic\box.exe + del /f /q examples\basic\calculator.exe + del /f /q examples\basic\checkbox.exe + del /f /q examples\basic\clipboard.exe + del /f /q examples\basic\colorpicker.exe + del /f /q examples\basic\combobox.exe + del /f /q examples\basic\example.exe + del /f /q examples\basic\filechooser.exe + del /f /q examples\basic\image.exe + del /f /q examples\basic\listbox.exe + del /f /q examples\basic\messagebox.exe + del /f /q examples\basic\periodic.exe + del /f /q examples\basic\progressbar.exe + del /f /q examples\basic\radiobox.exe + del /f /q examples\basic\rotate.exe + del /f /q examples\basic\scrollbar.exe + del /f /q examples\basic\sevensegment.exe + del /f /q examples\basic\subwindow.exe + del /f /q examples\basic\tab.exe + del /f /q examples\basic\treeview.exe + del /f /q examples\basic\viewport.exe + del /f /q examples\gldemos\boing.exe + del /f /q examples\gldemos\clock.exe + del /f /q examples\gldemos\cube.exe + del /f /q examples\gldemos\gears.exe + del /f /q examples\gldemos\triangle.exe + del /f /q examples\gldemos\tripaint.exe - examples\basic\box.exe : examples\basic\box.obj src\Mw.dll - $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\box.obj src\Mw.lib +examples\basic\box.exe: examples\basic\box.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\box.obj src\Mw.lib - examples\basic\box.obj : examples / - basic / box.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / box.c +examples\basic\box.obj: examples/basic/box.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/box.c - examples\basic\calculator.exe : examples\basic\calculator.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\calculator.obj src\Mw.lib +examples\basic\calculator.exe: examples\basic\calculator.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\calculator.obj src\Mw.lib - examples\basic\calculator.obj : examples / - basic / calculator.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / calculator.c +examples\basic\calculator.obj: examples/basic/calculator.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/calculator.c - examples\basic\checkbox.exe : examples\basic\checkbox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\checkbox.obj src\Mw.lib +examples\basic\checkbox.exe: examples\basic\checkbox.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\checkbox.obj src\Mw.lib - examples\basic\checkbox.obj : examples / - basic / checkbox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / checkbox.c +examples\basic\checkbox.obj: examples/basic/checkbox.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/checkbox.c - examples\basic\clipboard.exe : examples\basic\clipboard.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\clipboard.obj src\Mw.lib +examples\basic\clipboard.exe: examples\basic\clipboard.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\clipboard.obj src\Mw.lib - examples\basic\clipboard.obj : examples / - basic / clipboard.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / clipboard.c +examples\basic\clipboard.obj: examples/basic/clipboard.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/clipboard.c - examples\basic\colorpicker.exe : examples\basic\colorpicker.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\colorpicker.obj src\Mw.lib +examples\basic\colorpicker.exe: examples\basic\colorpicker.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\colorpicker.obj src\Mw.lib - examples\basic\colorpicker.obj : examples / - basic / colorpicker.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / colorpicker.c +examples\basic\colorpicker.obj: examples/basic/colorpicker.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/colorpicker.c - examples\basic\combobox.exe : examples\basic\combobox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\combobox.obj src\Mw.lib +examples\basic\combobox.exe: examples\basic\combobox.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\combobox.obj src\Mw.lib - examples\basic\combobox.obj : examples / - basic / combobox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / combobox.c +examples\basic\combobox.obj: examples/basic/combobox.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/combobox.c - examples\basic\example.exe : examples\basic\example.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\example.obj src\Mw.lib +examples\basic\example.exe: examples\basic\example.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\example.obj src\Mw.lib - examples\basic\example.obj : examples / - basic / example.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / example.c +examples\basic\example.obj: examples/basic/example.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/example.c - examples\basic\filechooser.exe : examples\basic\filechooser.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\filechooser.obj src\Mw.lib +examples\basic\filechooser.exe: examples\basic\filechooser.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\filechooser.obj src\Mw.lib - examples\basic\filechooser.obj : examples / - basic / filechooser.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / filechooser.c +examples\basic\filechooser.obj: examples/basic/filechooser.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/filechooser.c - examples\basic\image.exe : examples\basic\image.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\image.obj src\Mw.lib +examples\basic\image.exe: examples\basic\image.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\image.obj src\Mw.lib - examples\basic\image.obj : examples / - basic / image.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / image.c +examples\basic\image.obj: examples/basic/image.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/image.c - examples\basic\listbox.exe : examples\basic\listbox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\listbox.obj src\Mw.lib +examples\basic\listbox.exe: examples\basic\listbox.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\listbox.obj src\Mw.lib - examples\basic\listbox.obj : examples / - basic / listbox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / listbox.c +examples\basic\listbox.obj: examples/basic/listbox.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/listbox.c - examples\basic\messagebox.exe : examples\basic\messagebox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\messagebox.obj src\Mw.lib +examples\basic\messagebox.exe: examples\basic\messagebox.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\messagebox.obj src\Mw.lib - examples\basic\messagebox.obj : examples / - basic / messagebox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / messagebox.c +examples\basic\messagebox.obj: examples/basic/messagebox.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/messagebox.c - examples\basic\periodic.exe : examples\basic\periodic.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\periodic.obj src\Mw.lib +examples\basic\periodic.exe: examples\basic\periodic.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\periodic.obj src\Mw.lib - examples\basic\periodic.obj : examples / - basic / periodic.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / periodic.c +examples\basic\periodic.obj: examples/basic/periodic.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/periodic.c - examples\basic\progressbar.exe : examples\basic\progressbar.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\progressbar.obj src\Mw.lib +examples\basic\progressbar.exe: examples\basic\progressbar.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\progressbar.obj src\Mw.lib - examples\basic\progressbar.obj : examples / - basic / progressbar.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / progressbar.c +examples\basic\progressbar.obj: examples/basic/progressbar.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/progressbar.c - examples\basic\radiobox.exe : examples\basic\radiobox.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\radiobox.obj src\Mw.lib +examples\basic\radiobox.exe: examples\basic\radiobox.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\radiobox.obj src\Mw.lib - examples\basic\radiobox.obj : examples / - basic / radiobox.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / radiobox.c +examples\basic\radiobox.obj: examples/basic/radiobox.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/radiobox.c - examples\basic\rotate.exe : examples\basic\rotate.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\rotate.obj src\Mw.lib +examples\basic\rotate.exe: examples\basic\rotate.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\rotate.obj src\Mw.lib - examples\basic\rotate.obj : examples / - basic / rotate.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / rotate.c +examples\basic\rotate.obj: examples/basic/rotate.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/rotate.c - examples\basic\scrollbar.exe : examples\basic\scrollbar.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\scrollbar.obj src\Mw.lib +examples\basic\scrollbar.exe: examples\basic\scrollbar.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\scrollbar.obj src\Mw.lib - examples\basic\scrollbar.obj : examples / - basic / scrollbar.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / scrollbar.c +examples\basic\scrollbar.obj: examples/basic/scrollbar.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/scrollbar.c - examples\basic\sevensegment.exe : examples\basic\sevensegment.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\sevensegment.obj src\Mw.lib +examples\basic\sevensegment.exe: examples\basic\sevensegment.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\sevensegment.obj src\Mw.lib - examples\basic\sevensegment.obj : examples / - basic / sevensegment.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / sevensegment.c +examples\basic\sevensegment.obj: examples/basic/sevensegment.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/sevensegment.c - examples\basic\subwindow.exe : examples\basic\subwindow.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\subwindow.obj src\Mw.lib +examples\basic\subwindow.exe: examples\basic\subwindow.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\subwindow.obj src\Mw.lib - examples\basic\subwindow.obj : examples / - basic / subwindow.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / subwindow.c +examples\basic\subwindow.obj: examples/basic/subwindow.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/subwindow.c - examples\basic\tab.exe : examples\basic\tab.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\tab.obj src\Mw.lib +examples\basic\tab.exe: examples\basic\tab.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\tab.obj src\Mw.lib - examples\basic\tab.obj : examples / - basic / tab.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / tab.c +examples\basic\tab.obj: examples/basic/tab.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/tab.c - examples\basic\treeview.exe : examples\basic\treeview.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\treeview.obj src\Mw.lib +examples\basic\treeview.exe: examples\basic\treeview.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\treeview.obj src\Mw.lib - examples\basic\treeview.obj : examples / - basic / treeview.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / treeview.c +examples\basic\treeview.obj: examples/basic/treeview.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/treeview.c - examples\basic\viewport.exe : examples\basic\viewport.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\basic\viewport.obj src\Mw.lib +examples\basic\viewport.exe: examples\basic\viewport.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\basic\viewport.obj src\Mw.lib - examples\basic\viewport.obj : examples / - basic / viewport.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / basic / viewport.c +examples\basic\viewport.obj: examples/basic/viewport.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/basic/viewport.c - examples\gldemos\boing.exe : examples\gldemos\boing.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\gldemos\boing.obj src\Mw.lib opengl32.lib glu32.lib +examples\gldemos\boing.exe: examples\gldemos\boing.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\boing.obj src\Mw.lib opengl32.lib glu32.lib - examples\gldemos\boing.obj : examples / - gldemos / boing.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / boing.c +examples\gldemos\boing.obj: examples/gldemos/boing.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/boing.c - examples\gldemos\clock.exe : examples\gldemos\clock.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\gldemos\clock.obj src\Mw.lib opengl32.lib glu32.lib +examples\gldemos\clock.exe: examples\gldemos\clock.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\clock.obj src\Mw.lib opengl32.lib glu32.lib - examples\gldemos\clock.obj : examples / - gldemos / clock.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / clock.c +examples\gldemos\clock.obj: examples/gldemos/clock.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/clock.c - examples\gldemos\cube.exe : examples\gldemos\cube.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\gldemos\cube.obj src\Mw.lib opengl32.lib glu32.lib +examples\gldemos\cube.exe: examples\gldemos\cube.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\cube.obj src\Mw.lib opengl32.lib glu32.lib - examples\gldemos\cube.obj : examples / - gldemos / cube.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / cube.c +examples\gldemos\cube.obj: examples/gldemos/cube.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/cube.c - examples\gldemos\gears.exe : examples\gldemos\gears.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\gldemos\gears.obj src\Mw.lib opengl32.lib glu32.lib +examples\gldemos\gears.exe: examples\gldemos\gears.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\gears.obj src\Mw.lib opengl32.lib glu32.lib - examples\gldemos\gears.obj : examples / - gldemos / gears.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / gears.c +examples\gldemos\gears.obj: examples/gldemos/gears.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/gears.c - examples\gldemos\triangle.exe : examples\gldemos\triangle.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\gldemos\triangle.obj src\Mw.lib opengl32.lib glu32.lib +examples\gldemos\triangle.exe: examples\gldemos\triangle.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\triangle.obj src\Mw.lib opengl32.lib glu32.lib - examples\gldemos\triangle.obj : examples / - gldemos / triangle.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / triangle.c +examples\gldemos\triangle.obj: examples/gldemos/triangle.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/triangle.c - examples\gldemos\tripaint.exe : examples\gldemos\tripaint.obj src\Mw.dll $(LD) $(EXE_LDFLAGS) / - OUT : $ @examples\gldemos\tripaint.obj src\Mw.lib opengl32.lib glu32.lib +examples\gldemos\tripaint.exe: examples\gldemos\tripaint.obj src\Mw.dll + $(LD) $(EXE_LDFLAGS) /OUT:$@ examples\gldemos\tripaint.obj src\Mw.lib opengl32.lib glu32.lib - examples\gldemos\tripaint.obj : examples / - gldemos / tripaint.c $(CC) $(EXE_CFLAGS) / Fo$ @examples / gldemos / tripaint.c +examples\gldemos\tripaint.obj: examples/gldemos/tripaint.c + $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/tripaint.c - src\Mw.dll : external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj $(LD) $(MW_LDFLAGS) / - OUT : $ @external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib winmm.lib user32.lib advapi32.lib - .c.obj : $(CC) $(MW_CFLAGS) / - Fo$ @$ < +src\Mw.dll: external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj + $(LD) $(MW_LDFLAGS) /OUT:$@ external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib winmm.lib user32.lib advapi32.lib + + +.c.obj: + $(CC) $(MW_CFLAGS) /Fo$@ $< diff --git a/README.txt b/README.txt index 55bb460..0f57f90 100644 --- a/README.txt +++ b/README.txt @@ -69,4 +69,4 @@ folder build as that's what's included in the .gitignore) 3) Run `make'. - -- Nishi (nishi@nishi.boats) + -- Nishi (nishi@nishi.boats) diff --git a/WatMakefile b/WatMakefile index 4a03350..afeb560 100644 --- a/WatMakefile +++ b/WatMakefile @@ -1,204 +1,506 @@ -CC = wcc386 - bt = nt - q - LD = wlink option quiet +CC = wcc386 -bt=nt -q +LD = wlink option quiet - MW_CFLAGS = -bd - i = include - i = external / libz / include - d_MILSKO - d_MILSKO_BUILD - dUSE_GDI - dUSE_STB_IMAGE - dSTBI_NO_SIMD - dUSE_GDI_TEXT MW_LDFLAGS = system nt_dll - EXE_CFLAGS = -i = include - EXE_LDFLAGS = system nt - all : src / - Mw.dll examples / basic / box.exe examples / basic / calculator.exe examples / basic / checkbox.exe examples / basic / clipboard.exe examples / basic / colorpicker.exe examples / basic / combobox.exe examples / basic / example.exe examples / basic / filechooser.exe examples / basic / image.exe examples / basic / listbox.exe examples / basic / messagebox.exe examples / basic / periodic.exe examples / basic / progressbar.exe examples / basic / radiobox.exe examples / basic / rotate.exe examples / basic / scrollbar.exe examples / basic / sevensegment.exe examples / basic / subwindow.exe examples / basic / tab.exe examples / basic / treeview.exe examples / basic / viewport.exe examples / gldemos / boing.exe examples / gldemos / clock.exe examples / gldemos / cube.exe examples / gldemos / gears.exe examples / gldemos / triangle.exe examples / gldemos / tripaint.exe lib : src / Mw.dll examples : examples / basic / box.exe examples / basic / calculator.exe examples / basic / checkbox.exe examples / basic / clipboard.exe examples / basic / colorpicker.exe examples / basic / combobox.exe examples / basic / example.exe examples / basic / filechooser.exe examples / basic / image.exe examples / basic / listbox.exe examples / basic / messagebox.exe examples / basic / periodic.exe examples / basic / progressbar.exe examples / basic / radiobox.exe examples / basic / rotate.exe examples / basic / scrollbar.exe examples / basic / sevensegment.exe examples / basic / subwindow.exe examples / basic / tab.exe examples / basic / treeview.exe examples / basic / viewport.exe examples / gldemos / boing.exe examples / gldemos / clock.exe examples / gldemos / cube.exe examples / gldemos / gears.exe examples / gldemos / triangle.exe examples / gldemos / tripaint.exe clean :.SYMBOLIC % erase external / libz / src / adler32.obj % erase external / libz / src / compress.obj % erase external / libz / src / crc32.obj % erase external / libz / src / deflate.obj % erase external / libz / src / gzclose.obj % erase external / libz / src / gzlib.obj % erase external / libz / src / gzread.obj % erase external / libz / src / gzwrite.obj % erase external / libz / src / infback.obj % erase external / libz / src / inffast.obj % erase external / libz / src / inflate.obj % erase external / libz / src / inftrees.obj % erase external / libz / src / trees.obj % erase external / libz / src / uncompr.obj % erase external / libz / src / zutil.obj % erase external / stb_ds.obj % erase external / stb_image.obj % erase external / stb_truetype.obj % erase src / abstract / charset.obj % erase src / abstract / directory.obj % erase src / abstract / dynamic.obj % erase src / abstract / time.obj % erase src / backend / gdi.obj % erase src / color.obj % erase src / core.obj % erase src / cursor / arrow.obj % erase src / cursor / cross.obj % erase src / cursor / default.obj % erase src / cursor / hidden.obj % erase src / cursor / text.obj % erase src / default.obj % erase src / dialog / colorpicker.obj % erase src / dialog / directorychooser.obj % erase src / dialog / filechooser.obj % erase src / dialog / messagebox.obj % erase src / draw.obj % erase src / icon / back.obj % erase src / icon / clock.obj % erase src / icon / computer.obj % erase src / icon / directory.obj % erase src / icon / down.obj % erase src / icon / error.obj % erase src / icon / file.obj % erase src / icon / forward.obj % erase src / icon / info.obj % erase src / icon / left.obj % erase src / icon / news.obj % erase src / icon / note.obj % erase src / icon / right.obj % erase src / icon / search.obj % erase src / icon / up.obj % erase src / icon / warning.obj % erase src / lowlevel.obj % erase src / string.obj % erase src / text / font / boldfont.obj % erase src / text / font / boldmonottf.obj % erase src / text / font / boldttf.obj % erase src / text / font / font.obj % erase src / text / font / monottf.obj % erase src / text / font / ttf.obj % erase src / text / ft2.obj % erase src / text / gdi.obj % erase src / text / stbtt.obj % erase src / text / text.obj % erase src / truetype.obj % erase src / unicode.obj % erase src / widget / box.obj % erase src / widget / button.obj % erase src / widget / calendar.obj % erase src / widget / checkbox.obj % erase src / widget / combobox.obj % erase src / widget / entry.obj % erase src / widget / frame.obj % erase src / widget / image.obj % erase src / widget / label.obj % erase src / widget / listbox.obj % erase src / widget / menu.obj % erase src / widget / numberentry.obj % erase src / widget / opengl.obj % erase src / widget / progressbar.obj % erase src / widget / radiobox.obj % erase src / widget / scrollbar.obj % erase src / widget / separator.obj % erase src / widget / submenu.obj % erase src / widget / subwindow.obj % erase src / widget / tab.obj % erase src / widget / table.obj % erase src / widget / treeview.obj % erase src / widget / viewport.obj % erase src / widget / window.obj % erase src / Mw.dll % erase src / Mw.lib % erase examples / basic / box.obj % erase examples / basic / calculator.obj % erase examples / basic / checkbox.obj % erase examples / basic / clipboard.obj % erase examples / basic / colorpicker.obj % erase examples / basic / combobox.obj % erase examples / basic / example.obj % erase examples / basic / filechooser.obj % erase examples / basic / image.obj % erase examples / basic / listbox.obj % erase examples / basic / messagebox.obj % erase examples / basic / periodic.obj % erase examples / basic / progressbar.obj % erase examples / basic / radiobox.obj % erase examples / basic / rotate.obj % erase examples / basic / scrollbar.obj % erase examples / basic / sevensegment.obj % erase examples / basic / subwindow.obj % erase examples / basic / tab.obj % erase examples / basic / treeview.obj % erase examples / basic / viewport.obj % erase examples / gldemos / boing.obj % erase examples / gldemos / clock.obj % erase examples / gldemos / cube.obj % erase examples / gldemos / gears.obj % erase examples / gldemos / triangle.obj % erase examples / gldemos / tripaint.obj % erase examples / basic / box.exe % erase examples / basic / calculator.exe % erase examples / basic / checkbox.exe % erase examples / basic / clipboard.exe % erase examples / basic / colorpicker.exe % erase examples / basic / combobox.exe % erase examples / basic / example.exe % erase examples / basic / filechooser.exe % erase examples / basic / image.exe % erase examples / basic / listbox.exe % erase examples / basic / messagebox.exe % erase examples / basic / periodic.exe % erase examples / basic / progressbar.exe % erase examples / basic / radiobox.exe % erase examples / basic / rotate.exe % erase examples / basic / scrollbar.exe % erase examples / basic / sevensegment.exe % erase examples / basic / subwindow.exe % erase examples / basic / tab.exe % erase examples / basic / treeview.exe % erase examples / basic / viewport.exe % erase examples / gldemos / boing.exe % erase examples / gldemos / clock.exe % erase examples / gldemos / cube.exe % erase examples / gldemos / gears.exe % erase examples / gldemos / triangle.exe % erase examples / gldemos / tripaint.exe +MW_CFLAGS = -bd -i=include -i=external/libz/include -d_MILSKO -d_MILSKO_BUILD -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -dUSE_GDI_TEXT +MW_LDFLAGS = system nt_dll +EXE_CFLAGS = -i=include +EXE_LDFLAGS = system nt +all: src/Mw.dll examples/basic/box.exe examples/basic/calculator.exe examples/basic/checkbox.exe examples/basic/clipboard.exe examples/basic/colorpicker.exe examples/basic/combobox.exe examples/basic/example.exe examples/basic/filechooser.exe examples/basic/image.exe examples/basic/listbox.exe examples/basic/messagebox.exe examples/basic/periodic.exe examples/basic/progressbar.exe examples/basic/radiobox.exe examples/basic/rotate.exe examples/basic/scrollbar.exe examples/basic/sevensegment.exe examples/basic/subwindow.exe examples/basic/tab.exe examples/basic/treeview.exe examples/basic/viewport.exe examples/gldemos/boing.exe examples/gldemos/clock.exe examples/gldemos/cube.exe examples/gldemos/gears.exe examples/gldemos/triangle.exe examples/gldemos/tripaint.exe +lib: src/Mw.dll +examples: examples/basic/box.exe examples/basic/calculator.exe examples/basic/checkbox.exe examples/basic/clipboard.exe examples/basic/colorpicker.exe examples/basic/combobox.exe examples/basic/example.exe examples/basic/filechooser.exe examples/basic/image.exe examples/basic/listbox.exe examples/basic/messagebox.exe examples/basic/periodic.exe examples/basic/progressbar.exe examples/basic/radiobox.exe examples/basic/rotate.exe examples/basic/scrollbar.exe examples/basic/sevensegment.exe examples/basic/subwindow.exe examples/basic/tab.exe examples/basic/treeview.exe examples/basic/viewport.exe examples/gldemos/boing.exe examples/gldemos/clock.exe examples/gldemos/cube.exe examples/gldemos/gears.exe examples/gldemos/triangle.exe examples/gldemos/tripaint.exe +clean: .SYMBOLIC + %erase external/libz/src/adler32.obj + %erase external/libz/src/compress.obj + %erase external/libz/src/crc32.obj + %erase external/libz/src/deflate.obj + %erase external/libz/src/gzclose.obj + %erase external/libz/src/gzlib.obj + %erase external/libz/src/gzread.obj + %erase external/libz/src/gzwrite.obj + %erase external/libz/src/infback.obj + %erase external/libz/src/inffast.obj + %erase external/libz/src/inflate.obj + %erase external/libz/src/inftrees.obj + %erase external/libz/src/trees.obj + %erase external/libz/src/uncompr.obj + %erase external/libz/src/zutil.obj + %erase external/stb_ds.obj + %erase external/stb_image.obj + %erase external/stb_truetype.obj + %erase src/abstract/charset.obj + %erase src/abstract/directory.obj + %erase src/abstract/dynamic.obj + %erase src/abstract/time.obj + %erase src/backend/gdi.obj + %erase src/color.obj + %erase src/core.obj + %erase src/cursor/arrow.obj + %erase src/cursor/cross.obj + %erase src/cursor/default.obj + %erase src/cursor/hidden.obj + %erase src/cursor/text.obj + %erase src/default.obj + %erase src/dialog/colorpicker.obj + %erase src/dialog/directorychooser.obj + %erase src/dialog/filechooser.obj + %erase src/dialog/messagebox.obj + %erase src/draw.obj + %erase src/icon/back.obj + %erase src/icon/clock.obj + %erase src/icon/computer.obj + %erase src/icon/directory.obj + %erase src/icon/down.obj + %erase src/icon/error.obj + %erase src/icon/file.obj + %erase src/icon/forward.obj + %erase src/icon/info.obj + %erase src/icon/left.obj + %erase src/icon/news.obj + %erase src/icon/note.obj + %erase src/icon/right.obj + %erase src/icon/search.obj + %erase src/icon/up.obj + %erase src/icon/warning.obj + %erase src/lowlevel.obj + %erase src/string.obj + %erase src/text/font/boldfont.obj + %erase src/text/font/boldmonottf.obj + %erase src/text/font/boldttf.obj + %erase src/text/font/font.obj + %erase src/text/font/monottf.obj + %erase src/text/font/ttf.obj + %erase src/text/ft2.obj + %erase src/text/gdi.obj + %erase src/text/stbtt.obj + %erase src/text/text.obj + %erase src/truetype.obj + %erase src/unicode.obj + %erase src/widget/box.obj + %erase src/widget/button.obj + %erase src/widget/calendar.obj + %erase src/widget/checkbox.obj + %erase src/widget/combobox.obj + %erase src/widget/entry.obj + %erase src/widget/frame.obj + %erase src/widget/image.obj + %erase src/widget/label.obj + %erase src/widget/listbox.obj + %erase src/widget/menu.obj + %erase src/widget/numberentry.obj + %erase src/widget/opengl.obj + %erase src/widget/progressbar.obj + %erase src/widget/radiobox.obj + %erase src/widget/scrollbar.obj + %erase src/widget/separator.obj + %erase src/widget/submenu.obj + %erase src/widget/subwindow.obj + %erase src/widget/tab.obj + %erase src/widget/table.obj + %erase src/widget/treeview.obj + %erase src/widget/viewport.obj + %erase src/widget/window.obj + %erase src/Mw.dll + %erase src/Mw.lib + %erase examples/basic/box.obj + %erase examples/basic/calculator.obj + %erase examples/basic/checkbox.obj + %erase examples/basic/clipboard.obj + %erase examples/basic/colorpicker.obj + %erase examples/basic/combobox.obj + %erase examples/basic/example.obj + %erase examples/basic/filechooser.obj + %erase examples/basic/image.obj + %erase examples/basic/listbox.obj + %erase examples/basic/messagebox.obj + %erase examples/basic/periodic.obj + %erase examples/basic/progressbar.obj + %erase examples/basic/radiobox.obj + %erase examples/basic/rotate.obj + %erase examples/basic/scrollbar.obj + %erase examples/basic/sevensegment.obj + %erase examples/basic/subwindow.obj + %erase examples/basic/tab.obj + %erase examples/basic/treeview.obj + %erase examples/basic/viewport.obj + %erase examples/gldemos/boing.obj + %erase examples/gldemos/clock.obj + %erase examples/gldemos/cube.obj + %erase examples/gldemos/gears.obj + %erase examples/gldemos/triangle.obj + %erase examples/gldemos/tripaint.obj + %erase examples/basic/box.exe + %erase examples/basic/calculator.exe + %erase examples/basic/checkbox.exe + %erase examples/basic/clipboard.exe + %erase examples/basic/colorpicker.exe + %erase examples/basic/combobox.exe + %erase examples/basic/example.exe + %erase examples/basic/filechooser.exe + %erase examples/basic/image.exe + %erase examples/basic/listbox.exe + %erase examples/basic/messagebox.exe + %erase examples/basic/periodic.exe + %erase examples/basic/progressbar.exe + %erase examples/basic/radiobox.exe + %erase examples/basic/rotate.exe + %erase examples/basic/scrollbar.exe + %erase examples/basic/sevensegment.exe + %erase examples/basic/subwindow.exe + %erase examples/basic/tab.exe + %erase examples/basic/treeview.exe + %erase examples/basic/viewport.exe + %erase examples/gldemos/boing.exe + %erase examples/gldemos/clock.exe + %erase examples/gldemos/cube.exe + %erase examples/gldemos/gears.exe + %erase examples/gldemos/triangle.exe + %erase examples/gldemos/tripaint.exe - examples / - basic / box.exe : examples / basic / box.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / box.obj library clib3r.lib library src / Mw.lib +examples/basic/box.exe: examples/basic/box.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/box.obj library clib3r.lib library src/Mw.lib - examples / - basic / box.obj : examples / basic / box.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / box.c +examples/basic/box.obj: examples/basic/box.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/box.c - examples / - basic / calculator.exe : examples / basic / calculator.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / calculator.obj library clib3r.lib library src / Mw.lib +examples/basic/calculator.exe: examples/basic/calculator.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/calculator.obj library clib3r.lib library src/Mw.lib - examples / - basic / calculator.obj : examples / basic / calculator.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / calculator.c +examples/basic/calculator.obj: examples/basic/calculator.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/calculator.c - examples / - basic / checkbox.exe : examples / basic / checkbox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / checkbox.obj library clib3r.lib library src / Mw.lib +examples/basic/checkbox.exe: examples/basic/checkbox.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/checkbox.obj library clib3r.lib library src/Mw.lib - examples / - basic / checkbox.obj : examples / basic / checkbox.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / checkbox.c +examples/basic/checkbox.obj: examples/basic/checkbox.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/checkbox.c - examples / - basic / clipboard.exe : examples / basic / clipboard.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / clipboard.obj library clib3r.lib library src / Mw.lib +examples/basic/clipboard.exe: examples/basic/clipboard.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/clipboard.obj library clib3r.lib library src/Mw.lib - examples / - basic / clipboard.obj : examples / basic / clipboard.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / clipboard.c +examples/basic/clipboard.obj: examples/basic/clipboard.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/clipboard.c - examples / - basic / colorpicker.exe : examples / basic / colorpicker.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / colorpicker.obj library clib3r.lib library src / Mw.lib +examples/basic/colorpicker.exe: examples/basic/colorpicker.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/colorpicker.obj library clib3r.lib library src/Mw.lib - examples / - basic / colorpicker.obj : examples / basic / colorpicker.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / colorpicker.c +examples/basic/colorpicker.obj: examples/basic/colorpicker.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/colorpicker.c - examples / - basic / combobox.exe : examples / basic / combobox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / combobox.obj library clib3r.lib library src / Mw.lib +examples/basic/combobox.exe: examples/basic/combobox.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/combobox.obj library clib3r.lib library src/Mw.lib - examples / - basic / combobox.obj : examples / basic / combobox.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / combobox.c +examples/basic/combobox.obj: examples/basic/combobox.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/combobox.c - examples / - basic / example.exe : examples / basic / example.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / example.obj library clib3r.lib library src / Mw.lib +examples/basic/example.exe: examples/basic/example.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/example.obj library clib3r.lib library src/Mw.lib - examples / - basic / example.obj : examples / basic / example.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / example.c +examples/basic/example.obj: examples/basic/example.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/example.c - examples / - basic / filechooser.exe : examples / basic / filechooser.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / filechooser.obj library clib3r.lib library src / Mw.lib +examples/basic/filechooser.exe: examples/basic/filechooser.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/filechooser.obj library clib3r.lib library src/Mw.lib - examples / - basic / filechooser.obj : examples / basic / filechooser.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / filechooser.c +examples/basic/filechooser.obj: examples/basic/filechooser.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/filechooser.c - examples / - basic / image.exe : examples / basic / image.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / image.obj library clib3r.lib library src / Mw.lib +examples/basic/image.exe: examples/basic/image.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/image.obj library clib3r.lib library src/Mw.lib - examples / - basic / image.obj : examples / basic / image.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / image.c +examples/basic/image.obj: examples/basic/image.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/image.c - examples / - basic / listbox.exe : examples / basic / listbox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / listbox.obj library clib3r.lib library src / Mw.lib +examples/basic/listbox.exe: examples/basic/listbox.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/listbox.obj library clib3r.lib library src/Mw.lib - examples / - basic / listbox.obj : examples / basic / listbox.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / listbox.c +examples/basic/listbox.obj: examples/basic/listbox.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/listbox.c - examples / - basic / messagebox.exe : examples / basic / messagebox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / messagebox.obj library clib3r.lib library src / Mw.lib +examples/basic/messagebox.exe: examples/basic/messagebox.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/messagebox.obj library clib3r.lib library src/Mw.lib - examples / - basic / messagebox.obj : examples / basic / messagebox.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / messagebox.c +examples/basic/messagebox.obj: examples/basic/messagebox.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/messagebox.c - examples / - basic / periodic.exe : examples / basic / periodic.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / periodic.obj library clib3r.lib library src / Mw.lib +examples/basic/periodic.exe: examples/basic/periodic.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/periodic.obj library clib3r.lib library src/Mw.lib - examples / - basic / periodic.obj : examples / basic / periodic.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / periodic.c +examples/basic/periodic.obj: examples/basic/periodic.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/periodic.c - examples / - basic / progressbar.exe : examples / basic / progressbar.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / progressbar.obj library clib3r.lib library src / Mw.lib +examples/basic/progressbar.exe: examples/basic/progressbar.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/progressbar.obj library clib3r.lib library src/Mw.lib - examples / - basic / progressbar.obj : examples / basic / progressbar.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / progressbar.c +examples/basic/progressbar.obj: examples/basic/progressbar.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/progressbar.c - examples / - basic / radiobox.exe : examples / basic / radiobox.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / radiobox.obj library clib3r.lib library src / Mw.lib +examples/basic/radiobox.exe: examples/basic/radiobox.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/radiobox.obj library clib3r.lib library src/Mw.lib - examples / - basic / radiobox.obj : examples / basic / radiobox.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / radiobox.c +examples/basic/radiobox.obj: examples/basic/radiobox.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/radiobox.c - examples / - basic / rotate.exe : examples / basic / rotate.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / rotate.obj library clib3r.lib library src / Mw.lib +examples/basic/rotate.exe: examples/basic/rotate.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/rotate.obj library clib3r.lib library src/Mw.lib - examples / - basic / rotate.obj : examples / basic / rotate.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / rotate.c +examples/basic/rotate.obj: examples/basic/rotate.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/rotate.c - examples / - basic / scrollbar.exe : examples / basic / scrollbar.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / scrollbar.obj library clib3r.lib library src / Mw.lib +examples/basic/scrollbar.exe: examples/basic/scrollbar.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/scrollbar.obj library clib3r.lib library src/Mw.lib - examples / - basic / scrollbar.obj : examples / basic / scrollbar.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / scrollbar.c +examples/basic/scrollbar.obj: examples/basic/scrollbar.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/scrollbar.c - examples / - basic / sevensegment.exe : examples / basic / sevensegment.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / sevensegment.obj library clib3r.lib library src / Mw.lib +examples/basic/sevensegment.exe: examples/basic/sevensegment.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/sevensegment.obj library clib3r.lib library src/Mw.lib - examples / - basic / sevensegment.obj : examples / basic / sevensegment.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / sevensegment.c +examples/basic/sevensegment.obj: examples/basic/sevensegment.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/sevensegment.c - examples / - basic / subwindow.exe : examples / basic / subwindow.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / subwindow.obj library clib3r.lib library src / Mw.lib +examples/basic/subwindow.exe: examples/basic/subwindow.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/subwindow.obj library clib3r.lib library src/Mw.lib - examples / - basic / subwindow.obj : examples / basic / subwindow.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / subwindow.c +examples/basic/subwindow.obj: examples/basic/subwindow.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/subwindow.c - examples / - basic / tab.exe : examples / basic / tab.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / tab.obj library clib3r.lib library src / Mw.lib +examples/basic/tab.exe: examples/basic/tab.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/tab.obj library clib3r.lib library src/Mw.lib - examples / - basic / tab.obj : examples / basic / tab.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / tab.c +examples/basic/tab.obj: examples/basic/tab.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/tab.c - examples / - basic / treeview.exe : examples / basic / treeview.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / treeview.obj library clib3r.lib library src / Mw.lib +examples/basic/treeview.exe: examples/basic/treeview.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/treeview.obj library clib3r.lib library src/Mw.lib - examples / - basic / treeview.obj : examples / basic / treeview.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / treeview.c +examples/basic/treeview.obj: examples/basic/treeview.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/treeview.c - examples / - basic / viewport.exe : examples / basic / viewport.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / basic / viewport.obj library clib3r.lib library src / Mw.lib +examples/basic/viewport.exe: examples/basic/viewport.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/basic/viewport.obj library clib3r.lib library src/Mw.lib - examples / - basic / viewport.obj : examples / basic / viewport.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / basic / viewport.c +examples/basic/viewport.obj: examples/basic/viewport.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/viewport.c - examples / - gldemos / boing.exe : examples / gldemos / boing.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / boing.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib +examples/gldemos/boing.exe: examples/gldemos/boing.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/boing.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib - examples / - gldemos / boing.obj : examples / gldemos / boing.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / gldemos / boing.c +examples/gldemos/boing.obj: examples/gldemos/boing.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/boing.c - examples / - gldemos / clock.exe : examples / gldemos / clock.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / clock.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib +examples/gldemos/clock.exe: examples/gldemos/clock.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/clock.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib - examples / - gldemos / clock.obj : examples / gldemos / clock.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / gldemos / clock.c +examples/gldemos/clock.obj: examples/gldemos/clock.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/clock.c - examples / - gldemos / cube.exe : examples / gldemos / cube.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / cube.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib +examples/gldemos/cube.exe: examples/gldemos/cube.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/cube.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib - examples / - gldemos / cube.obj : examples / gldemos / cube.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / gldemos / cube.c +examples/gldemos/cube.obj: examples/gldemos/cube.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/cube.c - examples / - gldemos / gears.exe : examples / gldemos / gears.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / gears.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib +examples/gldemos/gears.exe: examples/gldemos/gears.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/gears.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib - examples / - gldemos / gears.obj : examples / gldemos / gears.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / gldemos / gears.c +examples/gldemos/gears.obj: examples/gldemos/gears.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/gears.c - examples / - gldemos / triangle.exe : examples / gldemos / triangle.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / triangle.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib +examples/gldemos/triangle.exe: examples/gldemos/triangle.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/triangle.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib - examples / - gldemos / triangle.obj : examples / gldemos / triangle.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / gldemos / triangle.c +examples/gldemos/triangle.obj: examples/gldemos/triangle.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/triangle.c - examples / - gldemos / tripaint.exe : examples / gldemos / tripaint.obj src / Mw.dll $(LD) $(EXE_LDFLAGS) name $ @file examples / gldemos / tripaint.obj library clib3r.lib library src / Mw.lib library opengl32.lib library glu32.lib +examples/gldemos/tripaint.exe: examples/gldemos/tripaint.obj src/Mw.dll + $(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/tripaint.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib - examples / - gldemos / tripaint.obj : examples / gldemos / tripaint.c $(CC) $(EXE_CFLAGS) - - fo = $ @examples / gldemos / tripaint.c +examples/gldemos/tripaint.obj: examples/gldemos/tripaint.c + $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/tripaint.c - src / - Mw.dll : external / libz / src / adler32.obj external / libz / src / compress.obj external / libz / src / crc32.obj external / libz / src / deflate.obj external / libz / src / gzclose.obj external / libz / src / gzlib.obj external / libz / src / gzread.obj external / libz / src / gzwrite.obj external / libz / src / infback.obj external / libz / src / inffast.obj external / libz / src / inflate.obj external / libz / src / inftrees.obj external / libz / src / trees.obj external / libz / src / uncompr.obj external / libz / src / zutil.obj external / stb_ds.obj external / stb_image.obj external / stb_truetype.obj src / abstract / charset.obj src / abstract / directory.obj src / abstract / dynamic.obj src / abstract / time.obj src / backend / gdi.obj src / color.obj src / core.obj src / cursor / arrow.obj src / cursor / cross.obj src / cursor / default.obj src / cursor / hidden.obj src / cursor / text.obj src / default.obj src / dialog / colorpicker.obj src / dialog / directorychooser.obj src / dialog / filechooser.obj src / dialog / messagebox.obj src / draw.obj src / icon / back.obj src / icon / clock.obj src / icon / computer.obj src / icon / directory.obj src / icon / down.obj src / icon / error.obj src / icon / file.obj src / icon / forward.obj src / icon / info.obj src / icon / left.obj src / icon / news.obj src / icon / note.obj src / icon / right.obj src / icon / search.obj src / icon / up.obj src / icon / warning.obj src / lowlevel.obj src / string.obj src / text / font / boldfont.obj src / text / font / boldmonottf.obj src / text / font / boldttf.obj src / text / font / font.obj src / text / font / monottf.obj src / text / font / ttf.obj src / text / ft2.obj src / text / gdi.obj src / text / stbtt.obj src / text / text.obj src / truetype.obj src / unicode.obj src / widget / box.obj src / widget / button.obj src / widget / calendar.obj src / widget / checkbox.obj src / widget / combobox.obj src / widget / entry.obj src / widget / frame.obj src / widget / image.obj src / widget / label.obj src / widget / listbox.obj src / widget / menu.obj src / widget / numberentry.obj src / widget / opengl.obj src / widget / progressbar.obj src / widget / radiobox.obj src / widget / scrollbar.obj src / widget / separator.obj src / widget / submenu.obj src / widget / subwindow.obj src / widget / tab.obj src / widget / table.obj src / widget / treeview.obj src / widget / viewport.obj src / widget / window.obj $(LD) $(MW_LDFLAGS) option implib = src / Mw.lib name $ @file external / libz / src / adler32.obj file external / libz / src / compress.obj file external / libz / src / crc32.obj file external / libz / src / deflate.obj file external / libz / src / gzclose.obj file external / libz / src / gzlib.obj file external / libz / src / gzread.obj file external / libz / src / gzwrite.obj file external / libz / src / infback.obj file external / libz / src / inffast.obj file external / libz / src / inflate.obj file external / libz / src / inftrees.obj file external / libz / src / trees.obj file external / libz / src / uncompr.obj file external / libz / src / zutil.obj file external / stb_ds.obj file external / stb_image.obj file external / stb_truetype.obj file src / abstract / charset.obj file src / abstract / directory.obj file src / abstract / dynamic.obj file src / abstract / time.obj file src / backend / gdi.obj file src / color.obj file src / core.obj file src / cursor / arrow.obj file src / cursor / cross.obj file src / cursor / default.obj file src / cursor / hidden.obj file src / cursor / text.obj file src / default.obj file src / dialog / colorpicker.obj file src / dialog / directorychooser.obj file src / dialog / filechooser.obj file src / dialog / messagebox.obj file src / draw.obj file src / icon / back.obj file src / icon / clock.obj file src / icon / computer.obj file src / icon / directory.obj file src / icon / down.obj file src / icon / error.obj file src / icon / file.obj file src / icon / forward.obj file src / icon / info.obj file src / icon / left.obj file src / icon / news.obj file src / icon / note.obj file src / icon / right.obj file src / icon / search.obj file src / icon / up.obj file src / icon / warning.obj file src / lowlevel.obj file src / string.obj file src / text / font / boldfont.obj file src / text / font / boldmonottf.obj file src / text / font / boldttf.obj file src / text / font / font.obj file src / text / font / monottf.obj file src / text / font / ttf.obj file src / text / ft2.obj file src / text / gdi.obj file src / text / stbtt.obj file src / text / text.obj file src / truetype.obj file src / unicode.obj file src / widget / box.obj file src / widget / button.obj file src / widget / calendar.obj file src / widget / checkbox.obj file src / widget / combobox.obj file src / widget / entry.obj file src / widget / frame.obj file src / widget / image.obj file src / widget / label.obj file src / widget / listbox.obj file src / widget / menu.obj file src / widget / numberentry.obj file src / widget / opengl.obj file src / widget / progressbar.obj file src / widget / radiobox.obj file src / widget / scrollbar.obj file src / widget / separator.obj file src / widget / submenu.obj file src / widget / subwindow.obj file src / widget / tab.obj file src / widget / table.obj file src / widget / treeview.obj file src / widget / viewport.obj file src / widget / window.obj library clib3r.lib library opengl32.lib library gdi32.lib library winmm.lib library user32.lib library advapi32.lib - external / - libz / src / adler32.obj : external / libz / src / adler32.c $(CC) $(MW_CFLAGS) - - fo = $ @external / libz / src / adler32.c external / libz / src / compress.obj : external / libz / src / compress.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / compress.c external / libz / src / crc32.obj : external / libz / src / crc32.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / crc32.c external / libz / src / deflate.obj : external / libz / src / deflate.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / deflate.c external / libz / src / gzclose.obj : external / libz / src / gzclose.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / gzclose.c external / libz / src / gzlib.obj : external / libz / src / gzlib.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / gzlib.c external / libz / src / gzread.obj : external / libz / src / gzread.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / gzread.c external / libz / src / gzwrite.obj : external / libz / src / gzwrite.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / gzwrite.c external / libz / src / infback.obj : external / libz / src / infback.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / infback.c external / libz / src / inffast.obj : external / libz / src / inffast.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / inffast.c external / libz / src / inflate.obj : external / libz / src / inflate.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / inflate.c external / libz / src / inftrees.obj : external / libz / src / inftrees.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / inftrees.c external / libz / src / trees.obj : external / libz / src / trees.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / trees.c external / libz / src / uncompr.obj : external / libz / src / uncompr.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / uncompr.c external / libz / src / zutil.obj : external / libz / src / zutil.c $(CC) $(MW_CFLAGS) - fo = $ @external / libz / src / zutil.c external / stb_ds.obj : external / stb_ds.c $(CC) $(MW_CFLAGS) - fo = $ @external / stb_ds.c external / stb_image.obj : external / stb_image.c $(CC) $(MW_CFLAGS) - fo = $ @external / stb_image.c external / stb_truetype.obj : external / stb_truetype.c $(CC) $(MW_CFLAGS) - fo = $ @external / stb_truetype.c src / abstract / charset.obj : src / abstract / charset.c $(CC) $(MW_CFLAGS) - fo = $ @src / abstract / charset.c src / abstract / directory.obj : src / abstract / directory.c $(CC) $(MW_CFLAGS) - fo = $ @src / abstract / directory.c src / abstract / dynamic.obj : src / abstract / dynamic.c $(CC) $(MW_CFLAGS) - fo = $ @src / abstract / dynamic.c src / abstract / time.obj : src / abstract / time.c $(CC) $(MW_CFLAGS) - fo = $ @src / abstract / time.c src / backend / gdi.obj : src / backend / gdi.c $(CC) $(MW_CFLAGS) - fo = $ @src / backend / gdi.c src / color.obj : src / color.c $(CC) $(MW_CFLAGS) - fo = $ @src / color.c src / core.obj : src / core.c $(CC) $(MW_CFLAGS) - fo = $ @src / core.c src / cursor / arrow.obj : src / cursor / arrow.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / arrow.c src / cursor / cross.obj : src / cursor / cross.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / cross.c src / cursor / default.obj : src / cursor / default.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / default.c src / cursor / hidden.obj : src / cursor / hidden.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / hidden.c src / cursor / text.obj : src / cursor / text.c $(CC) $(MW_CFLAGS) - fo = $ @src / cursor / text.c src / default.obj : src / default.c $(CC) $(MW_CFLAGS) - fo = $ @src / default.c src / dialog / colorpicker.obj : src / dialog / colorpicker.c $(CC) $(MW_CFLAGS) - fo = $ @src / dialog / colorpicker.c src / dialog / directorychooser.obj : src / dialog / directorychooser.c $(CC) $(MW_CFLAGS) - fo = $ @src / dialog / directorychooser.c src / dialog / filechooser.obj : src / dialog / filechooser.c $(CC) $(MW_CFLAGS) - fo = $ @src / dialog / filechooser.c src / dialog / messagebox.obj : src / dialog / messagebox.c $(CC) $(MW_CFLAGS) - fo = $ @src / dialog / messagebox.c src / draw.obj : src / draw.c $(CC) $(MW_CFLAGS) - fo = $ @src / draw.c src / icon / back.obj : src / icon / back.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / back.c src / icon / clock.obj : src / icon / clock.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / clock.c src / icon / computer.obj : src / icon / computer.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / computer.c src / icon / directory.obj : src / icon / directory.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / directory.c src / icon / down.obj : src / icon / down.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / down.c src / icon / error.obj : src / icon / error.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / error.c src / icon / file.obj : src / icon / file.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / file.c src / icon / forward.obj : src / icon / forward.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / forward.c src / icon / info.obj : src / icon / info.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / info.c src / icon / left.obj : src / icon / left.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / left.c src / icon / news.obj : src / icon / news.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / news.c src / icon / note.obj : src / icon / note.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / note.c src / icon / right.obj : src / icon / right.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / right.c src / icon / search.obj : src / icon / search.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / search.c src / icon / up.obj : src / icon / up.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / up.c src / icon / warning.obj : src / icon / warning.c $(CC) $(MW_CFLAGS) - fo = $ @src / icon / warning.c src / lowlevel.obj : src / lowlevel.c $(CC) $(MW_CFLAGS) - fo = $ @src / lowlevel.c src / string.obj : src / string.c $(CC) $(MW_CFLAGS) - fo = $ @src / string.c src / text / font / boldfont.obj : src / text / font / boldfont.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / boldfont.c src / text / font / boldmonottf.obj : src / text / font / boldmonottf.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / boldmonottf.c src / text / font / boldttf.obj : src / text / font / boldttf.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / boldttf.c src / text / font / font.obj : src / text / font / font.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / font.c src / text / font / monottf.obj : src / text / font / monottf.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / monottf.c src / text / font / ttf.obj : src / text / font / ttf.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / font / ttf.c src / text / ft2.obj : src / text / ft2.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / ft2.c src / text / gdi.obj : src / text / gdi.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / gdi.c src / text / stbtt.obj : src / text / stbtt.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / stbtt.c src / text / text.obj : src / text / text.c $(CC) $(MW_CFLAGS) - fo = $ @src / text / text.c src / truetype.obj : src / truetype.c $(CC) $(MW_CFLAGS) - fo = $ @src / truetype.c src / unicode.obj : src / unicode.c $(CC) $(MW_CFLAGS) - fo = $ @src / unicode.c src / widget / box.obj : src / widget / box.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / box.c src / widget / button.obj : src / widget / button.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / button.c src / widget / calendar.obj : src / widget / calendar.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / calendar.c src / widget / checkbox.obj : src / widget / checkbox.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / checkbox.c src / widget / combobox.obj : src / widget / combobox.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / combobox.c src / widget / entry.obj : src / widget / entry.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / entry.c src / widget / frame.obj : src / widget / frame.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / frame.c src / widget / image.obj : src / widget / image.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / image.c src / widget / label.obj : src / widget / label.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / label.c src / widget / listbox.obj : src / widget / listbox.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / listbox.c src / widget / menu.obj : src / widget / menu.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / menu.c src / widget / numberentry.obj : src / widget / numberentry.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / numberentry.c src / widget / opengl.obj : src / widget / opengl.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / opengl.c src / widget / progressbar.obj : src / widget / progressbar.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / progressbar.c src / widget / radiobox.obj : src / widget / radiobox.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / radiobox.c src / widget / scrollbar.obj : src / widget / scrollbar.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / scrollbar.c src / widget / separator.obj : src / widget / separator.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / separator.c src / widget / submenu.obj : src / widget / submenu.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / submenu.c src / widget / subwindow.obj : src / widget / subwindow.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / subwindow.c src / widget / tab.obj : src / widget / tab.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / tab.c src / widget / table.obj : src / widget / table.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / table.c src / widget / treeview.obj : src / widget / treeview.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / treeview.c src / widget / viewport.obj : src / widget / viewport.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / viewport.c src / widget / window.obj : src / widget / window.c $(CC) $(MW_CFLAGS) - fo = $ @src / widget / window.c +src/Mw.dll: external/libz/src/adler32.obj external/libz/src/compress.obj external/libz/src/crc32.obj external/libz/src/deflate.obj external/libz/src/gzclose.obj external/libz/src/gzlib.obj external/libz/src/gzread.obj external/libz/src/gzwrite.obj external/libz/src/infback.obj external/libz/src/inffast.obj external/libz/src/inflate.obj external/libz/src/inftrees.obj external/libz/src/trees.obj external/libz/src/uncompr.obj external/libz/src/zutil.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/charset.obj src/abstract/directory.obj src/abstract/dynamic.obj src/abstract/time.obj src/backend/gdi.obj src/color.obj src/core.obj src/cursor/arrow.obj src/cursor/cross.obj src/cursor/default.obj src/cursor/hidden.obj src/cursor/text.obj src/default.obj src/dialog/colorpicker.obj src/dialog/directorychooser.obj src/dialog/filechooser.obj src/dialog/messagebox.obj src/draw.obj src/icon/back.obj src/icon/clock.obj src/icon/computer.obj src/icon/directory.obj src/icon/down.obj src/icon/error.obj src/icon/file.obj src/icon/forward.obj src/icon/info.obj src/icon/left.obj src/icon/news.obj src/icon/note.obj src/icon/right.obj src/icon/search.obj src/icon/up.obj src/icon/warning.obj src/lowlevel.obj src/string.obj src/text/font/boldfont.obj src/text/font/boldmonottf.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/monottf.obj src/text/font/ttf.obj src/text/ft2.obj src/text/gdi.obj src/text/stbtt.obj src/text/text.obj src/truetype.obj src/unicode.obj src/widget/box.obj src/widget/button.obj src/widget/calendar.obj src/widget/checkbox.obj src/widget/combobox.obj src/widget/entry.obj src/widget/frame.obj src/widget/image.obj src/widget/label.obj src/widget/listbox.obj src/widget/menu.obj src/widget/numberentry.obj src/widget/opengl.obj src/widget/progressbar.obj src/widget/radiobox.obj src/widget/scrollbar.obj src/widget/separator.obj src/widget/submenu.obj src/widget/subwindow.obj src/widget/tab.obj src/widget/table.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj + $(LD) $(MW_LDFLAGS) option implib=src/Mw.lib name $@ file external/libz/src/adler32.obj file external/libz/src/compress.obj file external/libz/src/crc32.obj file external/libz/src/deflate.obj file external/libz/src/gzclose.obj file external/libz/src/gzlib.obj file external/libz/src/gzread.obj file external/libz/src/gzwrite.obj file external/libz/src/infback.obj file external/libz/src/inffast.obj file external/libz/src/inflate.obj file external/libz/src/inftrees.obj file external/libz/src/trees.obj file external/libz/src/uncompr.obj file external/libz/src/zutil.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/charset.obj file src/abstract/directory.obj file src/abstract/dynamic.obj file src/abstract/time.obj file src/backend/gdi.obj file src/color.obj file src/core.obj file src/cursor/arrow.obj file src/cursor/cross.obj file src/cursor/default.obj file src/cursor/hidden.obj file src/cursor/text.obj file src/default.obj file src/dialog/colorpicker.obj file src/dialog/directorychooser.obj file src/dialog/filechooser.obj file src/dialog/messagebox.obj file src/draw.obj file src/icon/back.obj file src/icon/clock.obj file src/icon/computer.obj file src/icon/directory.obj file src/icon/down.obj file src/icon/error.obj file src/icon/file.obj file src/icon/forward.obj file src/icon/info.obj file src/icon/left.obj file src/icon/news.obj file src/icon/note.obj file src/icon/right.obj file src/icon/search.obj file src/icon/up.obj file src/icon/warning.obj file src/lowlevel.obj file src/string.obj file src/text/font/boldfont.obj file src/text/font/boldmonottf.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/monottf.obj file src/text/font/ttf.obj file src/text/ft2.obj file src/text/gdi.obj file src/text/stbtt.obj file src/text/text.obj file src/truetype.obj file src/unicode.obj file src/widget/box.obj file src/widget/button.obj file src/widget/calendar.obj file src/widget/checkbox.obj file src/widget/combobox.obj file src/widget/entry.obj file src/widget/frame.obj file src/widget/image.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/menu.obj file src/widget/numberentry.obj file src/widget/opengl.obj file src/widget/progressbar.obj file src/widget/radiobox.obj file src/widget/scrollbar.obj file src/widget/separator.obj file src/widget/submenu.obj file src/widget/subwindow.obj file src/widget/tab.obj file src/widget/table.obj file src/widget/treeview.obj file src/widget/viewport.obj file src/widget/window.obj library clib3r.lib library opengl32.lib library gdi32.lib library winmm.lib library user32.lib library advapi32.lib + + + +external/libz/src/adler32.obj: external/libz/src/adler32.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/adler32.c +external/libz/src/compress.obj: external/libz/src/compress.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/compress.c +external/libz/src/crc32.obj: external/libz/src/crc32.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/crc32.c +external/libz/src/deflate.obj: external/libz/src/deflate.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/deflate.c +external/libz/src/gzclose.obj: external/libz/src/gzclose.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/gzclose.c +external/libz/src/gzlib.obj: external/libz/src/gzlib.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/gzlib.c +external/libz/src/gzread.obj: external/libz/src/gzread.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/gzread.c +external/libz/src/gzwrite.obj: external/libz/src/gzwrite.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/gzwrite.c +external/libz/src/infback.obj: external/libz/src/infback.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/infback.c +external/libz/src/inffast.obj: external/libz/src/inffast.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/inffast.c +external/libz/src/inflate.obj: external/libz/src/inflate.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/inflate.c +external/libz/src/inftrees.obj: external/libz/src/inftrees.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/inftrees.c +external/libz/src/trees.obj: external/libz/src/trees.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/trees.c +external/libz/src/uncompr.obj: external/libz/src/uncompr.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/uncompr.c +external/libz/src/zutil.obj: external/libz/src/zutil.c + $(CC) $(MW_CFLAGS) -fo=$@ external/libz/src/zutil.c +external/stb_ds.obj: external/stb_ds.c + $(CC) $(MW_CFLAGS) -fo=$@ external/stb_ds.c +external/stb_image.obj: external/stb_image.c + $(CC) $(MW_CFLAGS) -fo=$@ external/stb_image.c +external/stb_truetype.obj: external/stb_truetype.c + $(CC) $(MW_CFLAGS) -fo=$@ external/stb_truetype.c +src/abstract/charset.obj: src/abstract/charset.c + $(CC) $(MW_CFLAGS) -fo=$@ src/abstract/charset.c +src/abstract/directory.obj: src/abstract/directory.c + $(CC) $(MW_CFLAGS) -fo=$@ src/abstract/directory.c +src/abstract/dynamic.obj: src/abstract/dynamic.c + $(CC) $(MW_CFLAGS) -fo=$@ src/abstract/dynamic.c +src/abstract/time.obj: src/abstract/time.c + $(CC) $(MW_CFLAGS) -fo=$@ src/abstract/time.c +src/backend/gdi.obj: src/backend/gdi.c + $(CC) $(MW_CFLAGS) -fo=$@ src/backend/gdi.c +src/color.obj: src/color.c + $(CC) $(MW_CFLAGS) -fo=$@ src/color.c +src/core.obj: src/core.c + $(CC) $(MW_CFLAGS) -fo=$@ src/core.c +src/cursor/arrow.obj: src/cursor/arrow.c + $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/arrow.c +src/cursor/cross.obj: src/cursor/cross.c + $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/cross.c +src/cursor/default.obj: src/cursor/default.c + $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/default.c +src/cursor/hidden.obj: src/cursor/hidden.c + $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/hidden.c +src/cursor/text.obj: src/cursor/text.c + $(CC) $(MW_CFLAGS) -fo=$@ src/cursor/text.c +src/default.obj: src/default.c + $(CC) $(MW_CFLAGS) -fo=$@ src/default.c +src/dialog/colorpicker.obj: src/dialog/colorpicker.c + $(CC) $(MW_CFLAGS) -fo=$@ src/dialog/colorpicker.c +src/dialog/directorychooser.obj: src/dialog/directorychooser.c + $(CC) $(MW_CFLAGS) -fo=$@ src/dialog/directorychooser.c +src/dialog/filechooser.obj: src/dialog/filechooser.c + $(CC) $(MW_CFLAGS) -fo=$@ src/dialog/filechooser.c +src/dialog/messagebox.obj: src/dialog/messagebox.c + $(CC) $(MW_CFLAGS) -fo=$@ src/dialog/messagebox.c +src/draw.obj: src/draw.c + $(CC) $(MW_CFLAGS) -fo=$@ src/draw.c +src/icon/back.obj: src/icon/back.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/back.c +src/icon/clock.obj: src/icon/clock.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/clock.c +src/icon/computer.obj: src/icon/computer.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/computer.c +src/icon/directory.obj: src/icon/directory.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/directory.c +src/icon/down.obj: src/icon/down.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/down.c +src/icon/error.obj: src/icon/error.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/error.c +src/icon/file.obj: src/icon/file.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/file.c +src/icon/forward.obj: src/icon/forward.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/forward.c +src/icon/info.obj: src/icon/info.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/info.c +src/icon/left.obj: src/icon/left.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/left.c +src/icon/news.obj: src/icon/news.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/news.c +src/icon/note.obj: src/icon/note.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/note.c +src/icon/right.obj: src/icon/right.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/right.c +src/icon/search.obj: src/icon/search.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/search.c +src/icon/up.obj: src/icon/up.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/up.c +src/icon/warning.obj: src/icon/warning.c + $(CC) $(MW_CFLAGS) -fo=$@ src/icon/warning.c +src/lowlevel.obj: src/lowlevel.c + $(CC) $(MW_CFLAGS) -fo=$@ src/lowlevel.c +src/string.obj: src/string.c + $(CC) $(MW_CFLAGS) -fo=$@ src/string.c +src/text/font/boldfont.obj: src/text/font/boldfont.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/boldfont.c +src/text/font/boldmonottf.obj: src/text/font/boldmonottf.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/boldmonottf.c +src/text/font/boldttf.obj: src/text/font/boldttf.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/boldttf.c +src/text/font/font.obj: src/text/font/font.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/font.c +src/text/font/monottf.obj: src/text/font/monottf.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/monottf.c +src/text/font/ttf.obj: src/text/font/ttf.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/ttf.c +src/text/ft2.obj: src/text/ft2.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/ft2.c +src/text/gdi.obj: src/text/gdi.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/gdi.c +src/text/stbtt.obj: src/text/stbtt.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/stbtt.c +src/text/text.obj: src/text/text.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/text.c +src/truetype.obj: src/truetype.c + $(CC) $(MW_CFLAGS) -fo=$@ src/truetype.c +src/unicode.obj: src/unicode.c + $(CC) $(MW_CFLAGS) -fo=$@ src/unicode.c +src/widget/box.obj: src/widget/box.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/box.c +src/widget/button.obj: src/widget/button.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/button.c +src/widget/calendar.obj: src/widget/calendar.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/calendar.c +src/widget/checkbox.obj: src/widget/checkbox.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/checkbox.c +src/widget/combobox.obj: src/widget/combobox.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/combobox.c +src/widget/entry.obj: src/widget/entry.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/entry.c +src/widget/frame.obj: src/widget/frame.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/frame.c +src/widget/image.obj: src/widget/image.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/image.c +src/widget/label.obj: src/widget/label.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/label.c +src/widget/listbox.obj: src/widget/listbox.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/listbox.c +src/widget/menu.obj: src/widget/menu.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/menu.c +src/widget/numberentry.obj: src/widget/numberentry.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/numberentry.c +src/widget/opengl.obj: src/widget/opengl.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/opengl.c +src/widget/progressbar.obj: src/widget/progressbar.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/progressbar.c +src/widget/radiobox.obj: src/widget/radiobox.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/radiobox.c +src/widget/scrollbar.obj: src/widget/scrollbar.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/scrollbar.c +src/widget/separator.obj: src/widget/separator.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/separator.c +src/widget/submenu.obj: src/widget/submenu.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/submenu.c +src/widget/subwindow.obj: src/widget/subwindow.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/subwindow.c +src/widget/tab.obj: src/widget/tab.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/tab.c +src/widget/table.obj: src/widget/table.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/table.c +src/widget/treeview.obj: src/widget/treeview.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/treeview.c +src/widget/viewport.obj: src/widget/viewport.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/viewport.c +src/widget/window.obj: src/widget/window.c + $(CC) $(MW_CFLAGS) -fo=$@ src/widget/window.c diff --git a/milsko.xml b/milsko.xml index 601bb39..a94c847 100644 --- a/milsko.xml +++ b/milsko.xml @@ -94,7 +94,6 @@ - @@ -192,9 +191,6 @@ - - - -- 2.39.5 From d375e28af8aedab7faa7a93af237669bae633908 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 22 Jul 2026 19:37:03 -0700 Subject: [PATCH 6/8] undo accidental clang-format --- configure | 506 +++++++++++++++++++++++++++--------------------------- 1 file changed, 256 insertions(+), 250 deletions(-) diff --git a/configure b/configure index e3d7ed3..44db66d 100755 --- a/configure +++ b/configure @@ -1,27 +1,26 @@ -#!/ usr / bin / env perl -our $target = `uname - s`; -$target = ~s /\r ?\n$ //; +#!/usr/bin/env perl +our $target = `uname -s`; +$target =~ s/\r?\n$//; -#MSYS with MinGW gives us some other shit idk - if(index($target, "MINGW") != -1) { - $target = "Windows"; +# MSYS with MinGW gives us some other shit idk +if (index($target, "MINGW") != -1) { + $target = "Windows"; } -foreach - my $l(@ARGV) { - if($l = ~/ ^--.+ $ /) { - } - elsif($l = ~/ ^(.+) = (.+) $ /) { - $ENV{$1} = $2; - } - } +foreach my $l (@ARGV) { + if ($l =~ /^--.+$/) { + } + elsif ($l =~ /^(.+)=(.+)$/) { + $ENV{$1} = $2; + } +} our $prefix = "/usr/local"; -our $cc = defined($ENV{CC}) ? $ENV{CC} : "*host*gcc"; -our $cxx = defined($ENV{CXX}) ? $ENV{CXX} : "*host*g++"; -our $ar = defined($ENV{AR}) ? $ENV{AR} : "*host*ar"; +our $cc = defined($ENV{CC}) ? $ENV{CC} : "*host*gcc"; +our $cxx = defined($ENV{CXX}) ? $ENV{CXX} : "*host*g++"; +our $ar = defined($ENV{AR}) ? $ENV{AR} : "*host*ar"; our $incdir = "-I include"; -our $incdir2 = ""; +our $incdir2 = ""; our $cflags = "-fPIC -D_MILSKO -D_MILSKO_BUILD -fvisibility=hidden"; our $libdir = ""; our $ldflags = ""; @@ -36,181 +35,183 @@ our $executable_suffix = ""; our @library_targets = (); our @examples_targets = (); -our % examples_libs = (); +our %examples_libs = (); our $cross = 0; our $host = ""; require("./pl/utils.pl"); -param_set("classic-theme", 0); -param_set("stb-image", 1); -param_set("opengl", 0); -param_set("vulkan", 0); +param_set("classic-theme", 0); +param_set("stb-image", 1); +param_set("opengl", 0); +param_set("vulkan", 0); param_set("vulkan-string-helper", 1); -param_set("shared", 1); -param_set("static", 1); -param_set("examples", 1); +param_set("shared", 1); +param_set("static", 1); +param_set("examples", 1); -#(option that only makes sense on x11) +# (option that only makes sense on x11) param_set("allow-sloppy-focus", 0); -my % features = ("classic-theme" = > "use classic theme", - "stb-image" = > "use stb_image, instead use libjpeg/libpng", - "stb-truetype" = > "use stb_truetype", - "freetype2" = > "use FreeType2", - "gdi-text" = > "(Windows only) use GDI Text", - "xrender" = > "(X11 only) use XRender", - "opengl" = > "build OpenGL widget", - "vulkan" = > "build Vulkan widget", - "vulkan-string-helper" = > "use Vulkan string helper", - "shared" = > "build shared library", - "static" = > "build static library", - "wayland" = > "enable wayland backend", - "gnustep" = > "use gnustep", - "dbus" = > "use DBus on supported platform", - "allow-sloppy-focus" = > "prevent the x11 backend from using XSetInputFocus to enforce click-to-focus"); -my @features_keys = ("1classic-theme", "1stb-image", - "1stb-truetype", "1freetype2", "1gdi-text", - "1opengl", "2xrender", - "1vulkan", "2vulkan-string-helper", - "1shared", "1static", - "1wayland", "1gnustep", - "1dbus"); +my %features = ( + "classic-theme" => "use classic theme", + "stb-image" => "use stb_image, instead use libjpeg/libpng", + "stb-truetype" => "use stb_truetype", + "freetype2" => "use FreeType2", + "gdi-text" => "(Windows only) use GDI Text", + "xrender" => "(X11 only) use XRender", + "opengl" => "build OpenGL widget", + "vulkan" => "build Vulkan widget", + "vulkan-string-helper" => "use Vulkan string helper", + "shared" => "build shared library", + "static" => "build static library", + "wayland" => "enable wayland backend", + "gnustep" => "use gnustep", + "dbus" => "use DBus on supported platform", + "allow-sloppy-focus" => "prevent the x11 backend from using XSetInputFocus to enforce click-to-focus" +); +my @features_keys = ( + "1classic-theme", "1stb-image", + "1stb-truetype", "1freetype2", "1gdi-text", + "1opengl", "2xrender", + "1vulkan", "2vulkan-string-helper", + "1shared", "1static", + "1wayland", "1gnustep", + "1dbus" +); sub def_platform { if($target eq "Windows") { - param_set("freetype2", 0); - param_set("stb-truetype", 0); - } - elsif($target ne "Darwin" and $target ne "ClassicMacOS" and $target ne "Haiku") { - param_set("freetype2", 1); - param_set("stb-truetype", 0); - } - else { - param_set("freetype2", 0); - param_set("stb-truetype", 1); + param_set("freetype2", 0); + param_set("stb-truetype", 0); + } elsif($target ne "Darwin" and $target ne "ClassicMacOS" and $target ne "Haiku") { + param_set("freetype2", 1); + param_set("stb-truetype", 0); + } else { + param_set("freetype2", 0); + param_set("stb-truetype", 1); } if($target eq "Linux" || $target eq "FreeBSD") { - param_set("x11", 1); - param_set("xrender", 1); - if(!param_get("tiny")) { - param_set("wayland", 1); - } - param_set("dbus", 1); - } - if($target eq "NetBSD" || $target eq "OpenBSD") { - param_set("x11", 1); - } - if($target eq "Windows") { - param_set("gdi-text", 1); - } else { - param_set("gdi-text", 0); - } + param_set("x11", 1); + param_set("xrender", 1); + if(!param_get("tiny")){ + param_set("wayland", 1); + } + param_set("dbus", 1); + } + if($target eq "NetBSD" || $target eq "OpenBSD") { + param_set("x11", 1); + } + if($target eq "Windows") { + param_set("gdi-text", 1); + } else { + param_set("gdi-text", 0); + } } -foreach - my $l(@ARGV) { - if($l = ~/ ^--target = (.+) $ /) { - $target = $1; - } - } +foreach my $l (@ARGV) { + if ($l =~ /^--target=(.+)$/) { + $target = $1; + } +} def_platform(); -foreach - my $l(@ARGV) { - if($l = ~/ ^--with - ([^=] +) = (.+) $ /) { - param_set($1, $2); - } - elsif($l = ~/ ^--(?: with | enable) - (.+) $ /) { - param_set($1, 1); - } - elsif($l = ~/ ^--(?: without | disable) - (.+) $ /) { - param_set($1, 0); - } - elsif($l = ~/ ^--host = (.+) $ /) { - $host = $1."-"; - } - elsif($l = ~/ ^--cflags = (.+) $ /) { - add_cflags($1); - } - elsif($l eq "--cross") { - $cross = 1; - } - elsif($l eq "--tiny") { - param_set("tiny", 1); - } - elsif(($l eq "-h") or ($l eq "--help")) { - print("Milsko Toolkit Configuration Utility\n"); - print("\n"); - print("Usage: $0 [options]\n"); - print("\n"); - print("Options:\n"); - print(" -h --help Display this help\n"); - print(" --prefix=PREFIX Installation prefix\n"); - print(" --host=TARGET Host for compiler/archiver\n"); - print(" --target=TARGET Specify target\n"); - print(" --cflags=CFLAGS Add cflags\n"); - print(" --tiny Build smallest possible library\n"); - print(" --cross Indicate cross compilation\n"); - print("\n"); - print("Features:\n"); - print(" --enable-FEATURE Use FEATURE\n"); - print(" --with-FEATURE Use FEATURE\n"); - print(" --disable-FEATURE Do not use FEATURE\n"); - print(" --without-FEATURE Do not use FEATURE\n"); - foreach - my $l(@features_keys) { - my $flag = ((substr($l, 0, 1) eq '1') - ? (param_get(substr($l, 1)) ? "--disable-" : "--enable-") - : (param_get(substr($l, 1)) ? "--without-" : "--with-")) - .substr($l, 1); - my $do = param_get(substr($l, 1)) ? "Do not " : ""; - my $feat = $features{substr($l, 1)}; - if(not(param_get(substr($l, 1)))) { - $feat = uc(substr($feat, 0, 1)).substr($feat, 1); - } - print(" $flag".(" " x(32 - length($flag)))."${do}${feat}\n"); - } - exit(0); - } - } +foreach my $l (@ARGV) { + if ($l =~ /^--with-([^=]+)=(.+)$/) { + param_set($1, $2); + } + elsif ($l =~ /^--(?:with|enable)-(.+)$/) { + param_set($1, 1); + } + elsif ($l =~ /^--(?:without|disable)-(.+)$/) { + param_set($1, 0); + } + elsif ($l =~ /^--host=(.+)$/) { + $host = $1 . "-"; + } + elsif ($l =~ /^--cflags=(.+)$/) { + add_cflags($1); + } + elsif ($l eq "--cross") { + $cross = 1; + } + elsif ($l eq "--tiny") { + param_set("tiny",1); + } + elsif (($l eq "-h") or ($l eq "--help")) { + print("Milsko Toolkit Configuration Utility\n"); + print("\n"); + print("Usage: $0 [options]\n"); + print("\n"); + print("Options:\n"); + print(" -h --help Display this help\n"); + print(" --prefix=PREFIX Installation prefix\n"); + print(" --host=TARGET Host for compiler/archiver\n"); + print(" --target=TARGET Specify target\n"); + print(" --cflags=CFLAGS Add cflags\n"); + print(" --tiny Build smallest possible library\n"); + print(" --cross Indicate cross compilation\n"); + print("\n"); + print("Features:\n"); + print(" --enable-FEATURE Use FEATURE\n"); + print(" --with-FEATURE Use FEATURE\n"); + print(" --disable-FEATURE Do not use FEATURE\n"); + print(" --without-FEATURE Do not use FEATURE\n"); -if(-f "./pl/ostype/${target}.pl") { - require("./pl/ostype/${target}.pl"); -} else { - print( - "Perl file (pl/ostype/${target}.pl) was not found for your target. Please add one.\n"); - exit(1); + foreach my $l (@features_keys) { + my $flag = ( + (substr($l, 0, 1) eq '1') + ? (param_get(substr($l, 1)) ? "--disable-" : "--enable-") + : (param_get(substr($l, 1)) ? "--without-" : "--with-") + ) . substr($l, 1); + my $do = param_get(substr($l, 1)) ? "Do not " : ""; + my $feat = $features{ substr($l, 1) }; + if (not(param_get(substr($l, 1)))) { + $feat = uc(substr($feat, 0, 1)) . substr($feat, 1); + } + print(" $flag" . (" " x (32 - length($flag))) . "${do}${feat}\n"); + } + exit(0); + } +} + +if (-f "./pl/ostype/${target}.pl") { + require("./pl/ostype/${target}.pl"); +} +else { + print( +"Perl file (pl/ostype/${target}.pl) was not found for your target. Please add one.\n" + ); + exit(1); } require("./pl/rules.pl"); -print("Target : ".$target."\n"); +print("Target : " . $target . "\n"); my @l = (); -foreach - my $e(param_list()) { - if(not(param_get($e))) { - next; - } - if(($e eq "vulkan-string-helper") and param_get("vulkan")) { - push(@l, $e); - } - elsif(($e eq "xrender") and ($backend eq "x11")) { - push(@l, $e); - } - elsif(not($e eq "vulkan-string-helper") and not($e eq "xrender")) { - push(@l, $e); - } - } -print("Enabled: ".join(" ", @l)."\n"); +foreach my $e (param_list()) { + if (not(param_get($e))) { + next; + } + if (($e eq "vulkan-string-helper") and param_get("vulkan")) { + push(@l, $e); + } + elsif (($e eq "xrender") and ($backend eq "x11")) { + push(@l, $e); + } + elsif (not($e eq "vulkan-string-helper") and not($e eq "xrender")) { + push(@l, $e); + } +} +print("Enabled: " . join(" ", @l) . "\n"); -$cc = ~s /\* host\* / $host / ; -$cxx = ~s /\* host\* / $host / ; -$ar = ~s /\* host\* / $host / ; +$cc =~ s/\*host\*/$host/; +$cxx =~ s/\*host\*/$host/; +$ar =~ s/\*host\*/$host/; open(OUT, ">", "Makefile"); print(OUT "PREFIX = ${prefix}\n"); @@ -233,124 +234,129 @@ print(OUT "install: lib\n"); print(OUT " mkdir -p \$(DESTDIR)\$(PREFIX)/lib \$(DESTDIR)\$(PREFIX)/include\n"); print(OUT - " -cp src/${library_prefix}Mw${library_suffix} \$(DESTDIR)\$(PREFIX)/lib/\n"); +" -cp src/${library_prefix}Mw${library_suffix} \$(DESTDIR)\$(PREFIX)/lib/\n" +); print(OUT " -cp src/libMw.a \$(DESTDIR)\$(PREFIX)/lib/\n"); print(OUT " cp -rf include \$(DESTDIR)\$(PREFIX)/\n"); print(OUT "\n"); print(OUT "format:\n"); print(OUT - " clang-format --verbose -i `find tools src include examples \"(\" -name \"*.c\" -or -name \"*.cc\" -or -name \"*.h\" -or -name \"*.m\" \")\" -and -not -name \"*ttf.c\"`\n"); +" clang-format --verbose -i `find tools src include examples \"(\" -name \"*.c\" -or -name \"*.cc\" -or -name \"*.h\" -or -name \"*.m\" \")\" -and -not -name \"*ttf.c\"`\n" +); print(OUT - " perltidy -b -bext=\"/\" --paren-tightness=2 `find tools pl configure -name \"*.pl\"`\n"); +" perltidy -b -bext=\"/\" --paren-tightness=2 `find tools pl configure -name \"*.pl\"`\n" +); print(OUT "\n"); print(OUT "lib:"); -if(param_get("shared")) { - print(OUT " src/${library_prefix}Mw${library_suffix}"); +if (param_get("shared")) { + print(OUT " src/${library_prefix}Mw${library_suffix}"); } -if(param_get("static")) { - print(OUT " src/libMw.a"); +if (param_get("static")) { + print(OUT " src/libMw.a"); } print(OUT "\n"); print(OUT "\n"); -if(param_get("shared")) { - my $linker = "CC"; - if(grep(/ ^haiku$ /, @backends)) { - $linker = "CXX"; - } - print(OUT "src/${library_prefix}Mw${library_suffix}: " - .join(" ", @library_targets) - ."\n"); - print(OUT - " \$($linker) \$(SHARED) \$(LDFLAGS\) \$(LIBDIR) -o src/${library_prefix}Mw${library_suffix} " - .join(" ", @library_targets) - ." \$(LIBS)\n"); - print(OUT "\n"); +if (param_get("shared")) { + my $linker = "CC"; +if (grep(/^haiku$/, @backends)) { + $linker = "CXX"; } -if(param_get("static")) { - print(OUT "src/libMw.a: ".join(" ", @library_targets)."\n"); - print(OUT " \$(AR) rcs src/libMw.a ".join(" ", @library_targets)."\n"); + print( OUT "src/${library_prefix}Mw${library_suffix}: " + . join(" ", @library_targets) + . "\n"); + print(OUT +" \$($linker) \$(SHARED) \$(LDFLAGS\) \$(LIBDIR) -o src/${library_prefix}Mw${library_suffix} " + . join(" ", @library_targets) + . " \$(LIBS)\n"); + print(OUT "\n"); +} +if (param_get("static")) { + print(OUT "src/libMw.a: " . join(" ", @library_targets) . "\n"); + print(OUT " \$(AR) rcs src/libMw.a " . join(" ", @library_targets) . "\n"); } -foreach - my $l(@library_targets) { - my $warn = "-Wall -Wextra -Wno-sign-compare -Wno-unused-value"; - my $s = $l; - my $compiler = "CC"; - my $o = $object_suffix; - $o = ~s /\./\\\./ g; +foreach my $l (@library_targets) { + my $warn = "-Wall -Wextra -Wno-sign-compare -Wno-unused-value"; + my $s = $l; + my $compiler = "CC"; + my $o = $object_suffix; + $o =~ s/\./\\\./g; - if($l = ~/ cocoa /) { - $s = ~s / $o$ /.m / ; - } - elsif($l = ~/ haiku /) { - $s = ~s / $o$ /.cc / ; - $compiler = "CXX"; - } - else { - $s = ~s / $o$ /.c / ; - } + if ($l =~ /cocoa/) { + $s =~ s/$o$/.m/; + } + elsif ($l =~ /haiku/) { + $s =~ s/$o$/.cc/; + $compiler = "CXX"; + } + else { + $s =~ s/$o$/.c/; + } if ($l =~ /^external\//) { $warn = ""; - } + } -print(OUT "${l}: ${s}\n"); -print(OUT " \$($compiler) $warn \$\(INCDIR) \$(CFLAGS\) -c -o ${l} ${s}\n"); + print(OUT "${l}: ${s}\n"); + print(OUT " \$($compiler) $warn \$\(INCDIR) \$(CFLAGS\) -c -o ${l} ${s}\n"); } print(OUT "\n"); print(OUT "\n"); -if(param_get("examples")) { - print(OUT "examples: ".join(" ", @examples_targets)."\n"); - print(OUT "\n"); - foreach - my $l(@examples_targets) { - my $libs = ""; - my $s = $l; - my $o = $executable_suffix; - $o = ~s /\./\\\./ g; - $s = ~s / $o$ //; +if (param_get("examples")) { + print(OUT "examples: " . join(" ", @examples_targets) . "\n"); + print(OUT "\n"); + foreach my $l (@examples_targets) { + my $libs = ""; + my $s = $l; + my $o = $executable_suffix; + $o =~ s/\./\\\./g; + $s =~ s/$o$//; - if(defined($examples_libs{$l})) { - $libs = $examples_libs{$l}; - } + if (defined($examples_libs{$l})) { + $libs = $examples_libs{$l}; + } - if(param_get("shared")) { - print(OUT - "${l}: ${s}${object_suffix} src/${library_prefix}Mw${library_suffix}\n"); - } else { - print(OUT - "${l}: ${s}${object_suffix} src/${library_prefix}Mw.a\n"); - } - if(grep(/ ^cocoa$ /, @backends)) { - print(OUT - " \$(CC) -L./src \$\(LIBDIR) -o ${l} ${s}${object_suffix} -lMw ${math} ${libs}\n"); - } else { - print(OUT - " \$(CC) -L src -Wl,-R./src \$\(LIBDIR) -o ${l} ${s}${object_suffix} -lMw ${math} ${libs}\n"); - } + if (param_get("shared")) { + print(OUT + "${l}: ${s}${object_suffix} src/${library_prefix}Mw${library_suffix}\n" + ); + } else { + print(OUT + "${l}: ${s}${object_suffix} src/${library_prefix}Mw.a\n" + ); + } + if (grep(/^cocoa$/, @backends)) { + print(OUT +" \$(CC) -L./src \$\(LIBDIR) -o ${l} ${s}${object_suffix} -lMw ${math} ${libs}\n" + ); + } + else { + print(OUT +" \$(CC) -L src -Wl,-R./src \$\(LIBDIR) -o ${l} ${s}${object_suffix} -lMw ${math} ${libs}\n" + ); + } - if($target eq "ClassicMacOS") { - print(OUT - " ".$ENV{RETRO68_TOOLCHAIN_PATH} - ."/bin/MakePEF ${l} -o ${s}.pef\n"); - print(OUT - " Rez -I ".$ENV{RETRO68_TOOLCHAIN_PATH} - ."/RIncludes ".$ENV{RETRO68_TOOLCHAIN_PATH} - ."/RIncludes/Retro68APPL.r -DCFRAG_NAME=\"example\" --data ${l}.pef --cc ${l}.dsk -t APPL\n"); - } + if($target eq "ClassicMacOS") { + print(OUT +" ".$ENV{RETRO68_TOOLCHAIN_PATH}."/bin/MakePEF ${l} -o ${s}.pef\n"); + print(OUT +" Rez -I ".$ENV{RETRO68_TOOLCHAIN_PATH}."/RIncludes ".$ENV{RETRO68_TOOLCHAIN_PATH}."/RIncludes/Retro68APPL.r -DCFRAG_NAME=\"example\" --data ${l}.pef --cc ${l}.dsk -t APPL\n" + ); + } - print(OUT "${s}${object_suffix}: ${s}.c\n"); - print(OUT - " \$(CC) -c \$\(INCDIR) -o ${s}${object_suffix} ${s}.c -lMw ${math}\n"); - } + print(OUT "${s}${object_suffix}: ${s}.c\n"); + print(OUT +" \$(CC) -c \$\(INCDIR) -o ${s}${object_suffix} ${s}.c -lMw ${math}\n" + ); + } } print(OUT "\n"); print(OUT "clean:\n"); print(OUT - " rm -f */*.o */*/*.o */*/*/*.o */*.exe */*/*.exe */*/*/*.exe src/*.so src/*.dll src/*.dylib src/*.a " - .join(" ", @examples_targets) - ."\n"); +" rm -f */*.o */*/*.o */*/*/*.o */*.exe */*/*.exe */*/*/*.exe src/*.so src/*.dll src/*.dylib src/*.a " + . join(" ", @examples_targets) + . "\n"); print(OUT "\n"); print(OUT "distclean: clean\n"); print(OUT " rm -f Makefile\n"); -- 2.39.5 From 8116e838e1825b6db8b47d1485440cdcddd009a0 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 22 Jul 2026 19:39:21 -0700 Subject: [PATCH 7/8] remove keyword that was screwing up watcom --- src/backend/gdi.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 4ab2d9e..dbd87ac 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -24,14 +24,14 @@ static struct symtbl { HRESULT(WINAPI* OleInitialize)(LPVOID pvReserved); HRESULT(WINAPI* RegisterDragDrop)(HWND hwnd, LPDROPTARGET pDropTarget); HRESULT(WINAPI* FindMimeFromData)( - LPBC pBC, - LPCWSTR pwzUrl, - LPVOID pBuffer, - DWORD cbSize, - LPCWSTR pwzMimeProposed, - DWORD dwMimeFlags, - LPWSTR* ppwzMimeOut, - _Reserved_ DWORD dwReserved); + LPBC pBC, + LPCWSTR pwzUrl, + LPVOID pBuffer, + DWORD cbSize, + LPCWSTR pwzMimeProposed, + DWORD dwMimeFlags, + LPWSTR* ppwzMimeOut, + DWORD dwReserved); } wsymtbl; static int is_plgblt_reliable = 0; -- 2.39.5 From 2b457dfd9ddff7e45492b9ac4471164c40e9f02a Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 22 Jul 2026 19:41:01 -0700 Subject: [PATCH 8/8] add setupdraganddrop to cairo backend --- src/backend/cairo.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/backend/cairo.c b/src/backend/cairo.c index 0c26ff3..d70de1b 100644 --- a/src/backend/cairo.c +++ b/src/backend/cairo.c @@ -212,8 +212,8 @@ static void MwLLFreeColorImpl(MwLLColor color) {} static MwBool lmao = MwFALSE; static int MwLLPendingImpl(MwLL handle) { - lmao = !lmao; - return lmao; + lmao = !lmao; + return lmao; } static void MwLLNextEventImpl(MwLL handle) { MwLLDispatch(handle, draw, NULL); @@ -255,11 +255,12 @@ static MwBool MwLLDoModernImpl(MwLL handle) { } static void MwLLRaiseImpl(MwLL handle) {} static void MwLLClipImpl(MwLL handle, MwRect* rect) {} +static void MwLLSetupDragAndDropImpl(MwLL handle) {} static int MwLLCairoCallInitImpl(void) { - if(cairo_load_funcs() != 0) { - return 1; - } - return 0; + if(cairo_load_funcs() != 0) { + return 1; + } + return 0; } #include "call.c" CALL(Cairo); -- 2.39.5