diff options
-rw-r--r-- | specs/spf-2.0/buildsys.mdwn | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/specs/spf-2.0/buildsys.mdwn b/specs/spf-2.0/buildsys.mdwn index 77f1eea..e99794f 100644 --- a/specs/spf-2.0/buildsys.mdwn +++ b/specs/spf-2.0/buildsys.mdwn @@ -1,7 +1,49 @@ Build Makefile [build] ====================== -TODO +A file named `build` directs the process of building and installing data files +to be provided by binary packages. It must be a makefile, and it must be +executable by all users. + +The first line of this file must name a **make**(1) interpreter in a magic +number sample as follows: + + #! /usr/bin/make -f + +Any number of spaces and/or tabs may be used after the `#!` magic number and +before the `-f` argument. + +The following targets are required: + + * `build` + + The `build` target should perform all the configuration and compilation + needed to produce files for installation into binary packages. + + The `build` target should create a file named `build` in the build work area + to prevent configuration and compilation from being performed multiple + times. + + The `build` target must not do anything that might require superuser + privilege. + + * `install` + + The `install` target should install data files into the data directories of + binary packages (see $[sectlink][work-area] for information on these + directories). + + The `install` target should depend on the `build` target. + + The `install` target shall be invoked as the superuser. + +The required targets and their dependencies must not require interactive user +input. + +Additional targets may exist in the `build` makefile. + +Certain environment variables (see $[sectlink][env-vars]) shall be set when the +`build` makefile is executed. Build Work Area [work-area] |