summaryrefslogtreecommitdiffstats
path: root/specs
diff options
context:
space:
mode:
Diffstat (limited to 'specs')
-rw-r--r--specs/source-package-format-1.0.txt38
1 files changed, 38 insertions, 0 deletions
diff --git a/specs/source-package-format-1.0.txt b/specs/source-package-format-1.0.txt
index 4555edb..352880c 100644
--- a/specs/source-package-format-1.0.txt
+++ b/specs/source-package-format-1.0.txt
@@ -86,6 +86,44 @@ source package:
Package sources (for native packages).
+Build File Format
+=================
+
+An executable file named 'build' should direct the process of building one or
+more binary packages from a source package. This file should be a makefile with
+a target for each binary package (whose name is that of the binary package) and
+a target for each build stamp (whose name is that of the build stamp file).
+
+Build Stamps
+------------
+
+A build stamp is a file the existence of which indicates that one or more
+packages were successfully built. It is located in the package building work
+area directory, and its name ends in ".buildstamp".
+
+In a makefile that directs the building of binary packages, each package target
+should depend on one build stamp target. Actual building of packages should be
+done in build stamp targets. After successfully building one or more binary
+packages, a build stamp target should create its build stamp file in the work
+area directory.
+
+Multiple and Split Binary Packages
+----------------------------------
+
+Some source packages generate multiple binary packages from a single build of
+the packaged software. In the build makefiles of such source packages, the
+targets for these binary packages should all depend on the same build stamp
+target. This is called a split binary package configuration.
+
+Some source packages generate a set of one or more binary packages that is built
+independently of all other packages. In the build makefiles of such source
+packages, the target or targets for this set of binary packages should depend on
+a build stamp on which no other binary package targets depend. This is called a
+multiple binary package configuration.
+
+Note that both configurations may be used in a single source package.
+
+
Control File Format
===================