150477Speter# $FreeBSD$
29313Ssos
3211690Simp.if ${MACHINE_CPUARCH} == "amd64"
4161312SnetchildSFX= 32
5205014SnwhitehornCFLAGS+=-DCOMPAT_FREEBSD32 -DCOMPAT_LINUX32
6161312Snetchild.endif
770711Sobrien
8211690Simp.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_CPUARCH}/linux${SFX}
9161312Snetchild
1040440SpeterKMOD=	linux
11218616SdchaginSRCS=	linux_fork.c linux${SFX}_dummy.c linux_emul.c linux_file.c \
12255675Srdivacky	linux_futex.c linux_getcwd.c linux_ioctl.c linux_ipc.c \
13163379Snetchild	linux${SFX}_machdep.c linux_mib.c linux_misc.c linux_signal.c \
14163379Snetchild	linux_socket.c linux_stats.c linux_sysctl.c linux${SFX}_sysent.c \
15163379Snetchild	linux${SFX}_sysvec.c linux_uid16.c linux_util.c linux_time.c \
16272020Sbz	linux_timer.c \
17235078Suqs	opt_inet6.h opt_compat.h opt_kdtrace.h opt_posix.h opt_usb.h \
18235078Suqs	vnode_if.h device_if.h bus_if.h assym.s
199313Ssos
20169895Skib# XXX: for assym.s
21192852SdesSRCS+=  opt_kstack_pages.h opt_nfs.h opt_compat.h opt_hwpmc_hooks.h
22211690Simp.if ${MACHINE_CPUARCH} == "i386"
23192855SdesSRCS+=	opt_apic.h
24192855Sdes.endif
25169895Skib
26169895SkibOBJS=	linux${SFX}_locore.o linux${SFX}_support.o
27169895Skib
28211690Simp.if ${MACHINE_CPUARCH} == "i386"
29192855SdesSRCS+=	linux_ptrace.c imgact_linux.c opt_cpu.h
3065547Sobrien.endif
3165547Sobrien
3291072SdesEXPORT_SYMS=
3391072SdesEXPORT_SYMS+=	linux_emul_path
3491072SdesEXPORT_SYMS+=	linux_get_osname
3591072SdesEXPORT_SYMS+=	linux_get_osrelease
3691072SdesEXPORT_SYMS+=	linux_ifname
3791072SdesEXPORT_SYMS+=	linux_ioctl_register_handler
3891072SdesEXPORT_SYMS+=	linux_ioctl_unregister_handler
3991072Sdes
40161312SnetchildCLEANFILES=	linux${SFX}_assym.h linux${SFX}_genassym.o
4114333Speter
42161312Snetchildlinux${SFX}_assym.h: linux${SFX}_genassym.o
4361204Sbde.if exists(@)
44161312Snetchildlinux${SFX}_assym.h: @/kern/genassym.sh
4561204Sbde.endif
46161312Snetchild	sh @/kern/genassym.sh linux${SFX}_genassym.o > ${.TARGET}
4737461Sbde
48161312Snetchildlinux${SFX}_locore.o: linux${SFX}_locore.s linux${SFX}_assym.h
4955653Sbde	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
5070711Sobrien	    ${.IMPSRC} -o ${.TARGET}
5114333Speter
52169903Skiblinux${SFX}_support.o: linux${SFX}_support.s assym.s linux${SFX}_assym.h
53169895Skib	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
54169895Skib	    ${.IMPSRC} -o ${.TARGET}
55169895Skib
56251869Seadlerlinux${SFX}_genassym.o: linux${SFX}_genassym.c linux.h @ machine x86
5789181Smsmith	${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
5814333Speter
59151350Syar.if !defined(KERNBUILDDIR)
60110295Sumeopt_inet6.h:
61182668Simp	echo "#define INET6 1" > ${.TARGET}
62191877Sdchagin.if defined(KTR)
63191877SdchaginCFLAGS+=	-DKTR
64151350Syar.endif
65191877Sdchagin.endif
66110295Sume
6760966Speter.include <bsd.kmod.mk>
68