Skip to content
This repository was archived by the owner on Feb 16, 2026. It is now read-only.

Releases: callmesalmon/FMake

NET/1.1

Choose a tag to compare

@callmesalmon callmesalmon released this 03 Nov 10:36

This is a an addition release, since i felt that the latest version had too few features

Additions

FMake NET/1.1 comes with the most features of any update, here is a list of them:

  • Better installation
    • Structured Makefile
    • Added FMakefile
  • New keywords for the FMakefile
    • If, elseif and else statements
    • Add a "require" keyword to require a specific version of FMake
  • Added a "new project" option to build a new project

Requirements

  • go
  • make or docker
  • m4
  • git or gh

Installation

To install, firstly clone the repo:

# git
git clone https://github.com/ElisStaaf/FMake fmake

# gh
gh repo clone ElisStaaf/FMake fmake

Then, build an executable using either make or docker:

# make
sudo make install

# docker
docker build fmake

NET/1

Choose a tag to compare

@callmesalmon callmesalmon released this 01 Nov 17:27
b8f81ff

This is a big release. That's why we switched to a whole new version numbering scheme.

New features

FMake NET/1 comes with many new features. The most major being; it's written in Go now! Here is a list of some changes:

  • It has been rewritten in Go, a fast and concurrent language.
    • Why? Well, I realized that python3 wasn't going to cut it, so i decided to switch languages.
    • How? I spent 4 hours in the middle of the night, rewriting and debugging.
  • Docker is now supported! A fresh new Dockerfile has been placed in the project!
  • Added one more flag for the compiler, prints compiler version, for me: FMake NET/1 x86_64
  • Due to Go's extensive module system (and me being able access the FMake source directory because of it), you don't need to add FMake to your path! It goes straight to your /usr/bin!
  • Changed format of README from MarkDown to reStructuredText.
  • Split project up into multiple files, these being:
    • fmake.go
    • utils/utils.go
  • Added a test enviroment

Requirements

  • go
  • make or docker
  • m4
  • git or gh

Installation

To install, firstly clone the repo:

# git
git clone https://github.com/ElisStaaf/FMake fmake

# gh
gh repo clone ElisStaaf/FMake fmake

Then, build an executable using either make or docker:

# make
sudo make install

# docker
docker build fmake

v1.1.0

Choose a tag to compare

@callmesalmon callmesalmon released this 30 Oct 21:36
b24d518

Build Version Lang
FMake is build software focused on working. Unlike other build software this one doesn't work half of the
time. It also (right now at least) doesn't include anything special. You can only... Build stuff, print
stuff and add if-statements.

Requirements

  • python3
  • m4
  • git or gh

Install

To install, firstly, clone the git repo:

# git
git clone https://github.com/ElisStaaf/FMake ~/fmake

# gh
gh repo clone ElisStaaf/FMake ~/fmake

Then compile an executable:

make

Then you can unpack the executable,
and go on your merry way.

Introduction to the FMakefile

The FMakeFile is a layer of abstraction, so that you don't have to compile with M4, the FMake compiler
does that for you. Say you have a project with a file called main.rs, you can create an FMakefile
and write this into it:

rust-build main.rs main

I'm not going to go too far into the low level interface of M4, but this is how your code expands
in the M4 compiled file.

_rust_build(`main', `main.rs')

And that expands to this in shell language:

rustc -o main main.rs

Comments in FMake start with --:

-- This is a comment, and it is awesome!
rust-build main.rs main

There are other compilers you can use in FMake, here's a showcase:

-- This is the rust compiler, the one I showed earlier:
rust-build main.rs main

-- This is the GCC compiler:
gcc-build main.c main

-- This is the G++ compiler:
g++-build main.cpp main

-- And this is the Go compiler:
go-build main.go main

You can also invoke the compiler with many different flags, these are all of them (for now):

-h, --help: Show help message.
-S: Save all tmp files.

v1.0.0

Choose a tag to compare

@callmesalmon callmesalmon released this 30 Oct 15:19
33855e0

Build Version Lang
FMake is build software focused on working. Unlike other build software this one doesn't work half of the
time. It also (right now at least) doesn't include anything special. You can only just... Build stuff.

Requirements

  • python3
  • pyinstaller
  • m4
  • git or gh

Install

To install, firstly, clone the git repo:

# git
git clone https://github.com/ElisStaaf/FMake ~/fmake

# gh
gh repo clone ElisStaaf/Fmake ~/fmake

Then compile an executable:

make

The above compiling is done by pyinstaller, that's why you need it. Then you can unpack the executable,
and go on your merry way.

Introduction to the FMakefile

The FMakeFile is a layer of abstraction, so that you don't have to compile with M4, the FMake compiler
does that for you. Say you have a project with a file called main.rs, you can create an FMakefile
and write this into it:

rust-build main.rs main

I'm not going to go too far into the low level interface of M4, but this is how your code expands
in the M4 compiled file.

_rust_build(`main', `main.rs')

And that expands to this in shell language:

rustc -o main main.rs

Comments in FMake start with --:

-- This is a comment, and it is awesome!
rust-build main.rs main

There are other compilers you can use in FMake, here's a showcase:

-- This is the rust compiler, the one I showed earlier:
rust-build main.rs main

-- This is the GCC compiler:
gcc-build main.c main

-- This is the G++ compiler:
g++-build main.cpp main

-- And this is the Go compiler:
go-build main.go main

And that's it for now! Feel free to contribute to the project, help is much appreciated!
And with that, enjoy!