mirror of
https://github.com/JotaRandom/hfsutils.git
synced 2026-03-11 01:38:18 +00:00
Major build system overhaul implementing modern Unix build standards: Build System Features: - Add DESTDIR support for package building staging - Add PREFIX, BINDIR, LIBDIR, INCLUDEDIR, MANDIR variables - Add CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS support - Implement proper variable propagation to all sub-makefiles - Add automatic manual page installation - Add library and header installation for development Files Modified: - Makefile: Complete rewrite with modern variable handling - build.sh: Enhanced with environment variable propagation - libhfs/Makefile*: Added DESTDIR and compiler variable support - librsrc/Makefile*: Added DESTDIR and compiler variable support - hfsck/Makefile*: Added DESTDIR and compiler variable support - libhfs/os/unix.c: Fixed include issues for modern systems Documentation: - Add BUILD.md: Comprehensive build system documentation - Add CHANGELOG.md: Consolidated version history (replaces CHANGES) - Update COPYRIGHT: Consolidated license info (replaces COPYING) - Add TEST_RESULTS.md: Build system test verification - Update README.md: New build system features and documentation links Testing & Validation: - Add validate_build.sh: Build system validation script - Add test_build.sh: Usage examples and testing script - All tests pass on WSL/Ubuntu environment Backward Compatibility: - All existing build commands continue to work - Enhanced functionality without breaking changes - Optional traditional command symlinks maintained Package Manager Support: - Standard DESTDIR enables clean deb/rpm packaging - Proper FHS-compliant directory layout - Cross-compilation support via compiler variables This modernization enables hfsutils to work with standard Unix build tools and package managers while maintaining full backward compatibility.