1e4df2955SEd Schouten# $FreeBSD$ 2e4df2955SEd Schouten 3193d9e76SEnji CooperSYSDIR?=${SRCTOP}/sys 4e4df2955SEd Schouten 5e4df2955SEd Schouten.PATH: ${SYSDIR}/compat/cloudabi32 6fb90d864SEd Schouten.PATH: ${SYSDIR}/${MACHINE_CPUARCH}/cloudabi32 7bab6a051SEd Schouten.PATH: ${SYSDIR}/${MACHINE}/cloudabi32 8e4df2955SEd Schouten 9e4df2955SEd SchoutenKMOD= cloudabi32 10e4df2955SEd SchoutenSRCS= cloudabi32_fd.c cloudabi32_module.c cloudabi32_poll.c \ 11e4df2955SEd Schouten cloudabi32_sock.c cloudabi32_syscalls.c cloudabi32_sysent.c \ 12e4df2955SEd Schouten cloudabi32_sysvec.c cloudabi32_thread.c 13e4df2955SEd Schouten 14e4df2955SEd SchoutenOBJS= cloudabi32_vdso_blob.o 15e4df2955SEd SchoutenCLEANFILES=cloudabi32_vdso.o 16e4df2955SEd Schouten 1739202638SEd Schouten.if ${MACHINE_CPUARCH} == "aarch64" 1839202638SEd SchoutenVDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S 1939202638SEd SchoutenOUTPUT_TARGET=elf64-littleaarch64 2039202638SEd SchoutenBINARY_ARCHITECTURE=aarch64 2139202638SEd Schouten.elif ${MACHINE_CPUARCH} == "amd64" 22e4df2955SEd SchoutenVDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S 23e4df2955SEd SchoutenOUTPUT_TARGET=elf64-x86-64-freebsd 24e4df2955SEd SchoutenBINARY_ARCHITECTURE=i386 250b972ac9SWarner Losh.elif ${MACHINE_ARCH:Marmv[67]*} != "" 262885e9e8SEd SchoutenVDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_armv6.S 272885e9e8SEd SchoutenOUTPUT_TARGET=elf32-littlearm 282885e9e8SEd SchoutenBINARY_ARCHITECTURE=arm 292885e9e8SEd Schouten.elif ${MACHINE_CPUARCH} == "i386" 302885e9e8SEd SchoutenVDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686.S 312885e9e8SEd SchoutenOUTPUT_TARGET=elf32-i386-freebsd 322885e9e8SEd SchoutenBINARY_ARCHITECTURE=i386 33e4df2955SEd Schouten.endif 34e4df2955SEd Schouten 35e4df2955SEd Schoutencloudabi32_vdso.o: ${VDSO_SRCS} 36*2b6ee34cSAlex Richardson ${CC} ${CCLDFLAGS} -x assembler-with-cpp -m32 -shared -nostdinc -nostdlib \ 37e4df2955SEd Schouten -Wl,-T${SYSDIR}/compat/cloudabi/cloudabi_vdso.lds \ 38e4df2955SEd Schouten ${VDSO_SRCS} -o ${.TARGET} 39e4df2955SEd Schouten 40e4df2955SEd Schoutencloudabi32_vdso_blob.o: cloudabi32_vdso.o 41e4df2955SEd Schouten ${OBJCOPY} --input-target binary \ 42e4df2955SEd Schouten --output-target ${OUTPUT_TARGET} \ 43e4df2955SEd Schouten --binary-architecture ${BINARY_ARCHITECTURE} \ 44e4df2955SEd Schouten cloudabi32_vdso.o ${.TARGET} 45e4df2955SEd Schouten 46e4df2955SEd Schouten.include <bsd.kmod.mk> 47