aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md37
1 files changed, 34 insertions, 3 deletions
diff --git a/README.md b/README.md
index b7a8b7c..191fba8 100644
--- a/README.md
+++ b/README.md
@@ -5,6 +5,37 @@ Release engineering tree for the Cryptech code for the Novena PVT-1,
initially targetted at what we need to package for IETF 93 in Praha.
General idea is to build two binary packages, one with the bitstream
-for the FPGA, one for software cross-compiled for the Novena. Might
-want a third package just as a meta package to pull the first two in
-via dependencies.
+for the FPGA, one for software cross-compiled for the Novena. As a
+convenience, there's also a meta-package which just pulls in the first
+two as dependencies.
+
+The current build setup is somewhat specific to the Novena (in
+particular, the use of the Debian package system), but the general
+outline will likely be reusable for other platforms in the future.
+
+Overall structure of the current setup:
+
+* The top-level Makefile controls the overall build process. It does
+ _not_ run make directly on any of its subdirectories, instead it
+ invokes the Debian package building tools with the right settings.
+
+* Each of the three packages generated has its own Makefile and
+ debian/ directory. These Makefiles are intended to work with the
+ Debian package building tools, and do not necessarily do anything
+ useful if used in any other context.
+
+* Building the software package requires a cross-compiler, see
+ [the Debian cross compilation tools page][CrossToolchains].
+
+* Building the firmware package requires
+ [the XiLinx tools][XiLinxTools].
+
+* You'll also need the usual Debian package building tools, as well as
+ Python and the python-yaml library.
+
+* The software and Verilog repositories are spliced into this one
+ using git's submodule mechanism. The top-level Makefile attempts to
+ automate all of the submodule voodoo needed for normal builds.
+
+[CrossToolchains]: https://wiki.debian.org/CrossToolchains
+[XiLinxTools]: http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html