Skip to content
Snippets Groups Projects
Commit e1150d4b authored by Allan Blanchard's avatar Allan Blanchard
Browse files

[doc] cont'd INSTALL.md

parent 0608cac6
No related branches found
No related tags found
No related merge requests found
...@@ -320,13 +320,13 @@ Arch Linux: `pikaur -S frama-c` ...@@ -320,13 +320,13 @@ Arch Linux: `pikaur -S frama-c`
2. On Linux-like distributions: 2. On Linux-like distributions:
./configure && make && sudo make install ./make RELEASE=yes && make install
See section *Configuration* below for options. See section *Configuration* below for options.
3. On Windows+Cygwin: 3. On Windows+Cygwin:
./configure --prefix="$(cygpath -a -m <installation path>)" && make && make install ./make RELEASE=yes && make install
4. The binary `frama-c` (and `frama-c-gui` if you have lablgtk2) is now installed. 4. The binary `frama-c` (and `frama-c-gui` if you have lablgtk2) is now installed.
...@@ -350,26 +350,48 @@ root source folder): ...@@ -350,26 +350,48 @@ root source folder):
#### Compilation #### Compilation
Type `make` (you can use `-j` for parallelization). There are basically two compilation modes: development and release.
Some Makefile targets of interest are: Typing `make` builds in development mode, this is a shortcut for:
- `doc` generates the API documentation. ```
- `tests` performs Frama-C's own tests. dune build @install
```
Typing `make RELEASE=yes` builds in release mode, this is shortcut for:
```
dune build @install --release --promote-install-files=false
```
For more precise build configuration, use directly the `dune` command.
#### Testing
Basic tests can be executed using:
```
make run-ptests
dune build @ptests_config
```
#### Installation #### Installation
Type `make install` Type `make install` (depending on the installation directory, this may require
(depending on the installation directory, this may require superuser superuser privileges. The installation directory is chosen through the variable
privileges. The installation directory is chosen through `--prefix`). `INSTALLDIR`). This is a shortcut for:
```
dune install
```
#### API Documentation #### API Documentation
For plugin developers, the API documentation of the Frama-C kernel and For plugin developers, the API documentation of the Frama-C kernel and
distributed plugins is available in the file `frama-c-api.tar.gz`, after running distributed plugins is available in the `_build/default/_doc/_html` directory
`make doc-distrib`. after running:
```
dune build @doc
```
#### Uninstallation #### Uninstallation
...@@ -409,9 +431,9 @@ available: ...@@ -409,9 +431,9 @@ available:
- `frama-c` - `frama-c`
- `frama-c-gui` if available - `frama-c-gui` if available
- `frama-c-config` lightweight wrapper used to display configuration paths - `frama-c-config` lightweight wrapper used to display configuration paths
- `frama-c.byte` bytecode version of frama-c - `frama-c-hdrck` header checking tool for Frama-C
- `frama-c-gui.byte` bytecode version of frama-c-gui, if available - `frama-c-ptests` testing tool for Frama-c
- `ptests.opt` testing tool for Frama-c - `frama-c-wtests` testing tool for Frama-c
- `frama-c-script` utilities related to analysis parametrization - `frama-c-script` utilities related to analysis parametrization
## Shared files: (in `/INSTALL_DIR/share/frama-c` and subdirectories) ## Shared files: (in `/INSTALL_DIR/share/frama-c` and subdirectories)
...@@ -425,10 +447,6 @@ available: ...@@ -425,10 +447,6 @@ available:
- an annotated C standard library (with ACSL annotations) in `libc` - an annotated C standard library (with ACSL annotations) in `libc`
- plugin-specific files (in directories `wp`, `e-acsl`, etc.) - plugin-specific files (in directories `wp`, `e-acsl`, etc.)
## Documentation files: (in `/INSTALL_DIR/share/frama-c/doc`)
- files used to generate dynamic plugin documentation
## Object files: (in `/INSTALL_DIR/lib/frama-c`) ## Object files: (in `/INSTALL_DIR/lib/frama-c`)
- object files used to compile dynamic plugins - object files used to compile dynamic plugins
...@@ -448,7 +466,7 @@ Plugins may be released independently of Frama-C. ...@@ -448,7 +466,7 @@ Plugins may be released independently of Frama-C.
The standard way for installing them should be: The standard way for installing them should be:
./configure && make && make install dune build @install && dune install
Plugins may have their own custom installation procedures. Plugins may have their own custom installation procedures.
Consult their specific documentation for details. Consult their specific documentation for details.
......
...@@ -34,7 +34,7 @@ DUNE_BUILD_OPTS?= ...@@ -34,7 +34,7 @@ DUNE_BUILD_OPTS?=
RELEASE?=no RELEASE?=no
ifeq ($(RELEASE),yes) ifeq ($(RELEASE),yes)
DUNE_BUILD_OPTS+=--release DUNE_BUILD_OPTS+=--release --promote-install-files=false
endif endif
# DUNE_DISPLAY: chose Dune build verbosity (see '--display' dune option) # DUNE_DISPLAY: chose Dune build verbosity (see '--display' dune option)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment