Artifacts

How owLSM build outputs are organized — both during development (build/) and in the release tarball.


Build Output (make)

Running make -j$(nproc) builds and packages into build/owlsm/:

build/owlsm/
├── bin/
│   └── owlsm                 # Main binary
├── lib/
│   ├── libelf.so.1            # Required shared libraries
│   ├── libz.so.1              # (auto-detected via ldd)
│   └── ...
├── resources/
│   └── ...                    # Userspace resource files
└── rules_generator/
    ├── create_config.py       # Config creation tool
    └── ...

Unit Tests Output (make test)

Running make test -j$(nproc) builds and packages into build/unit_tests/:

build/unit_tests/
├── bin/
│   └── unit_tests             # Google Test binary
└── lib/
    └── ...                    # Required shared libraries

Release Tarball (make tarball)

Running make tarball -j$(nproc) creates build/owlsm-{VERSION}.tar.gz containing the same layout as build/owlsm/.

The tarball is a self-contained distribution: the lib/ directory includes all non-system shared libraries needed to run owlsm on the target machine, so no additional library installation is required beyond basic libs like glibc and the system requirements.



This site uses Just the Docs, a documentation theme for Jekyll.