Makefile revision 319182
1165782Sticso# $FreeBSD: stable/11/sys/modules/linux64/Makefile 319182 2017-05-30 04:11:12Z ngie $
2165782Sticso
3165782Sticso.PATH: ${SRCTOP}/sys/compat/linux ${SRCTOP}/sys/${MACHINE_ARCH}/linux
4165782Sticso
5165782SticsoVDSO=	linux_vdso
6165782Sticso
7165782SticsoKMOD=	linux64
8165782SticsoSRCS=	linux_fork.c linux_dummy.c linux_file.c linux_event.c \
9165782Sticso	linux_futex.c linux_getcwd.c linux_ioctl.c linux_ipc.c \
10165782Sticso	linux_machdep.c linux_misc.c linux_ptrace.c linux_signal.c \
11165782Sticso	linux_socket.c linux_stats.c linux_sysctl.c linux_sysent.c \
12165782Sticso	linux_sysvec.c linux_time.c linux_vdso.c linux_timer.c \
13165782Sticso	opt_inet6.h opt_compat.h opt_posix.h opt_usb.h \
14165782Sticso	vnode_if.h device_if.h bus_if.h assym.s \
15165782Sticso	linux_support.s
16165782SticsoDPSRCS=	linux_genassym.c
17165782Sticso
18165782Sticso# XXX: for assym.s
19165782SticsoSRCS+=  opt_kstack_pages.h opt_nfs.h opt_hwpmc_hooks.h
20165782Sticso.if ${MACHINE_CPUARCH} == "i386"
21165782SticsoSRCS+=	opt_apic.h
22165782Sticso.endif
23165782Sticso
24165782SticsoCLEANFILES=	linux_assym.h linux_genassym.o linux_locore.o
25165782Sticso
26165782SticsoOBJS=	${VDSO}.so
27165782Sticso
28165782Sticsolinux_assym.h: linux_genassym.o
29165782Sticso	sh ${SYSDIR}/kern/genassym.sh linux_genassym.o > ${.TARGET}
30165782Sticso
31165782Sticsolinux_locore.o: linux_locore.s linux_assym.h
32165782Sticso	${CC} -x assembler-with-cpp -DLOCORE -shared -mcmodel=small	\
33165782Sticso	-pipe -I. -I${SYSDIR} -Werror -Wall -fno-common -fPIC -nostdinc	\
34165782Sticso	-Wl,-T${SRCTOP}/sys/${MACHINE_CPUARCH}/linux/${VDSO}.lds.s	\
35165782Sticso	-Wl,-soname=${VDSO}.so.1,-warn-common -nostdlib			\
36165782Sticso	    ${.IMPSRC} -o ${.TARGET}
37165782Sticso
38165782Sticso${VDSO}.so: linux_locore.o
39165782Sticso	${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd		\
40165782Sticso	    -S -g --binary-architecture i386:x86-64 linux_locore.o ${.TARGET}
41165782Sticso
42165782Sticsolinux_support.o: assym.s linux_assym.h
43165782Sticso	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
44165782Sticso	    ${.IMPSRC} -o ${.TARGET}
45165782Sticso
46165782Sticsolinux_genassym.o:
47165782Sticso	${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
48165782Sticso
49165782Sticso.if !defined(KERNBUILDDIR)
50165782Sticso.if defined(DEBUG)
51165782SticsoCFLAGS+=-DDEBUG
52165782Sticso.endif
53165782Sticso.if defined(KTR)
54165782SticsoCFLAGS+=-DKTR
55165782Sticso.endif
56165782Sticso.endif
57165782Sticso
58165782Sticso.include <bsd.kmod.mk>
59165782Sticso