5 .PATH: ${SYSDIR}/compat/cloudabi32
6 .PATH: ${SYSDIR}/${MACHINE_CPUARCH}/cloudabi32
7 .PATH: ${SYSDIR}/${MACHINE}/cloudabi32
10 SRCS= cloudabi32_fd.c cloudabi32_module.c cloudabi32_poll.c \
11 cloudabi32_sock.c cloudabi32_syscalls.c cloudabi32_sysent.c \
12 cloudabi32_sysvec.c cloudabi32_thread.c
14 OBJS= cloudabi32_vdso_blob.o
15 CLEANFILES=cloudabi32_vdso.o
17 .if ${MACHINE_CPUARCH} == "amd64"
18 VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
19 OUTPUT_TARGET=elf64-x86-64-freebsd
20 BINARY_ARCHITECTURE=i386
21 .elif ${MACHINE_ARCH:Marmv[67]*} != ""
22 VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_armv6.S
23 OUTPUT_TARGET=elf32-littlearm
24 BINARY_ARCHITECTURE=arm
25 .elif ${MACHINE_CPUARCH} == "i386"
26 VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686.S
27 OUTPUT_TARGET=elf32-i386-freebsd
28 BINARY_ARCHITECTURE=i386
31 cloudabi32_vdso.o: ${VDSO_SRCS}
32 ${CC} -x assembler-with-cpp -m32 -shared -nostdinc -nostdlib \
33 -Wl,-T${SYSDIR}/compat/cloudabi/cloudabi_vdso.lds \
34 ${VDSO_SRCS} -o ${.TARGET}
36 cloudabi32_vdso_blob.o: cloudabi32_vdso.o
37 ${OBJCOPY} --input-target binary \
38 --output-target ${OUTPUT_TARGET} \
39 --binary-architecture ${BINARY_ARCHITECTURE} \
40 cloudabi32_vdso.o ${.TARGET}
42 .include <bsd.kmod.mk>