diff options
Diffstat (limited to 'reproduce/software/make/README.md')
-rw-r--r-- | reproduce/software/make/README.md | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/reproduce/software/make/README.md b/reproduce/software/make/README.md new file mode 100644 index 0000000..4eaefce --- /dev/null +++ b/reproduce/software/make/README.md @@ -0,0 +1,33 @@ +Software building instructions +============================== + +This directory contains Makefiles that are called by the high-level +`reproduce/software/bash/configure.sh' script. The main target for the +installation of each software is a simple plain text file that contains the +name of the software and its version (which is put in the paper in the +end). Once built, these plain-text files are all put in the proper +sub-directory under `$(BDIR)/software/installed/version-info' (where +`$(BDIR)' is the top-level build-directory specified by the user). + +Besides being directly used in the paper, these simple plain text files +also act as prerequisites for higher-level software that depend on +lower-level ones. + +Note on prerequisites +--------------------- + +Tarballs are order-only prerequsites (after a `|') because we already +check their contents with the checksums, so their date is irrelevant: a +tarball with a different content must have a new/different name, thus it +will not exist, so it will be created, even when its order-only.q + +Binary programs (that don't install any libraries to be linked/used at +compile time can also be order-only prerequisites, because usually they +don't affect the compilation of the programs that depend on them, they +are only used at run-time or by the low-level build instructions of the +software. Ofcourse, if a program's version affects the build of a +higher-level program, then it shouldn't be order-only. + +Libraries or Python modules that are used at compile time must be normal +prerequisites (not order-only), because they are used during the building +of the program.
\ No newline at end of file |