function get_include_flag(self, path) result(flags)
class(compiler_t), intent(in) :: self
character(len=*), intent(in) :: path
character(len=:), allocatable :: flags
select case(self%id)
case default
flags = "-I "//path
case(id_caf, id_gcc, id_f95, id_cray, id_nvhpc, id_pgi, &
& id_flang, id_flang_new, id_f18, &
& id_intel_classic_nix, id_intel_classic_mac, &
& id_intel_llvm_nix, id_lahey, id_nag, id_ibmxl, &
& id_lfortran)
flags = "-I "//path
case(id_intel_classic_windows, id_intel_llvm_windows)
flags = "/I"//path
end select
end function get_include_flag