1b2f58791SDmitry Chagin# $FreeBSD$ 2b2f58791SDmitry Chagin 3b2f58791SDmitry Chagin.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_ARCH}/linux 4b2f58791SDmitry Chagin 5b2f58791SDmitry ChaginVDSO= linux_vdso 6b2f58791SDmitry Chagin 7b2f58791SDmitry ChaginKMOD= linux64 8e16fe1c7SDmitry ChaginSRCS= linux_fork.c linux_dummy.c linux_file.c linux_event.c \ 9b2f58791SDmitry Chagin linux_futex.c linux_getcwd.c linux_ioctl.c linux_ipc.c \ 10b2f58791SDmitry Chagin linux_machdep.c linux_misc.c linux_signal.c \ 11b2f58791SDmitry Chagin linux_socket.c linux_stats.c linux_sysctl.c linux_sysent.c \ 12b2f58791SDmitry Chagin linux_sysvec.c linux_time.c linux_vdso.c linux_timer.c \ 13b2f58791SDmitry Chagin opt_inet6.h opt_compat.h opt_kdtrace.h opt_posix.h opt_usb.h \ 14b2f58791SDmitry Chagin vnode_if.h device_if.h bus_if.h assym.s \ 15b2f58791SDmitry Chagin linux_support.s 16b2f58791SDmitry ChaginDPSRCS= linux_genassym.c 17b2f58791SDmitry Chagin 18b2f58791SDmitry Chagin# XXX: for assym.s 19b2f58791SDmitry ChaginSRCS+= opt_kstack_pages.h opt_nfs.h opt_apic.h opt_hwpmc_hooks.h 20b2f58791SDmitry Chagin 21b2f58791SDmitry ChaginCLEANFILES= linux_assym.h linux_genassym.o linux_locore.o 22b2f58791SDmitry Chagin 23b2f58791SDmitry ChaginOBJS= ${VDSO}.so 24b2f58791SDmitry Chagin 25b2f58791SDmitry Chaginlinux_assym.h: linux_genassym.o 26b2f58791SDmitry Chagin sh ${SYSDIR}/kern/genassym.sh linux_genassym.o > ${.TARGET} 27b2f58791SDmitry Chagin 28b2f58791SDmitry Chaginlinux_locore.o: linux_locore.s linux_assym.h 29b2f58791SDmitry Chagin ${CC} -x assembler-with-cpp -DLOCORE -shared -mcmodel=small \ 30b2f58791SDmitry Chagin -pipe -I. -I${SYSDIR} -Werror -Wall -fno-common -nostdinc \ 31b2f58791SDmitry Chagin -Wl,-T${.CURDIR}/../../${MACHINE_CPUARCH}/linux/${VDSO}.lds.s \ 32b2f58791SDmitry Chagin -Wl,-soname=${VDSO}.so.1,-fPIC,-warn-common -nostdlib \ 33b2f58791SDmitry Chagin ${.IMPSRC} -o ${.TARGET} 34b2f58791SDmitry Chagin 35b2f58791SDmitry Chagin${VDSO}.so: linux_locore.o 36*c5d87f33SCraig Rodrigues ${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd \ 37b2f58791SDmitry Chagin -S -g --binary-architecture i386:x86-64 linux_locore.o ${.TARGET} 38b2f58791SDmitry Chagin 39b2f58791SDmitry Chaginlinux_support.o: assym.s linux_assym.h 40b2f58791SDmitry Chagin ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ 41b2f58791SDmitry Chagin ${.IMPSRC} -o ${.TARGET} 42b2f58791SDmitry Chagin 43b2f58791SDmitry Chaginlinux_genassym.o: 44b2f58791SDmitry Chagin ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC} 45b2f58791SDmitry Chagin 46b2f58791SDmitry Chagin.if !defined(KERNBUILDDIR) 47b2f58791SDmitry Chagin.if defined(DEBUG) 48b2f58791SDmitry ChaginCFLAGS+=-DDEBUG 49b2f58791SDmitry Chagin.endif 50b2f58791SDmitry Chagin.if defined(KTR) 51b2f58791SDmitry ChaginCFLAGS+=-DKTR 52b2f58791SDmitry Chagin.endif 53b2f58791SDmitry Chagin.endif 54b2f58791SDmitry Chagin 55b2f58791SDmitry Chagin.include <bsd.kmod.mk> 56