You're bundled up now, wait 'til you get older
- C 97.6%
- Shell 2.4%
| src | remove skip message | |
| test | persist cc and flags; polish up | |
| .editorconfig | persist cc and flags; polish up | |
| .gitignore | persist cc and flags; polish up | |
| Build.sh | add compile of -Wall and -Wextra and fix warning | |
| bundle | add target support and docs; clean up | |
| DOCUMENTATION | add target support and docs; clean up | |
| LICENSE | first commit! | |
| README | add target support and docs; clean up | |
sbundle ======= sbundle is a minimal suckless build system, but it may not be your regular build system. sbundle reads a bundle file (by default, aptly named, 'bundle' in the root of your project), and compiles and links files specified in it. Documentation can be found in DOCUMENTATION. Why not just use GNU make or the like? ====================================== sbundle is designed to be suckless, and by using a robust bundle file, it helps build more quicker and also helps to make more compact scripts which generates bundles (like automake but for bundle). gen-bundle, made in Lua, is a simple module that can be used to generate bundles: https://codeberg.org/micro4scopic/gen-bundle. Achievements ============ sbundle is self reproducable. Build by running '/bin/sh ./Build.sh', and then run './sbundle'. You should find and be able to run 'sbundle.test', which was built by the bootstrapped sbundle. The root bundle file may of also produced an error, but that is expected as it is a simple test that different compilers can be used. If you have x86_64-linux-musl-gcc installed then it would work ;) sbundle now supports more versatile "targets" for strict headers. This means that something like a curl command can be checked if it has been done by checking if the target output you set exists (or for more commands perhaps a simple lock file). If you are just using the normal header then target support is already builtin using the executable name. To-do ===== Parallel jobs! Warning ======= sbundle is premature with a limited set of features, and may contain bugs or not meet your required needs. For now, use with caution. About ===== sbundle was designed for Deep Linux, but can be used pretty much anywhere. Copyright (C) 2025 Ruben Preece <holeinwall@anche.no> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License, or LICENSE in this program's source directory, for more details.