| # |
| # Makefile for the linux kernel. |
| # |
| |
| obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \ |
| exit.o itimer.o time.o softirq.o resource.o \ |
| sysctl.o capability.o ptrace.o timer.o user.o \ |
| signal.o sys.o kmod.o workqueue.o pid.o \ |
| rcupdate.o intermodule.o extable.o params.o posix-timers.o |
| |
| obj-$(CONFIG_FUTEX) += futex.o |
| obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o |
| obj-$(CONFIG_SMP) += cpu.o |
| obj-$(CONFIG_UID16) += uid16.o |
| obj-$(CONFIG_MODULES) += module.o |
| obj-$(CONFIG_KALLSYMS) += kallsyms.o |
| obj-$(CONFIG_PM) += power/ |
| obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o |
| obj-$(CONFIG_COMPAT) += compat.o |
| obj-$(CONFIG_IKCONFIG) += configs.o |
| obj-$(CONFIG_IKCONFIG_PROC) += configs.o |
| |
| ifneq ($(CONFIG_IA64),y) |
| # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is |
| # needed for x86 only. Why this used to be enabled for all architectures is beyond |
| # me. I suspect most platforms don't need this, but until we know that for sure |
| # I turn this off for IA-64 only. Andreas Schwab says it's also needed on m68k |
| # to get a correct value for the wait-channel (WCHAN in ps). --davidm |
| CFLAGS_sched.o := $(PROFILING) -fno-omit-frame-pointer |
| endif |
| |
| # configs.o uses generated files - dependecies must be listed explicitly |
| $(obj)/configs.o: $(obj)/ikconfig.h |
| |
| ifdef CONFIG_IKCONFIG_PROC |
| $(obj)/configs.o: $(obj)/config_data.h |
| endif |
| |
| # ikconfig.h contains all the selected config entries - generated |
| # from top-level Makefile and .config. Info from ikconfig.h can |
| # be extracted from the kernel binary. |
| |
| quiet_cmd_ikconfig = IKCFG $@ |
| cmd_ikconfig = $(CONFIG_SHELL) $< .config $(srctree)/Makefile > $@ |
| |
| targets += ikconfig.h |
| $(obj)/ikconfig.h: scripts/mkconfigs .config Makefile FORCE |
| $(call if_changed,ikconfig) |
| |
| # config_data.h contains the same information as ikconfig.h but gzipped. |
| # Info from config_data can be extracted from /proc/config* |
| targets += config_data.gz |
| $(obj)/config_data.gz: .config FORCE |
| $(call if_changed,gzip) |
| |
| quiet_cmd_ikconfiggz = IKCFG $@ |
| cmd_ikconfiggz = cat $< | scripts/bin2c kernel_config_data > $@ |
| targets += config_data.h |
| $(obj)/config_data.h: $(obj)/config_data.gz FORCE |
| $(call if_changed,ikconfiggz) |