]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/modules/cloudabi32/Makefile
Merge ^/head r304700 through r304884.
[FreeBSD/FreeBSD.git] / sys / modules / cloudabi32 / Makefile
1 # $FreeBSD$
2
3 SYSDIR?=${.CURDIR}/../..
4
5 .PATH: ${SYSDIR}/compat/cloudabi32
6 .PATH: ${SYSDIR}/${MACHINE}/cloudabi32
7
8 KMOD=   cloudabi32
9 SRCS=   cloudabi32_fd.c cloudabi32_module.c cloudabi32_poll.c \
10         cloudabi32_sock.c cloudabi32_syscalls.c cloudabi32_sysent.c \
11         cloudabi32_sysvec.c cloudabi32_thread.c
12
13 OBJS=   cloudabi32_vdso_blob.o
14 CLEANFILES=cloudabi32_vdso.o
15
16 .if ${MACHINE_CPUARCH} == "i386"
17 VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686.S
18 OUTPUT_TARGET=elf32-i386-freebsd
19 BINARY_ARCHITECTURE=aarch32
20 .elif ${MACHINE_CPUARCH} == "amd64"
21 VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
22 OUTPUT_TARGET=elf64-x86-64-freebsd
23 BINARY_ARCHITECTURE=i386
24 .endif
25
26 cloudabi32_vdso.o: ${VDSO_SRCS}
27         ${CC} -x assembler-with-cpp -m32 -shared -nostdinc -nostdlib \
28             -Wl,-T${SYSDIR}/compat/cloudabi/cloudabi_vdso.lds \
29             ${VDSO_SRCS} -o ${.TARGET}
30
31 cloudabi32_vdso_blob.o: cloudabi32_vdso.o
32         ${OBJCOPY} --input-target binary \
33             --output-target ${OUTPUT_TARGET} \
34             --binary-architecture ${BINARY_ARCHITECTURE} \
35             cloudabi32_vdso.o ${.TARGET}
36
37 .include <bsd.kmod.mk>