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