aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLKedward <laurence.kedward@bristol.ac.uk>2021-02-20 13:40:59 +0000
committerLKedward <laurence.kedward@bristol.ac.uk>2021-02-20 13:40:59 +0000
commit4336020fe3aa914a498867541f8d36978d645799 (patch)
treed49a1e2ee84ca84df3154b44f875b6b292fa6b8f
parentd82ce30822019c65723acb537e0d459519ecac57 (diff)
downloadfpm-4336020fe3aa914a498867541f8d36978d645799.tar.gz
fpm-4336020fe3aa914a498867541f8d36978d645799.zip
Update documentation
-rw-r--r--fpm/src/fpm_backend.f904
-rw-r--r--fpm/src/fpm_model.f9015
-rw-r--r--fpm/src/fpm_targets.f905
3 files changed, 11 insertions, 13 deletions
diff --git a/fpm/src/fpm_backend.f90 b/fpm/src/fpm_backend.f90
index d60f48e..74cef61 100644
--- a/fpm/src/fpm_backend.f90
+++ b/fpm/src/fpm_backend.f90
@@ -1,6 +1,6 @@
!># Build backend
-!> Uses a valid `[[fpm_model]]` instance to schedule and execute the
-!> compilation and linking of package targets.
+!> Uses a list of `[[build_target_ptr]]` and a valid `[[fpm_model]]` instance
+!> to schedule and execute the compilation and linking of package targets.
!>
!> The package build process (`[[build_package]]`) comprises three steps:
!>
diff --git a/fpm/src/fpm_model.f90 b/fpm/src/fpm_model.f90
index 1a2caab..072ac5f 100644
--- a/fpm/src/fpm_model.f90
+++ b/fpm/src/fpm_model.f90
@@ -3,15 +3,11 @@
!> Defines the fpm model data types which encapsulate all information
!> required to correctly build a package and its dependencies.
!>
-!> The process (see `[[build_model(subroutine)]]`) for generating a valid `[[fpm_model]]` is as follows:
+!> The process (see `[[build_model(subroutine)]]`) for generating a valid `[[fpm_model]]` involves
+!> source files discovery ([[fpm_sources]]) and parsing ([[fpm_source_parsing]]).
!>
-!> 1. Source files are discovered ([[fpm_sources]]) and parsed ([[fpm_source_parsing]])
-!> 2. A list of build targets is generated (`[[targets_from_sources]]`) from the sources
-!> 3. Inter-target dependencies are resolved (`[[resolve_module_dependencies]]`) based on modules used and provided
-!> 4. Object link lists are generated for link targets (executables and libraries) (`[[resolve_target_linking]]`)
-!>
-!> Once a valid `[[fpm_model]]` has been constructed, it may be passed to `[[fpm_backend:build_package]]` to
-!> build the package.
+!> Once a valid `[[fpm_model]]` has been constructed, it may be passed to `[[fpm_targets:targets_from_sources]]` to
+!> generate a list of build targets for the backend.
!>
!>### Enumerations
!>
@@ -21,9 +17,6 @@
!> __Source scope:__ `FPM_SCOPE_*`
!> Describes the scoping rules for using modules — controls module dependency resolution
!>
-!> __Target type:__ `FPM_TARGET_*`
-!> Describes the type of build target — determines backend build rules
-!>
module fpm_model
use iso_fortran_env, only: int64
use fpm_strings, only: string_t, str
diff --git a/fpm/src/fpm_targets.f90 b/fpm/src/fpm_targets.f90
index 1de9e64..68cfc97 100644
--- a/fpm/src/fpm_targets.f90
+++ b/fpm/src/fpm_targets.f90
@@ -18,6 +18,11 @@
!> - `[[build_target_list]]`
!> - `[[resolve_module_dependencies]]`
!>
+!>### Enumerations
+!>
+!> __Target type:__ `FPM_TARGET_*`
+!> Describes the type of build target — determines backend build rules
+!>
module fpm_targets
use iso_fortran_env, only: int64
use fpm_error, only: error_t, fatal_error