Skip to content

makemake v2.3.3

Choose a tag to compare

@Electron7-7 Electron7-7 released this 14 Aug 21:31
· 8 commits to trunk since this release
7c666e4

v2.3.3

Bugfix

Embarassingly, I thought that the solution to a problem I was having was swapping out the cross compilers (i.e: mingw's g++/gcc) for their 32-bit versions (i.e: i686-w64-mingw instead of x86_64-w64-mingw). Turns out, it wasn't, and I don't want to limit cross-compiling to 32-bit, so I had to change this back.

v2.3.2

Improvements

  • Consolidated all the functions for interfacing with the Makefile into one file
  • Consolidated all the functions that interacted with the filesystem into one file
  • Created less specific/hardcoded functions for interacting with the Makefile template & file
  • Optimized the main function
  • Used an unreleased (but improved) version of getargs to handle command line arguments

v2.2.2

Changes to the Makefile template

  • Moved -Wall from the debug flags to the common flags (now it's used in both the release and debug versions)
  • Removed -g from the debug flags (as it can sometimes cause issues, although I may revert this change)
  • Added -lstdc++exp to the linker flags for Windows (this is to support C++23)
  • Revamped the clean target
    • If other targets (e.g: debug or linux) are used before clean, it will only clean the files & directories specified by those targets
    • If no other targets are used, clean will act as normal (cleaning the entire 'build/' directory)
  • Improved how the ::Compiled and ::Cleaned printouts are handled
  • Added a mostlyclean target. mostlyclean will clean everything, similar to make clean, however it will skip any .obj/.o files that were compiled from source code inside the directory/directories in DIRTY_SRC_DIRS.
    • DIRTY_SRC_DIRS doesn't exist by default, so the user must add it manually.
    • Intended use case is for certain files that don't change very often and take a long time to re-compile; as an example, whenever I'm using DearImGui in a project, I always place its files in a unique directory and add it to DIRTY_SRC_DIRS to avoid re-compiling them every time I want a clean build.
  • Finally, added some comments :3

Other Changes

  • Swapped out my old printout macros for the improved ones from the code that I reuse a lot
  • Added prototype code for testing some new functionality; however, this is where I started to overhaul the entire project (which would become v2.3.2)