GitHub - Levalicious/mk · GitHub
Skip to content
LevaliciousPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

mk

Plan 9's mk, in the 9base port for Unix, built standalone: the lib9 it needs is vendored under lib9/ (9base's sources, unmodified; see lib9/LICENSE and NOTICE). One addition of ours in unix.c: MKROOT defaults to /usr/share/mk when the environment does not set it, and modification times are nanoseconds (st_mtim), so that a target made in the same second as its prerequisite is not stale on the next run (mk compares with <=, rightly for second-resolution stamps; with nanoseconds that no longer relinks every program after every compile).

The proto mkfiles that projects include - <$MKROOT/$objtype/mkfile, <$MKROOT/proto/mkone, mklib, mkmany - are the mkroot repository, not this one.

make              # mk
make test         # mkfile.test with the fresh mk
make install      # under $PREFIX/bin (default /usr/local; PREFIX=$HOME/.local for a user install)

Every project of ours needs objtype (x86_64) and MKROOT in the environment and mk on the PATH.

In CI: Levalicious/mk as an action

- uses: Levalicious/mk@<commit>        # builds mk at that commit (cached), puts it on PATH, exports objtype

Pin the commit: a dependant fetches the version it pinned, nothing else.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages