xref: /freebsd/sys/modules/linux/Makefile (revision b3ee0d3bbd55c84c9a73e43786dcbb7c3c8b8572)
1c3aac50fSPeter Wemm# $FreeBSD$
2c21dee17SSøren Schmidt
3c09808d0SWarner Losh.if ${MACHINE_CPUARCH} == "amd64"
4adfa0adeSAlexander LeidingerSFX= 32
5841c0c7eSNathan WhitehornCFLAGS+=-DCOMPAT_FREEBSD32 -DCOMPAT_LINUX32
6adfa0adeSAlexander Leidinger.endif
7adfa0adeSAlexander Leidinger
8c09808d0SWarner Losh.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_CPUARCH}/linux${SFX}
9c68159a6SDavid E. O'Brien
10a654d072SPeter WemmKMOD=	linux
11222198abSDmitry ChaginSRCS=	linux_fork.c linux${SFX}_dummy.c linux_emul.c linux_file.c \
12b12698e1SRoman Divacky	linux_futex.c linux_getcwd.c linux_ioctl.c linux_ipc.c \
136a1162d4SAlexander Leidinger	linux${SFX}_machdep.c linux_mib.c linux_misc.c linux_signal.c \
146a1162d4SAlexander Leidinger	linux_socket.c linux_stats.c linux_sysctl.c linux${SFX}_sysent.c \
156a1162d4SAlexander Leidinger	linux${SFX}_sysvec.c linux_uid16.c linux_util.c linux_time.c \
160a041f3bSBjoern A. Zeeb	linux_timer.c \
1754366c0bSAttilio Rao	opt_inet6.h opt_compat.h opt_posix.h opt_usb.h vnode_if.h \
180ffd63f0SWarner Losh	device_if.h bus_if.h assym.s \
190ffd63f0SWarner Losh	linux${SFX}_locore.s linux${SFX}_support.s
20*b3ee0d3bSJohn BaldwinDPSRCS=	linux${SFX}_genassym.c
211c182de9SKonstantin Belousov
221c182de9SKonstantin Belousov# XXX: for assym.s
23e8cdb773SDag-Erling SmørgravSRCS+=  opt_kstack_pages.h opt_nfs.h opt_compat.h opt_hwpmc_hooks.h
24c09808d0SWarner Losh.if ${MACHINE_CPUARCH} == "i386"
25b2cc900aSDag-Erling SmørgravSRCS+=	opt_apic.h
26b2cc900aSDag-Erling Smørgrav.endif
271c182de9SKonstantin Belousov
28c09808d0SWarner Losh.if ${MACHINE_CPUARCH} == "i386"
29b2cc900aSDag-Erling SmørgravSRCS+=	linux_ptrace.c imgact_linux.c opt_cpu.h
30849baab8SDavid E. O'Brien.endif
31849baab8SDavid E. O'Brien
32bea8bf95SDag-Erling SmørgravEXPORT_SYMS=
33bea8bf95SDag-Erling SmørgravEXPORT_SYMS+=	linux_emul_path
34bea8bf95SDag-Erling SmørgravEXPORT_SYMS+=	linux_get_osname
35bea8bf95SDag-Erling SmørgravEXPORT_SYMS+=	linux_get_osrelease
36bea8bf95SDag-Erling SmørgravEXPORT_SYMS+=	linux_ifname
37bea8bf95SDag-Erling SmørgravEXPORT_SYMS+=	linux_ioctl_register_handler
38bea8bf95SDag-Erling SmørgravEXPORT_SYMS+=	linux_ioctl_unregister_handler
39bea8bf95SDag-Erling Smørgrav
40adfa0adeSAlexander LeidingerCLEANFILES=	linux${SFX}_assym.h linux${SFX}_genassym.o
41785d64c4SPeter Wemm
42adfa0adeSAlexander Leidingerlinux${SFX}_assym.h: linux${SFX}_genassym.o
4327d33931SBruce Evans.if exists(@)
44adfa0adeSAlexander Leidingerlinux${SFX}_assym.h: @/kern/genassym.sh
4527d33931SBruce Evans.endif
46adfa0adeSAlexander Leidinger	sh @/kern/genassym.sh linux${SFX}_genassym.o > ${.TARGET}
47785d64c4SPeter Wemm
480ffd63f0SWarner Loshlinux${SFX}_locore.o: linux${SFX}_assym.h assym.s
4927e2d53cSBruce Evans	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
50c11bd941SBruce Evans	    ${.IMPSRC} -o ${.TARGET}
51785d64c4SPeter Wemm
520ffd63f0SWarner Loshlinux${SFX}_support.o: linux${SFX}_assym.h assym.s
531c182de9SKonstantin Belousov	${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
541c182de9SKonstantin Belousov	    ${.IMPSRC} -o ${.TARGET}
551c182de9SKonstantin Belousov
560ffd63f0SWarner Loshlinux${SFX}_genassym.o:
57ee3c29ebSMike Smith	${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
58785d64c4SPeter Wemm
5982292344SYaroslav Tykhiy.if !defined(KERNBUILDDIR)
604ec3ea90SDmitry Chagin.if defined(KTR)
614ec3ea90SDmitry ChaginCFLAGS+=	-DKTR
624ec3ea90SDmitry Chagin.endif
6382292344SYaroslav Tykhiy.endif
64ca26842eSHajimu UMEMOTO
6564db83a8SPeter Wemm.include <bsd.kmod.mk>
66