Skip to content

Fegeya Elitebuild, small, powerful build system. Written in Rust.

License

Notifications You must be signed in to change notification settings

ferhatgec/elite

Repository files navigation

Elitebuild :)

Fegeya Elitebuild

Small, powerful, work-in-progress build system. Written in Rust.

Features:

  • No functions (all are built-ins)
  • All variables are global
  • Cross-platform (say 'thank you' to rust's standard lib)
  • Different syntax.
  • Preprocessor.
  • Aliases.
  • Built-in analyzer.
  • Language back-ends.

A taste of Elite's syntax:

required_version is 0.1

set BIN_PATH      as "/usr/bin/"
set COMPILER      as "g++"
set COMPILER_PATH as "{BIN_PATH}{COMPILER}"

set SOURCE_FILE   as "example.cpp"
set OUTPUT        as "example"

for signal "start" [
  for exists "{BIN_PATH}clang++" [
    set COMPILER as "clang++"    
  ]
  
  for specific "linux" [
    println "OS: GNU/Linux"
  ]
  
  for specific "freebsd" [
    println "OS: FreeBSD"
  ]
  
  for specific "windows" [
    println "OS: Windows"
  ]
  
  for specific "openbsd" [
    println "OS: OpenBSD"
  ]
  
  for argument "build" [
    use exec "{COMPILER} {SOURCE_FILE} -o {OUTPUT}"
  
    for exists $OUTPUT [
      println "Build succeeded"
    ]
    
    unset COMPILER_PATH
    use signal "exit"
  ]
   
  use signal "exit"
]

Other implementations?

Transpiler back-ends? (oldest-)

Elitebuild licensed under the terms of MIT License.

About

Fegeya Elitebuild, small, powerful build system. Written in Rust.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages