mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +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.
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
convenience, minimal, clean, humanly digestable code, and a structured way to
|
||||
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
|
||||
directory, at your option.
|
||||
JW-Build's default variables centrally for many projects, for an entire
|
||||
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
|
||||
file per project with the project's metadata, it builds libraries and
|
||||
executables, it organizes C/C++, Python and Java builds, it can produce and
|
||||
upload Debian, RPM and IPK packages, it automatically generates BitBake recipes
|
||||
and organizes Yocto-builds, it has a built-in SAT-solver for building multiple
|
||||
projects in the right order, incorporating packages that are not made with
|
||||
jw-build. 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 honours some environment variables to control the build. It builds
|
||||
libraries and executables, outputs object code from C/C++, Python and Java, and
|
||||
is easily extendible to support any given programming language. It provides
|
||||
targets to produce Debian, RPM and IPK packages, install them, or feed them
|
||||
into a DevOps pipeline, taking note within GIT, SVN or CVS. It supports a
|
||||
simple configuration file per project, containing the project's metadata, e.g.
|
||||
their dependencies, license, description or the like. It has a SAT-solver built
|
||||
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