1285786Sed# $FreeBSD: stable/11/sys/modules/cloudabi32/Makefile 319182 2017-05-30 04:11:12Z ngie $
2285786Sed
3319182SngieSYSDIR?=${SRCTOP}/sys
4285786Sed
5304745Sed.PATH: ${SYSDIR}/compat/cloudabi32
6307144Sed.PATH: ${SYSDIR}/${MACHINE_CPUARCH}/cloudabi32
7304745Sed.PATH: ${SYSDIR}/${MACHINE}/cloudabi32
8303941Sed
9304745SedKMOD=	cloudabi32
10304745SedSRCS=	cloudabi32_fd.c cloudabi32_module.c cloudabi32_poll.c \
11304745Sed	cloudabi32_sock.c cloudabi32_syscalls.c cloudabi32_sysent.c \
12304745Sed	cloudabi32_sysvec.c cloudabi32_thread.c
13285786Sed
14304745SedOBJS=	cloudabi32_vdso_blob.o
15304745SedCLEANFILES=cloudabi32_vdso.o
16303941Sed
17307144Sed.if ${MACHINE_CPUARCH} == "amd64"
18304745SedVDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
19303941SedOUTPUT_TARGET=elf64-x86-64-freebsd
20303941SedBINARY_ARCHITECTURE=i386
21307144Sed.elif ${MACHINE_ARCH} == "armv6"
22307144SedVDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_armv6.S
23307144SedOUTPUT_TARGET=elf32-littlearm
24307144SedBINARY_ARCHITECTURE=arm
25307144Sed.elif ${MACHINE_CPUARCH} == "i386"
26307144SedVDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686.S
27307144SedOUTPUT_TARGET=elf32-i386-freebsd
28307144SedBINARY_ARCHITECTURE=i386
29303941Sed.endif
30303941Sed
31304745Sedcloudabi32_vdso.o: ${VDSO_SRCS}
32304745Sed	${CC} -x assembler-with-cpp -m32 -shared -nostdinc -nostdlib \
33304557Sed	    -Wl,-T${SYSDIR}/compat/cloudabi/cloudabi_vdso.lds \
34303941Sed	    ${VDSO_SRCS} -o ${.TARGET}
35303941Sed
36304745Sedcloudabi32_vdso_blob.o: cloudabi32_vdso.o
37303941Sed	${OBJCOPY} --input-target binary \
38303941Sed	    --output-target ${OUTPUT_TARGET} \
39303941Sed	    --binary-architecture ${BINARY_ARCHITECTURE} \
40304745Sed	    cloudabi32_vdso.o ${.TARGET}
41303941Sed
42285786Sed.include <bsd.kmod.mk>
43