Sen descrición

rexim dcc637ef3b Release 0.1.0 %!s(int64=5) %!d(string=hai) anos
.github 61dc17340c Ready. Set. Go! %!s(int64=5) %!d(string=hai) anos
examples 4458eaf64b Refactor string joining API %!s(int64=5) %!d(string=hai) anos
.gitignore 61dc17340c Ready. Set. Go! %!s(int64=5) %!d(string=hai) anos
ChangeLog.md dcc637ef3b Release 0.1.0 %!s(int64=5) %!d(string=hai) anos
LICENSE 61dc17340c Ready. Set. Go! %!s(int64=5) %!d(string=hai) anos
README.md c374ffa920 Deprecate `remove_ext(path)`. Introduce API conventions. %!s(int64=5) %!d(string=hai) anos
nobuild.c c374ffa920 Deprecate `remove_ext(path)`. Introduce API conventions. %!s(int64=5) %!d(string=hai) anos
nobuild.h dcc637ef3b Release 0.1.0 %!s(int64=5) %!d(string=hai) anos

README.md

nobuild

Header only library for writing build recipes in C.

Main idea

The idea is that you should not need anything but a C compiler to build a C project. No make, no cmake, no shell, no cmd, no PowerShell etc. Only C compiler. So with the C compiler you bootstrap your build system and then you use the build system to build everything else.

Try it out right here:

$ cc ./nobuild.c -o nobuild
$ ./nobuild

Explore nobuild.c file and the examples folder to learn more.

How to use the library in your own project

Keep in mind that nobuild.h is an stb-style header-only library. That means that just including it does not include the implementations of the functions. You have to define NOBUILD_IMPLEMENTATION macro before the include. See our nobuild.c for an example.

  1. Copy nobuild.h to your project
  2. Create nobuild.c in your project with the build recipe. See our nobuild.c for an example.
  3. Bootstrap the nobuild executable:
    • $ cc nobuild.c -o nobuild on POSIX systems
    • $ cl.exe nobuild.c on Windows with MSVC
  4. Run the build: $ ./nobuild

API Conventions

  • Functions from nobuild.h that start with nobuild__ (double underscore) are private to the library and should not be relied upon. They can be changed in any release without a warning.