From fb5c492242f8d3cb67473a5217718e86ee41f439 Mon Sep 17 00:00:00 2001 From: Björn Persson Date: Thu, 17 Oct 2013 15:50:23 +0200 Subject: Documented targets. --- manual.css | 8 ++++++ manual.en.html | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 88 insertions(+), 1 deletion(-) diff --git a/manual.css b/manual.css index 570c4ef..904cbe2 100644 --- a/manual.css +++ b/manual.css @@ -9,6 +9,14 @@ p, ul, ol, dl, .example { margin-bottom : 0.5em; } +dt { + margin-bottom : 0; +} + +dd, dd > *:first-child { + margin-top : 0; +} + pre, code { font-family : monospace; } diff --git a/manual.en.html b/manual.en.html index 730d6de..fbeb65c 100755 --- a/manual.en.html +++ b/manual.en.html @@ -520,6 +520,84 @@ root of the source tree. Here's an example:

for Source_Dirs use ($Srcdir & "/tools");
+

Make Targets

+ +

These phony targets are defined in comfignat.mk:

+ +
+
build
+

This is what a plain “make” will do (unless your makefile +defines some other target before it includes comfignat.mk). By +default it builds and stages the build projects that are listed in +build_GPRs, and preprocesses and stages any usage project files that +are listed in usage_GPRs. You may add additional prerequisites if +there are other things that should be built and installed by default, for +example documentation:

+ +
build: man html pdf
+ +
install
+

If a user unpacks a source package and immediately runs +“make install”, then the build target is built and then +installed. If some files have already been staged in the staging directory, +then “make install” doesn't rebuild anything but just copies the +staged directory structure to the directory specified in DESTDIR, or +to the root directory if DESTDIR is empty.

+ +
all
+

By default all is the same as build, but you may +add additional prerequisites to it if you have optional components that +shouldn't be built by default. Such targets will be built by +“make all” but not by a plain “make”:

+ +
all: demo_programs auxiliary_tools
+ +
base
+

This builds and stages the build projects that are listed in +build_GPRs, but does not do everything that build does. +It can be used to bypass targets that you don't want to rebuild all the time +when you're programming. Any targets that you do want to rebuild every time may +be added as prerequisites.

+ +
preprocess
+

This preprocesses files that need to be preprocessed before projects are +built.

+ +
configure
+

make configure” is used to set values in the +persistent configuration and to set up a +separate build directory. This is a +double-colon rule so you can add your own configure recipe in case +you need to configure things that can't easily be expressed as Make +variables.

+ +
show_configuration
+

make show_configuration” outputs the configured variables +in the persistent configuration. This is a +double-colon rule so you can add your own show_configuration recipe +to accompany your own configure recipe.

+ +
unconfigure
+

This deletes the configuration file that “make configure” +writes. This is a double-colon rule. If you add your own configure +recipe that writes additional configuration files, then you should also add an +unconfigure recipe to delete those files.

+ +
clean
+

This deletes all files that are normally created by building the +software, but preserves the configuration. It's a double-colon rule so you can +add your own clean recipe to delete files that your recipes +generate.

+ +
distclean
+

This deletes all files that are normally created by configuring or +building the software. In an unpacked source tree where builds have been done +but no other files have been created, “make distclean” leaves only +the files that were in the source package. In a +separate build directory it leaves only the +delegating makefile.

+
+

Adjusting the Installation Instructions

After writing your makefile and project files, you should adapt the @@ -549,7 +627,8 @@ working in subdirectories use the right build and staging directories.

  • The ability to save environment variables in the persistent configuration was added.

  • -
  • The Make target show_configuration was added.

  • +
  • The Make targets all, base and +show_configuration were added.

  • -- cgit v1.2.3