summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorPhilip Chimento <philip@endlessm.com>2013-04-10 22:49:38 +0100
committerP. F. Chimento <philip.chimento@gmail.com>2013-04-17 17:15:52 +0200
commit7fc4090461ad888612491814e5a44aaf7e52d7ff (patch)
treecc88c29eb7b77f06734fc383912fde0f575894b3 /README.md
parent733dbac3f86b8c7393c9e8a127f4cc09e905785d (diff)
Document build process in README.md
[#1]
Diffstat (limited to 'README.md')
-rw-r--r--README.md65
1 files changed, 63 insertions, 2 deletions
diff --git a/README.md b/README.md
index 6838b96..87a61df 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,63 @@
-eos-sdk
-======= \ No newline at end of file
+Open Endless SDK
+================
+
+Libraries and development tools for building Endless applications.
+
+Coding style
+------------
+
+We follow the GTK coding style:
+https://git.gnome.org/browse/gtk+/plain/docs/CODING-STYLE
+
+Build instructions
+------------------
+
+Run `make` anytime you change a file.
+
+Preparing the source
+--------------------
+
+From a fresh source checkout, run:
+
+ ./autogen.sh
+ ./configure
+
+This prepares the source tree for building. The `configure` script takes several options, common ones being:
+
+ - `--prefix=/usr`: install in `/usr` instead of `/usr/local` (you probably want this)
+ - `--enable-gtk-doc`: generate the documentation whenever you build; this makes your build slower, but the documentation will always be up to date
+ - `--enable-strict-flags`: use strict compiler flags to catch extra warnings
+ - If you're doing a debug build, then `CFLAGS="-g -O0" ./configure` will make sure that `make` always builds with debugging symbols and optimization off.
+
+Then, run `make` to rebuild, and `sudo make install` to copy the SDK into the system.
+
+By default, the compiler invocations with all the flags are not shown.
+If you want to see them, run `make V=1`.
+If you want make to try and run several jobs in parallel, run `make -j2` for 2 jobs, for example.
+
+Testing
+-------
+
+To run the automated tests, run `make check`.
+
+Packaging
+---------
+
+Before packaging, run `make distcheck`.
+This runs the tests as above, but from a clean source tree in a temporary location.
+It also installs all the files in a temporary location and uninstalls them again, in order to make sure that nothing is forgotten.
+
+Fixing breakage
+---------------
+
+If at any time the state of your build tree gets wedged, then try the following:
+
+ make clean
+ make
+
+If that doesn't work,
+
+ make maintainer-clean
+ ./autogen.sh
+ ./configure
+ make