From c97fba2b7a3137f3dda4713df2d9bee78d15d579 Mon Sep 17 00:00:00 2001 From: 0x221E Date: Thu, 15 Jan 2026 00:00:45 +0100 Subject: [PATCH] Docs: README.md Initial --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..584b480 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# ibuild +A simple build system written in C. The project is incomplete and is not meant to be used by anyone. It is designed to work out-of-the-box on C/C++ projects. However, it has a Recursive Descent Parser and supports a very small DSL. The DSL is in the format of a very basic configuration file. As of now, there is no complex configuration support as well as cross-platform compatibility features, as this is only available in linux. + +## Security Disclaimer +The project has not been battle-tested yet. I am not using as a daily driver yet, and when I do, I will conduct thorough testing by fuzzing the application continously for a period of time (likely a week). + +I have also not reviewed the source code thoroughly yet, as this is not a Minimum Viable Product. + +# How to use? +You either place the executable to your /usr/local/bin, or place it into your project root. + +Then run `ibuild`, and it should build the binary. + +## Configuration File +Below is a sample configuration file; +```` +COMPILER_PATH = "/usr/bin/gcc" +SRC_DIR = "src" # Recursively discovers files here +SRC_FILES = ["src/main.c"] # Manual file specification is optional +TARGET_EXEC = "ibuild" # executable name +DEP_SEARCHER = "/usr/bin/gcc" # Default, no need to specify explicitly +DEP_SEARCHER_FLAGS = "-MM" # Default, no need to specify explicitly +VERSION = "0.0.1" # Can specify version here, which would be passed as a macro. +```` \ No newline at end of file