+ORIGFUNC= ${.PREFIX:S/^compat//}
+RENAMEDFUNC=${.PREFIX:S/^compat__//:C/([0-9]{2})$//}
+.if (${MACHINE_ARCH} == "i386")
+FUNCTYPE= @function
+PICJMP= jmpl *PIC_PLT(${ORIGFUNC})
+JMP= jmp ${ORIGFUNC}
+.elif (${MACHINE_ARCH} == "arm")
+FUNCTYPE= %%function
+PICJMP= bl PIC_SYM(${ORIGFUNC}, PLT)
+JMP= b ${ORIGFUNC}
+.endif
+
${ASM}:
${_MKTARGET_CREATE}
printf '/* MINIX3 */ \n\
* DO NOT EDIT: this file is automatically generated. \n\
*/ \n\
#include <machine/asm.h> \n\
-.global ${.PREFIX:S/^compat__//:C/([0-9]{2})$//}; \n\
-.global ${.PREFIX:S/^compat//}; \n\
-.type ${.PREFIX:S/^compat__//:C/([0-9]{2})$//},@function \n\
-${.PREFIX:S/^compat__//:C/([0-9]{2})$//}: \n\
+.global ${RENAMEDFUNC}; \n\
+.global ${ORIGFUNC}; \n\
+.type ${RENAMEDFUNC},${FUNCTYPE} \n\
+${RENAMEDFUNC}: \n\
#ifdef PIC \n\
-jmpl *PIC_PLT(${.PREFIX:S/^compat//}) \n\
+${PICJMP} \n\
#else \n\
-jmp ${.PREFIX:S/^compat//} \n\
+${JMP} \n\
#endif \n\
\n ' >${.TARGET}