Skip to content
/ ezre Public

A simple and sane build system for Linux (i386 and x86_64), Windows (i686 and x86_64), and Mac OS (PowerPC, Intel, ARM) targets, tailored to rapid development and deployment of C/C++ programs from a Linux OS.

License

Notifications You must be signed in to change notification settings

alex-free/ezre

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EzRe

By Alex Free

EzRe (Easy Release) provides a simple and sane build system for Linux (i386 and x86_64), Windows (i686 and x86_64), and Mac OS (PowerPC, Intel, ARM) targets, tailored to rapid development and deployment of C/C++ programs from a Linux or Mac OS computer. It includes an easy to use configuration tool and installer that automatically writes GNU Makefiles using the information you provide. EZRE has been written in a way to minimize the amount of user-supplied information required to build all the packages and releases for all these systems.

| Homepage | Github |

Table Of Contents

Features:

  • The only pre-requisite is having GNUMake installed.

  • Installation consist of changing into your source directory, and executing the ezre command found in the releases.

  • No need to write or edit a Makefile for most use cases.

  • No need to write or edit a "how to build" document for most use cases, as a generic build.md is provided.

  • Specify build dependencies for various package managers. Currently both dnf and apt are supported for Linux. Mac OS uses MacPorts.

  • Generate .deb packages (i386 and x86_64) for Debian based Linux distributions.

  • Generate .rpm packages (i386 and x86_64) for Redhat based Linux distributions).

  • Generate portable release .zip files for Windows (i686 and x86_64) and Linux (i386 and x86_64).

  • Generate Mac OS executables and release .zip files for any arch (PowerPC, Intel, ARM).

  • Passes a VERSION string to source files (no need to edit the version number directly in source files).

  • Support for building libraries and linking them with the target executable.

  • Highly configurable, expandable, and hackable.

Downloads

Version 1.0.6 (2/23/2025)

Changes:

  • Fixed ezre command not setting RELEASE_FILES var.

  • Added info about specifying -y if it wasn't specified.

  • Fixed GNU sed compatibility making garbage backup files, not setting VERSION with -u , and other issues.

  • Improved build.md template file.


Usage

Note: Currently, EzRe expects a Linux x86_64 host system.

  1. Change into your source directory.

  2. Execute the ezre command.

  3. Enter any information prompted by the ezre command related to your project.

  4. Type make to build your software. Type make all to build your software for all targets (see build.md).

For more advanced use cases, you can edit the Makefile and variables.mk files generated by EzRe for your project.

To update the EzRe build system in your software, run ezre again in your source directory.

To update the version number, run ezre -u <version number>. For example, ezre -u 1.0.1 will change the version number of your project to 1.0.1.

To auto-confirm overwriting existing EzRe generated files, run ezre -y.

Example

The example directory contains a test use case for EzRe (hello world in C). You can get a grasp of what is possible by trying it out.

License

EzRe is released with the 3-BSD license, see license.md.

About

A simple and sane build system for Linux (i386 and x86_64), Windows (i686 and x86_64), and Mac OS (PowerPC, Intel, ARM) targets, tailored to rapid development and deployment of C/C++ programs from a Linux OS.

Resources

License

Stars

Watchers

Forks

Packages

No packages published