Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,6 @@
*.exe
*.out
*.app

# Generated prototype for linking tests
precice-prototype.h
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ F03 ?= gfortran
all: precice

precice: precice.f90
$(F03) -c $^
$(F03) -c -fimplicit-none $^

prototype: precice.f90
$(F03) -fimplicit-none -fc-prototypes -fsyntax-only $^ -I../.. $(shell pkg-config --libs libprecice) > precice-prototype.h
Copy link
Copy Markdown
Member Author

@MakisH MakisH Nov 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also use -fc-prototypes-external -fsyntax-only for checking prototypes not declared with bind(c).

However, this only works for external functions (thus, not here, because we are in a module).


clean:
rm -f precice.mod precice.o
rm -f precice.mod precice.o precice-prototype.h
2 changes: 1 addition & 1 deletion examples/solverdummy/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ F03 ?= gfortran
all: solverdummy

solverdummy: solverdummy.f90
$(F03) -g $^ -o $@ -I../.. $(shell pkg-config --libs libprecice)
$(F03) -fimplicit-none -g $^ -o $@ -I../.. $(shell pkg-config --libs libprecice)

clean:
rm -f solverdummy
2 changes: 1 addition & 1 deletion precice.f90
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ subroutine precicef_requires_mesh_connectivity_for(meshName, required, meshNameL
integer(kind=c_int), value :: meshNameLength
end subroutine precicef_requires_mesh_connectivity_for

subroutine precicef_set_vertex(meshName, position, vertexID, meshNameLength) &
subroutine precicef_set_vertex(meshName, coordinates, id, meshNameLength) &
& bind(c, name='precicef_set_vertex_')

use, intrinsic :: iso_c_binding
Expand Down