]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/modules/cloudabi64/Makefile
Merge ^/head r303250 through r304235.
[FreeBSD/FreeBSD.git] / sys / modules / cloudabi64 / Makefile
1 # $FreeBSD$
2
3 SYSDIR?=${.CURDIR}/../..
4
5 .PATH: ${SYSDIR}/compat/cloudabi64
6 .PATH: ${SYSDIR}/${MACHINE}/cloudabi64
7
8 KMOD=   cloudabi64
9 SRCS=   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
13 OBJS=   cloudabi64_vdso_blob.o
14 CLEANFILES=cloudabi64_vdso.o
15
16 .if ${MACHINE_CPUARCH} == "aarch64"
17 VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_aarch64.c
18 OUTPUT_TARGET=elf64-littleaarch64
19 BINARY_ARCHITECTURE=aarch64
20 .elif ${MACHINE_CPUARCH} == "amd64"
21 VDSO_SRCS=${SYSDIR}/contrib/cloudabi/cloudabi_vdso_x86_64.c
22 OUTPUT_TARGET=elf64-x86-64-freebsd
23 BINARY_ARCHITECTURE=i386
24 .endif
25
26 cloudabi64_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
33 cloudabi64_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>