mymodule.f90
! mymodule.f90
module mymodule
implicit none
integer :: x
contains
subroutine mysub()
print *, 'Hello from subroutine'
end subroutine
end module mymodule
gfortran -c mymodule.f90
will generate
mymodule.mod mymodule.o
main.f90
! main.f90
program main
use mymodule
call mysub()
end program main
gfortran main.f90 mymodule.o -o main
./main
Hello from subroutine