Help in writing a makefile

I am writing a makefile for m4 implementation of kyber. The sourse files include a macros.i here.

I tried to add the macros.i with ASRC += macros.i however it returned

here is the macros.i file:
#ifndef MACROS_I
#define MACROS_I

.macro load a, a0, a1, a2, a3, mem0, mem1, mem2, mem3
ldr.w \a0, [\a, \mem0]
ldr.w \a1, [\a, \mem1]
ldr.w \a2, [\a, \mem2]
ldr.w \a3, [\a, \mem3]
.endm

.macro store a, a0, a1, a2, a3, mem0, mem1, mem2, mem3
str.w \a0, [\a, \mem0]
str.w \a1, [\a, \mem1]
str.w \a2, [\a, \mem2]
str.w \a3, [\a, \mem3]
.endm

.macro doublebarrett a, tmp, tmp2, q, barrettconst
smulbb \tmp, \a, \barrettconst
smultb \tmp2, \a, \barrettconst
asr \tmp, \tmp, #26
asr \tmp2, \tmp2, #26
smulbb \tmp, \tmp, \q
smulbb \tmp2, \tmp2, \q
pkhbt \tmp, \tmp, \tmp2, lsl#16
usub16 \a, \a, \tmp
.endm

.macro montgomery q, qinv, a, tmp
smulbt \tmp, \a, \qinv
smlabb \tmp, \q, \tmp, \a
.endm

.macro doublemontgomery a, tmp, tmp2, q, qinv, montconst
smulbb \tmp2, \a, \montconst
montgomery \q, \qinv, \tmp2, \tmp
smultb \a, \a, \montconst
montgomery \q, \qinv, \a, \tmp2
pkhtb \a, \tmp2, \tmp, asr#16
.endm

#endif /* MACROS_I */

How can I do to compile this file?

Magnolia

Hi, I ran into the same issue and I read that it can be hardware errors. Is there a solution to using preprocessed files properly?