18bc78518SEd Schouten# $FreeBSD$ 28bc78518SEd Schouten 3193d9e76SEnji CooperSYSDIR?=${SRCTOP}/sys 413b4b4dfSEd Schouten 513b4b4dfSEd Schouten.PATH: ${SYSDIR}/compat/cloudabi64 6fb90d864SEd Schouten.PATH: ${SYSDIR}/${MACHINE_CPUARCH}/cloudabi64 7bab6a051SEd Schouten.PATH: ${SYSDIR}/${MACHINE}/cloudabi64 88bc78518SEd Schouten 98bc78518SEd SchoutenKMOD= cloudabi64 10b78ef4bdSEd SchoutenSRCS= cloudabi64_fd.c cloudabi64_module.c cloudabi64_poll.c \ 11b78ef4bdSEd Schouten cloudabi64_sock.c cloudabi64_syscalls.c cloudabi64_sysent.c \ 12b78ef4bdSEd Schouten cloudabi64_sysvec.c cloudabi64_thread.c 138bc78518SEd Schouten 1413b4b4dfSEd SchoutenOBJS= cloudabi64_vdso_blob.o 1513b4b4dfSEd SchoutenCLEANFILES=cloudabi64_vdso.o 1613b4b4dfSEd Schouten 1713b4b4dfSEd Schouten.if ${MACHINE_CPUARCH} == "aarch64" 187ce07161SEd SchoutenVDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_aarch64.S 1913b4b4dfSEd SchoutenOUTPUT_TARGET=elf64-littleaarch64 2013b4b4dfSEd SchoutenBINARY_ARCHITECTURE=aarch64 2113b4b4dfSEd Schouten.elif ${MACHINE_CPUARCH} == "amd64" 227ce07161SEd SchoutenVDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_x86_64.S 2313b4b4dfSEd SchoutenOUTPUT_TARGET=elf64-x86-64-freebsd 2413b4b4dfSEd SchoutenBINARY_ARCHITECTURE=i386 2513b4b4dfSEd Schouten.endif 2613b4b4dfSEd Schouten 2713b4b4dfSEd Schoutencloudabi64_vdso.o: ${VDSO_SRCS} 28*2b6ee34cSAlex Richardson ${CC} ${CCLDFLAGS} -x assembler-with-cpp -shared -nostdinc -nostdlib \ 294fbc9065SEd Schouten -Wl,-T${SYSDIR}/compat/cloudabi/cloudabi_vdso.lds \ 3013b4b4dfSEd Schouten ${VDSO_SRCS} -o ${.TARGET} 3113b4b4dfSEd Schouten 3213b4b4dfSEd Schoutencloudabi64_vdso_blob.o: cloudabi64_vdso.o 3313b4b4dfSEd Schouten ${OBJCOPY} --input-target binary \ 3413b4b4dfSEd Schouten --output-target ${OUTPUT_TARGET} \ 3513b4b4dfSEd Schouten --binary-architecture ${BINARY_ARCHITECTURE} \ 3613b4b4dfSEd Schouten cloudabi64_vdso.o ${.TARGET} 3713b4b4dfSEd Schouten 388bc78518SEd Schouten.include <bsd.kmod.mk> 39