mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-23 22:40:38 +01:00
README.md: Add more text to README.md
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
96e0d790f5
commit
a184822289
1 changed files with 31 additions and 11 deletions
42
README.md
42
README.md
|
|
@ -3,20 +3,40 @@
|
||||||
The JW-Build package basically is a bunch of scripts and GNU makefile snippets.
|
The JW-Build package basically is a bunch of scripts and GNU makefile snippets.
|
||||||
You can install it to its standard location /opt/jw-build, or put it anywhere
|
You can install it to its standard location /opt/jw-build, or put it anywhere
|
||||||
you want in your file system, typically next to your own projects in the same
|
you want in your file system, typically next to your own projects in the same
|
||||||
directory. You then include JW-Build's makefiles from within your own project
|
directory. You then include JW-Build's makefiles from within your own project
|
||||||
to organize your build.
|
to organize your build.
|
||||||
|
|
||||||
|
JW-Build is small. You can install the package with your distribution's package
|
||||||
|
manager, but you can also keep it within your version system, alongside your
|
||||||
|
own code. It's also meant to be the lightest possible touch on any given source
|
||||||
|
code package, in terms of needed prerequisites, and also in terms of code you
|
||||||
|
need to put into those packages. This way, it's easily introduced - but it
|
||||||
|
also allows you to easily opt out of JW-Build at any time.
|
||||||
|
|
||||||
A package using JW-Build only needs three-liners as makefiles. This buys you
|
A package using JW-Build only needs three-liners as makefiles. This buys you
|
||||||
convenience, minimal, clean, humanly digestable code, and a structured way to
|
convenience, minimal, clean, humanly digestable code, and a structured way to
|
||||||
customize builds involving multiple packages - you can override any of
|
customize builds involving multiple packages - you can override any of
|
||||||
JW-Build's default variables for many projects, for an entire project, or for a
|
JW-Build's default variables centrally for many projects, for an entire
|
||||||
directory, at your option.
|
project, or inside any subdirectory of any project, at your option. It avoids
|
||||||
|
makefile generation as done by CMake or GNU Autotools, to keep the running code
|
||||||
|
small and readable to facilitate debugging. To achieve this, it has to detect a
|
||||||
|
couple of things in every directory, but there's a caching mechanism in place,
|
||||||
|
which keeps builds reasonably fast.
|
||||||
|
|
||||||
JW-Build honours many environment variables, it digests a simple configuration
|
JW-Build honours some environment variables to control the build. It builds
|
||||||
file per project with the project's metadata, it builds libraries and
|
libraries and executables, outputs object code from C/C++, Python and Java, and
|
||||||
executables, it organizes C/C++, Python and Java builds, it can produce and
|
is easily extendible to support any given programming language. It provides
|
||||||
upload Debian, RPM and IPK packages, it automatically generates BitBake recipes
|
targets to produce Debian, RPM and IPK packages, install them, or feed them
|
||||||
and organizes Yocto-builds, it has a built-in SAT-solver for building multiple
|
into a DevOps pipeline, taking note within GIT, SVN or CVS. It supports a
|
||||||
projects in the right order, incorporating packages that are not made with
|
simple configuration file per project, containing the project's metadata, e.g.
|
||||||
jw-build. It supports cross compilation with MinGW and the GNU toolchain. It's
|
their dependencies, license, description or the like. It has a SAT-solver built
|
||||||
tested on Debian, OpenSUSE, Fedora / CentOS / RHEL, Mint and many Unices.
|
in, for building multiple projects in the right order, including packages that
|
||||||
|
are not organized with jw-build. It automatically generates BitBake recipes and
|
||||||
|
organizes Yocto-builds incorporating your software. It supports cross
|
||||||
|
compilation with MinGW and the GNU toolchain. It's tested on Debian, OpenSUSE,
|
||||||
|
Fedora / CentOS / RHEL, Mint and many Unices.
|
||||||
|
|
||||||
|
JW-Build is designed to be friendly to both developers and integrators. You can
|
||||||
|
cd into any given directory, run make, and expect the resulting code to work
|
||||||
|
and be testable. It has built-in support for remote Git repositories and
|
||||||
|
collaboration. Of course, it can build and package itself.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue