This worked for me:
# Precompiler options
CPP_OPTIONS= -DHOST=\"LinuxIFX\" \
-DMPI -DMPI_BLOCK=64000 \
-Duse_collective \
-DscaLAPACK \
-DCACHE_SIZE=32000 \
-Davoidalloc \
-Duse_bse_te \
-Dtbdyn \
-Duse_shmem
CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)
# Fortran Compiler
FC = mpiifx
FCL = mpiifx -qmkl=sequential -lstdc++
FREE = -free -names lowercase
FFLAGS = -assume byterecl -w -xHOST
OFLAG = -O2
OFLAG_IN = $(OFLAG)
DEBUG = -O0
# MKL Math Libraries (SCALAPACK + BLACS)
MKL_PATH = $(MKLROOT)/lib
SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a -lmkl_blacs_intelmpi_lp64
INCS = -I$(MKLROOT)/include/fftw -I/usr/include
LLIBS = $(SCALAPACK)
# Objects
OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o
# vasp.5.lib
CPP_LIB = $(CPP)
FC_LIB = $(FC)
CC_LIB = icx
CFLAGS_LIB = -O
FFLAGS_LIB = -O1
FREE_LIB = $(FREE)
OBJECTS_LIB = linpack_double.o getshmem.o
# Parser library
CXX_PARS = icpx
CC_PARSER = icx
CFLAGS_PARSER = -x c -O
CXXFLAGS_PARSER = -std=c++17 -I/usr/include/c++/13 -I/usr/include/x86_64-linux-gnu/c++/13 -O -Wall -DYY_parse_DEBUG=1
LIBS += parser
LLIBS += -Lparser -lparser -lstdc++
# Source and Binary Paths
SRCDIR = ../../src
BINDIR = ../../bin
# GPU Flags (disabled)
CPP_GPU = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DUSE_PINNED_MEMORY -DCUFFT_MIN=28 -UscaLAPACK
OBJECTS_GPU = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o
CC = icx
CXX = icpx
CFLAGS = -fPIC -DADD_ -Wall -qopenmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS -std=c++17
CUDA_ROOT ?= /usr/local/cuda/
NVCC := $(CUDA_ROOT)/bin/nvcc -ccbin=icx
CUDA_LIB := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublas
GENCODE_ARCH := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \
-gencode=arch=compute_35,code=\"sm_35,compute_35\" \
-gencode=arch=compute_60,code=\"sm_60,compute_60\"
MPI_INC = $(I_MPI_ROOT)/include64
CPPFLAGS = -I/usr/include/c++/13 -I/usr/include/x86_64-linux-gnu/c++/13