diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6e06285
--- /dev/null
+++ b/README.md
@@ -0,0 +1,78 @@
+# libcasio - Library and utilities for using CASIO's protocols and file formats
+
+This is the main repository for the P7 project, a project to free software
+surrounding CASIO calculators. It aims at being able to manage CASIO's
+proprietary protocols and file formats. It is basically a merge of three
+subprojects of the P7 project: the libp7, which managed protocols, the
+libg1m, which managed file formats, and the p7utils, which had the utilities
+now put in this repository.
+
+## Prerequisites
+
+Side note : the library might work with older versions of these dependencies,
+I took these as a reference because these are the ones I work with.
+
+Because of libusb, the library requires C99. Without it, it should compile
+using C89.
+
+## Build-only dependencies
+
+- `make `_ (>= 4.0).
+- `gcc `_ (>= 4.9).
+- `binutils `_ (>= 2.25).
+- `asciidoc `_ (>= 8.6.9).
+- `gzip `_ (1.6).
+- `pkg-config `_.
+
+## Runtime dependencies
+
+- `libusb `_ (>= 1.0).
+- `zlib `_ (>= 1.2.8).
+- `SDL `_ (>= 2.0).
+
+## Configuring
+
+First of all, the configure script has a help message where all of the
+options are listed. The defaults should be appropriate for a native build,
+just ``./configure`` if that's what you want to do, but you should read at
+least the next paragraph.
+
+If you're installing on or packaging for a GNU/Linux distribution, you might
+want to install the ``udev`` rule to let the access to the direct calculator
+connexions to normal users. As calculators can be connected as serial devices,
+which are attributed to the ``uucp`` group (on Manjaro GNU/Linux), I chose to
+attribute the ``uucp`` group to calculators plugged directly as USB. If you
+agree with that, just add the ``--udev`` option to the configuration command
+line; otherwise, make your own, or make nothing, I don't really care.
+
+Building for the MS-Windows platform is supported, just use a ``-mingw32``
+BFD target for GCC and Binutils.
+
+Also, building a static library, for both PC and embedded systems, is
+supported : just use the ``--static`` option. If you want to build a static
+library so that a cross-compiler that uses Microsoft Windows static library
+formats, add the ``--windows`` option (notice that for a ``-mingw32`` target
+and a dynamic library generation, this option is automatically added).
+
+`./configure --help` for more information.
+
+## Building and installing
+
+Once configuring is done (necessary step), just ``make``.
+To install, use ``make install``.
+TODO : make uninstall ?
+
+To build and install only the lib, use ``all-lib`` then ``install-lib``.
+To build and install only the docs, use ``all-doc`` and ``install-doc``.
+
+If you ought to package this library, use the ``DESTDIR`` Makefile variable,
+e.g. ``make install DESTDIR=./package-root``. Do **not** use the ``--root``
+configure options for this, as configure tools (``libcasio-config`` and the
+``pkg-config`` configuration file) will add what's in the `--root` option
+value but not in the ``DESTDIR`` option.
+
+Other useful targets:
+
+- ``clean``: remove built files;
+- ``re``: regenerate built files (clean and build) -- useful when
+ configuration is changed.
\ No newline at end of file