slate - a build system written in c99
Slate is a simple configuration-based build-system, akin to MSBuild without XML.
As an example, here is the project file used by Slate itself.
Name slate
Lang c
# -Wall on GCC and /W3 on MSVC
Warnings Max
Warnings Error
Optimize Speed
Debug
IgnoreUnsafeStr
SrcDir src
SrcDir src/langs
ObjDir obj
Bin slate
This configuration file generates the following compiler command with GCC.
cc -Wall -Werror -O2 -std=c99 -g src/memory.c src/parse.c src/platform.c src/slate.c src/string.c src/langs/c.c src/langs/cpp.c src/langs/cs.c src/langs/java.c -o slate
Slate supports C, C++, C#, and Java compilation.
Language |
Compiler |
---|---|
C, C++ |
MSVC, GCC |
C# |
Roslyn (.NET Core) |
Java |
OpenJDK, Java SE |