Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zyga/zmk
zmk is a collection of reusable makefiles
https://github.com/zyga/zmk
makefile makefiles
Last synced: 2 days ago
JSON representation
zmk is a collection of reusable makefiles
- Host: GitHub
- URL: https://github.com/zyga/zmk
- Owner: zyga
- License: lgpl-3.0
- Created: 2020-04-25T15:09:14.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-08-04T17:25:28.000Z (4 months ago)
- Last Synced: 2024-08-04T19:19:51.608Z (4 months ago)
- Topics: makefile, makefiles
- Language: Makefile
- Size: 454 KB
- Stars: 19
- Watchers: 3
- Forks: 2
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS
- License: LICENSE
Awesome Lists containing this project
README
# zmk is a collection of reusable makefiles
ZMK is a feature-rich library for writing Makefiles. It provides a good degree
of features of the classic auto{conf,make} + libtool tool-chain, while being
easier to understand, highly-parallel and, most importantly, devoid of
generated cruft that's just unreadable by humans.```
include z.mkProject.Name = hello
Project.Version = 1hello.Sources = hello.c
$(eval $(call ZMK.Expand,Program,hello))
```ZMK integrates nicely with package managers which expect autotools, it comes
with a short, readable configuration script that accepts many of the same
options that autoconf would expose. It's just a `make configure` away.## Features
- Describe programs, test programs, static libraries, shared libraries,
development headers, manual pages and more
- Use familiar targets like "all", "check", "install", "uninstall" and "clean"
- Works out of the box on popular distributions of Linux and MacOS
- Friendly to distribution packaging expecting autotools
- Compile natively with gcc, clang, tcc or the open-watcom compilers
- Cross compile with gcc and open-watcom
- Efficient and incremental, including the install target## Examples
Please browse the examples present in the git repository. If you had installed
zmk through the Debian package, the examples are added to the `zmk-doc`
package. Use `dpkg -L zmk-doc` to find them.## Stability Guarantee
ZMK is a responsible library. The project promises not to introduce
backwards-incompatible changes in normal circumstances. ZMK is implemented as a
Make library, which effectively means there are only make rules and variables.
ZMK considers all capitalized symbols, such as `ZMK.Program` to be the public
API covered by the stability guarantee. Internal symbols either start with a
lower case character, or have one immediately following a dot, for example
`zmk.foo` or `ZMK.foo`.