1# $FreeBSD$ 2 3SYSDIR?=${.CURDIR}/../.. 4 5.PATH: ${SYSDIR}/compat/cloudabi64 6.PATH: ${SYSDIR}/${MACHINE}/cloudabi64 7 8KMOD= cloudabi64 9SRCS= cloudabi64_fd.c cloudabi64_module.c cloudabi64_poll.c \ 10 cloudabi64_sock.c cloudabi64_syscalls.c cloudabi64_sysent.c \ 11 cloudabi64_sysvec.c cloudabi64_thread.c 12 13OBJS= cloudabi64_vdso_blob.o 14CLEANFILES=cloudabi64_vdso.o 15 16.if ${MACHINE_CPUARCH} == "aarch64" 17VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_aarch64.c 18OUTPUT_TARGET=elf64-littleaarch64 19BINARY_ARCHITECTURE=aarch64 20.elif ${MACHINE_CPUARCH} == "amd64" 21VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_x86_64.c 22OUTPUT_TARGET=elf64-x86-64-freebsd 23BINARY_ARCHITECTURE=i386 24.endif 25 26cloudabi64_vdso.o: ${VDSO_SRCS} 27 ${CC} -shared -nostdinc -nostdlib \ 28 -Wl,-T${SYSDIR}/compat/cloudabi64/cloudabi64_vdso.lds.s \ 29 -D_KERNEL -I. -I${SYSDIR} -I${SYSDIR}/contrib/cloudabi \ 30 -O2 -fomit-frame-pointer \ 31 ${VDSO_SRCS} -o ${.TARGET} 32 33cloudabi64_vdso_blob.o: cloudabi64_vdso.o 34 ${OBJCOPY} --input-target binary \ 35 --output-target ${OUTPUT_TARGET} \ 36 --binary-architecture ${BINARY_ARCHITECTURE} \ 37 cloudabi64_vdso.o ${.TARGET} 38 39.include <bsd.kmod.mk> 40