1# $FreeBSD$ 2 3SYSDIR?=${SRCTOP}/sys 4 5.PATH: ${SYSDIR}/compat/cloudabi32 6.PATH: ${SYSDIR}/${MACHINE_CPUARCH}/cloudabi32 7.PATH: ${SYSDIR}/${MACHINE}/cloudabi32 8 9KMOD= cloudabi32 10SRCS= 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 13 14OBJS= cloudabi32_vdso_blob.o 15CLEANFILES=cloudabi32_vdso.o 16 17.if ${MACHINE_CPUARCH} == "aarch64" 18VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S 19OUTPUT_TARGET=elf64-littleaarch64 20BINARY_ARCHITECTURE=aarch64 21.elif ${MACHINE_CPUARCH} == "amd64" 22VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S 23OUTPUT_TARGET=elf64-x86-64-freebsd 24BINARY_ARCHITECTURE=i386 25.elif ${MACHINE_ARCH:Marmv[67]*} != "" 26VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_armv6.S 27OUTPUT_TARGET=elf32-littlearm 28BINARY_ARCHITECTURE=arm 29.elif ${MACHINE_CPUARCH} == "i386" 30VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686.S 31OUTPUT_TARGET=elf32-i386-freebsd 32BINARY_ARCHITECTURE=i386 33.endif 34 35cloudabi32_vdso.o: ${VDSO_SRCS} 36 ${CC} -x assembler-with-cpp -m32 -shared -nostdinc -nostdlib \ 37 -Wl,-T${SYSDIR}/compat/cloudabi/cloudabi_vdso.lds \ 38 ${VDSO_SRCS} -o ${.TARGET} 39 40cloudabi32_vdso_blob.o: cloudabi32_vdso.o 41 ${OBJCOPY} --input-target binary \ 42 --output-target ${OUTPUT_TARGET} \ 43 --binary-architecture ${BINARY_ARCHITECTURE} \ 44 cloudabi32_vdso.o ${.TARGET} 45 46.include <bsd.kmod.mk> 47