2 # Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 # Licensed under the GPL
6 extra-y := vmlinux.lds.s
8 obj-y = checksum.o config.o exec_kern.o exitcode.o frame_kern.o frame.o \
9 helper.o init_task.o irq.o irq_user.o ksyms.o mem.o mem_user.o \
10 process.o process_kern.o ptrace.o reboot.o resource.o sigio_user.o \
11 sigio_kern.o signal_kern.o signal_user.o smp.o syscall_kern.o \
12 syscall_user.o sysrq.o sys_call_table.o tempfile.o time.o \
13 time_kern.o tlb.o trap_kern.o trap_user.o uaccess_user.o um_arch.o \
14 umid.o user_syms.o user_util.o
16 obj-$(CONFIG_BLK_DEV_INITRD) += initrd_kern.o initrd_user.o
17 obj-$(CONFIG_GPROF) += gprof_syms.o
18 obj-$(CONFIG_GCOV) += gmon_syms.o
19 obj-$(CONFIG_TTY_LOG) += tty_log.o
21 obj-$(CONFIG_MODE_TT) += tt/
22 obj-$(CONFIG_MODE_SKAS) += skas/
24 user-objs-$(CONFIG_TTY_LOG) += tty_log.o
26 USER_OBJS := $(filter %_user.o,$(obj-y)) $(user-objs-y) config.o helper.o \
27 process.o tempfile.o time.o tty_log.o umid.o user_util.o user_syms.o
28 USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file))
30 DMODULES-$(CONFIG_MODULES) = -D__CONFIG_MODULES__
31 DMODVERSIONS-$(CONFIG_MODVERSIONS) = -D__CONFIG_MODVERSIONS__
34 CFLAGS_user_syms.o = -D__AUTOCONF_INCLUDED__ $(DMODULES-y) $(DMODVERSIONS-y) \
35 -I/usr/include -I../include
37 CFLAGS_frame.o := $(patsubst -fomit-frame-pointer,,$(USER_CFLAGS))
39 $(USER_OBJS) : %.o: %.c
40 $(CC) $(CFLAGS_$(notdir $@)) $(USER_CFLAGS) -c -o $@ $<
42 # This has to be separate because it needs be compiled with frame pointers
43 # regardless of how the rest of the kernel is built.
45 $(obj)/frame.o: $(src)/frame.c
46 $(CC) $(CFLAGS_$(notdir $@)) -c -o $@ $<
48 QUOTE = 'my $$config=`cat $(TOPDIR)/.config`; $$config =~ s/"/\\"/g ; while(<STDIN>) { $$_ =~ s/CONFIG/$$config/; print $$_ }'
50 $(obj)/config.c : $(src)/config.c.in $(TOPDIR)/.config
51 $(PERL) -e $(QUOTE) < $(src)/config.c.in > $@
53 $(obj)/config.o : $(obj)/config.c
57 for dir in $(subdir-y) ; do $(MAKE) -C $$dir clean; done