#
# Makefile for the linux kernel.
#

extra-y		:= head.o vmlinux.lds
asflags-y	:= $(KBUILD_CFLAGS)
ccflags-y	:= -Wno-sign-compare

ifdef CONFIG_FTRACE
CFLAGS_REMOVE_ftrace.o = -pg
CFLAGS_REMOVE_insn.o = -pg
CFLAGS_REMOVE_printk.o = -pg
endif

obj-y    := entry.o traps.o process.o osf_sys.o irq.o \
	    irq_sw.o signal.o setup.o ptrace.o time.o \
	    sw_ksyms.o systbls.o err_common.o io.o \
	    printk.o tcsync.o insn.o

obj-$(CONFIG_BUILTIN_HWRPB) += hwrpb.o
obj-$(CONFIG_STACKTRACE) += stacktrace.o
obj-$(CONFIG_SMP)	+= smp.o
obj-$(CONFIG_PCI)	+= pci.o pci-sysfs.o
obj-$(CONFIG_MODULES)	+= module.o
obj-$(CONFIG_NUMA)	+= lwcas.o
obj-$(CONFIG_PCI_MSI)   += msi.o
obj-$(CONFIG_SUSPEND)	+= sleep.o
obj-$(CONFIG_PERF_EVENTS) += perf_event.o
obj-$(CONFIG_HIBERNATION) += hibernate_asm.o
obj-$(CONFIG_AUDIT)     += audit.o
obj-$(CONFIG_DIRECT_DMA) += pci_common.o
obj-$(CONFIG_IOMMU) += pci_iommu.o
obj-$(CONFIG_SWIOTLB) += dma_swiotlb.o
obj-$(CONFIG_SICH) += sich/
obj-$(CONFIG_RELOCATABLE)   += relocate.o

ifndef CONFIG_PCI
obj-y += pci-noop.o
endif

# Core logic support
obj-$(CONFIG_SW)	+= core_sw.o sw_timer.o

# Board support
obj-$(CONFIG_SW_AERE)  += sys_aere.o i2crw.o aere_i2c.o
obj-$(CONFIG_SW_QEMU)	+= sys_qemu.o
obj-$(CONFIG_SW_TALAS)	+= sys_talas.o

obj-$(CONFIG_CRASH_DUMP)    += crash_dump.o
obj-$(CONFIG_KEXEC)		+= machine_kexec.o relocate_kernel.o
obj-$(CONFIG_FUNCTION_TRACER)     += ftrace.o entry-ftrace.o
obj-$(CONFIG_KPROBES)           += kprobes/
obj-$(CONFIG_UPROBES)           += uprobes.o

ifndef CONFIG_PCI
obj-y += sys_isp.o
endif

obj-$(CONFIG_SW_VDSO) += vdso.o vdso/
