mirror of
https://github.com/0x221E/ibuild.git
synced 2026-01-18 02:42:20 +00:00
24 lines
1.4 KiB
Markdown
24 lines
1.4 KiB
Markdown
|
|
# 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.
|
||
|
|
````
|