9 Commits

Author SHA1 Message Date
anth64 043fea6092 fix(install): install headers to stk/ subdirectory for proper namespacing
- Install headers to /include/stk/ instead of /include/
- Update README examples to use #include <stk/stk.h>
- Update Windows install instructions to reflect stk/ directory structure
- Add MPL-2.0 license badge to README
- Clarify DLL can be placed in binary or lib directory on Windows

This prevents header name collisions with other libraries and follows
standard library distribution conventions (similar to SDL).
Users now include stk headers as <stk/stk.h> rather than <stk.h>.
2026-02-02 22:52:44 +01:00
anth64 64f7260b3a feat(build): add install and uninstall targets for Unix systems
- Add PREFIX, LIBDIR, and INCDIR variables (default: /usr/local)
- Implement install target that builds release and installs to system paths
- Implement uninstall target to cleanly remove installed files
- Support custom install locations via PREFIX variable
- Add helpful message on Windows directing users to manual installation

Both gmake.mk and bmake.mk now support standard installation workflow
on Unix-like systems (Linux, BSD, macOS). Windows users are instructed
to copy files manually as per platform conventions.

Usage:
  make install              # Install to /usr/local (requires root)
  make PREFIX=$HOME install # Install to custom location
  make uninstall            # Remove installed files
2026-02-01 11:19:02 +01:00
anth64 c514b09be9 fix(build): correct release library output path on BSD systems 2026-01-31 23:30:56 +01:00
anth64 d7f6adb5b5 fix(build): resolve BSD make compatibility issues
- Use absolute path ${.CURDIR}/test in main bmake.mk
- Replace automatic variable $< with explicit source filenames in test/bmake.mk
- Ensure proper directory navigation and source file compilation
- Fixes "undefined symbol: main" linker error on BSD systems
2026-01-31 23:08:39 +01:00
anth64 d2bf8fb67a feat(test): add comprehensive test infrastructure
- Add test target to both bmake.mk and gmake.mk Makefiles
- Add test-related artifacts to .gitignore (excluding DLLs/shared libs)
- Create test directory with cross-platform Makefiles (bmake.mk, gmake.mk)
- Implement cross-platform test program with signal handling (test.c)
- Add test module source for compilation (test_mod.c)
- Set up automated test environment with mods/ directory
- Support both POSIX and Windows platforms

The test infrastructure allows running integration tests via 'make test'
and demonstrates stk library functionality with dynamic module loading.
Generated DLLs/shared libraries are excluded from version control.
2026-01-31 22:46:07 +01:00
anth64 22c7da4336 build: add -s flag to release builds
- Add symbol stripping (-s) to release builds
2026-01-31 21:55:40 +01:00
anth64 e2e49e605c Fix bmake builds: use absolute include paths, output .dylib on macOS 2026-01-17 19:50:38 +01:00
anth64 86f08bec19 build: fix bmake clean by using absolute paths for directory removal 2026-01-11 18:06:22 +01:00
anth64 bf5863fcb1 build: implement platform-agnostic build system
- Split Makefile into gmake.mk (Linux/Windows) and bmake.mk (BSD/macOS)
- Added config.mk for shared variables.
- Added build.sh and build.bat dispatchers.
- Retains old build behavior with dependency tracking.
2026-01-11 17:55:47 +01:00