Skip to content

Commit 8e0d8dd

Browse files
authored
Merge pull request #657 from milancurcic/remove-manual-make
Remove support for manual make builds
2 parents 5ad2837 + 0a43a54 commit 8e0d8dd

23 files changed

+3
-594
lines changed

.github/workflows/CI.yml

-12
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ jobs:
2626
- os: ubuntu-latest
2727
gcc_v: 10
2828
build: cmake-inline
29-
- os: ubuntu-latest
30-
gcc_v: 10
31-
build: make
3229
env:
3330
FC: gfortran-${{ matrix.gcc_v }}
3431
CC: gcc-${{ matrix.gcc_v }}
@@ -95,15 +92,6 @@ jobs:
9592
if: ${{ contains(matrix.build, 'cmake') }}
9693
run: cmake --install ${{ env.BUILD_DIR }}
9794

98-
- name: Test manual makefiles
99-
if: ${{ matrix.build == 'make' }}
100-
run: |
101-
make -f Makefile.manual -j
102-
make -f Makefile.manual test
103-
make -f Makefile.manual clean
104-
env:
105-
ADD_FYPPFLAGS: "-DMAXRANK=4"
106-
10795
intel-build:
10896
runs-on: ${{ matrix.os }}
10997
strategy:

Makefile.manual

-33
This file was deleted.

README.md

-36
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
- [Requirements](#requirements)
1111
- [Supported compilers](#supported-compilers)
1212
- [Build with CMake](#build-with-cmake)
13-
- [Build with make](#build-with-make)
1413
- [Build with fortran-lang/fpm](#build-with-fortran-langfpm)
1514
* [Using stdlib in your project](#using-stdlib-in-your-project)
1615
* [Documentation](#documentation)
@@ -168,32 +167,6 @@ If at some point you wish to recompile `stdlib` with different options, you migh
168167
want to delete the `build` folder. This will ensure that cached variables from
169168
earlier builds do not affect the new build.
170169

171-
172-
### Build with make
173-
174-
Alternatively, you can build using provided Makefiles:
175-
176-
```sh
177-
make -f Makefile.manual
178-
```
179-
180-
You can limit the maximum rank by setting ``-DMAXRANK=<num>`` in the ``ADD_FYPPFLAGS`` environment variable (which can reduce the compilation time):
181-
182-
```sh
183-
make -f Makefile.manual ADD_FYPPFLAGS=-DMAXRANK=4
184-
```
185-
186-
You can also specify the compiler and compiler-flags by setting the ``FC`` and ``FFLAGS`` environmental variables. Among other things, this facilitates use of compiler optimizations that are not specified in the Makefile.manual defaults.
187-
```sh
188-
make -f Makefile.manual ADD_FYPPFLAGS=-DMAXRANK=4 FC=gfortran FFLAGS="-O3"
189-
```
190-
191-
On some systems, ``make`` selects the wrong default compiler. If you encounter error messages like ``make[1]: f77: No such file or directory`` set ``FC`` to your preferred compiler (e.g., ``gfortran``) or try
192-
193-
```sh
194-
make -f Makefile.manual --no-builtin-variables
195-
```
196-
197170
### Build with [fortran-lang/fpm](https://github.com/fortran-lang/fpm)
198171

199172
Fortran Package Manager (fpm) is a package manager and build system for Fortran.
@@ -230,15 +203,6 @@ target_link_libraries(
230203
To make the installed stdlib project discoverable add the stdlib directory to the ``CMAKE_PREFIX_PATH``.
231204
The usual install location of the package files is ``$PREFIX/lib/cmake/fortran_stdlib``.
232205

233-
For non-CMake build systems (like make) you can use the exported pkg-config file by setting ``PKG_CONFIG_PATH`` to include the directory containing the exported pc-file.
234-
The usual install location of the pc-file is ``$PREFIX/lib/pkgconfig``.
235-
In make you can obtain the required compile and link arguments with
236-
237-
```make
238-
STDLIB_CFLAGS := $(shell pkg-config --cflags fortran_stdlib)
239-
STDLIB_LIBS := $(shell pkg-config --libs fortran_stdlib)
240-
```
241-
242206
## Documentation
243207

244208
Documentation is a work in progress (see issue [#4](https://github.com/fortran-lang/stdlib/issues/4)) but already available at [stdlib.fortran-lang.org](https://stdlib.fortran-lang.org).

WORKFLOW.md

+3-24
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,10 @@ You are welcome to propose changes to this workflow by opening an
6161
[issue](https://github.com/fortran-lang/stdlib/issues).
6262

6363

64-
## Build system
65-
66-
This project supports two build systems right now, CMake and make.
67-
Eventually, stdlib will be using the Fortran package manager
68-
([fpm](https://github.com/fortran-lang/fpm)) as build system as well.
69-
The effort of supporting fpm is tracked in issue
70-
[#279](https://github.com/fortran-lang/stdlib/issues/279).
64+
## Build systems
7165

66+
This project supports two build systems,
67+
[fpm](https://github.com/fortran-lang/fpm) and CMake.
7268

7369
### CMake build files
7470

@@ -113,20 +109,3 @@ The project is usable as CMake subproject. Explicit references to
113109
break subproject builds.
114110
An example project is available [here](https://github.com/fortran-lang/stdlib-cmake-example)
115111
to test the CMake subproject integration.
116-
117-
118-
### Make build files
119-
120-
The build files for ``make`` are using the name ``Makefile.manual`` to
121-
not conflict with the in-tree build of CMake.
122-
This project uses recursive make to transverse the subdirectory structure
123-
from the top-level makefile, called ``Makefile.manual``, and the build
124-
happens in-tree, *i.e.* build artifacts are present along with the source code.
125-
126-
New source files are added in ``src/Makefile.manual`` and include manual
127-
dependency definitions through the object files to allow parallel
128-
compilation.
129-
Tests are generated by the make include file ``src/tests/Makefile.manual.test.mk``
130-
and defined in the subdirectories of the ``src/tests`` as entries in ``PROGS_SRC``.
131-
New subdirectories have to be explicitly added to ``src/tests/Makefile.manual``
132-
or are ignored.

0 commit comments

Comments
 (0)