2 # Makefile for the ia32 kernel emulation subsystem.
5 obj-
$(CONFIG_IA32_EMULATION
) := ia32entry.o sys_ia32.o ia32_signal.o tls32.o \
6 ia32_binfmt.o fpu32.o ptrace32.o syscall32.o syscall32_syscall.o \
9 sysv-
$(CONFIG_SYSVIPC
) := ipc32.o
10 obj-
$(CONFIG_IA32_EMULATION
) += $(sysv-y
)
12 obj-
$(CONFIG_IA32_AOUT
) += ia32_aout.o
14 audit-class-
$(CONFIG_AUDIT
) := audit.o
15 obj-
$(CONFIG_IA32_EMULATION
) += $(audit-class-y
)
17 $(obj
)/syscall32_syscall.o
: \
18 $(foreach F
,sysenter syscall
,$(obj
)/vsyscall-
$F.so
)
20 # Teach kbuild about targets
21 targets
:= $(foreach F
,sysenter syscall
,vsyscall-
$F.o vsyscall-
$F.so
)
23 # The DSO images are built using a special linker script
24 quiet_cmd_syscall
= SYSCALL
$@
25 cmd_syscall
= $(CC
) -m32
-nostdlib
-shared
-s \
26 $(call ld-option
, -Wl
$(comma
)--hash-style
=sysv
) \
27 -Wl
,-soname
=linux-gate.so
.1 -o
$@ \
28 -Wl
,-T
,$(filter-out FORCE
,$^
)
30 $(obj
)/vsyscall-sysenter.so
$(obj
)/vsyscall-syscall.so
: \
31 $(obj
)/vsyscall-
%.so
: $(src
)/vsyscall.lds
$(obj
)/vsyscall-
%.o FORCE
32 $(call if_changed
,syscall
)
34 AFLAGS_vsyscall-sysenter.o
= -m32
-Wa
,-32
35 AFLAGS_vsyscall-syscall.o
= -m32
-Wa
,-32