X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fum%2Fkernel%2FMakefile;h=6fa63a2a89e3855df6d351229cdca896c6c3a8f7;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=d3b16f2a426f4c2d5589f28c27e1ce95d148fc1e;hpb=6a77f38946aaee1cd85eeec6cf4229b204c15071;p=linux-2.6.git diff --git a/arch/um/kernel/Makefile b/arch/um/kernel/Makefile index d3b16f2a4..6fa63a2a8 100644 --- a/arch/um/kernel/Makefile +++ b/arch/um/kernel/Makefile @@ -1,43 +1,47 @@ -# +# # Copyright (C) 2002 Jeff Dike (jdike@karaya.com) # Licensed under the GPL # extra-y := vmlinux.lds -clean-files := vmlinux.lds.S +clean-files := -obj-y = checksum.o config.o exec_kern.o exitcode.o \ - helper.o init_task.o irq.o irq_user.o ksyms.o main.o mem.o mem_user.o \ - physmem.o process.o process_kern.o ptrace.o reboot.o resource.o \ - sigio_user.o sigio_kern.o signal_kern.o signal_user.o smp.o \ - syscall_kern.o syscall_user.o sysrq.o sys_call_table.o tempfile.o \ - time.o time_kern.o tlb.o trap_kern.o trap_user.o uaccess_user.o \ - um_arch.o umid.o user_util.o +obj-y = config.o exec.o exitcode.o init_task.o irq.o ksyms.o mem.o \ + physmem.o process.o ptrace.o reboot.o resource.o sigio.o \ + signal.o smp.o syscall.o sysrq.o time.o tlb.o trap.o uaccess.o \ + um_arch.o umid.o -obj-$(CONFIG_BLK_DEV_INITRD) += initrd_kern.o initrd_user.o +obj-$(CONFIG_BLK_DEV_INITRD) += initrd.o obj-$(CONFIG_GPROF) += gprof_syms.o obj-$(CONFIG_GCOV) += gmon_syms.o -obj-$(CONFIG_TTY_LOG) += tty_log.o obj-$(CONFIG_MODE_TT) += tt/ obj-$(CONFIG_MODE_SKAS) += skas/ -user-objs-$(CONFIG_TTY_LOG) += tty_log.o +USER_OBJS := config.o + +include arch/um/scripts/Makefile.rules -USER_OBJS := $(filter %_user.o,$(obj-y)) $(user-objs-y) config.o helper.o \ - main.o process.o tempfile.o time.o tty_log.o umid.o user_util.o frame.o -USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) +targets := config.c config.tmp -CFLAGS_frame.o := -fno-omit-frame-pointer +# Be careful with the below Sed code - sed is pitfall-rich! +# We use sed to lower build requirements, for "embedded" builders for instance. -$(USER_OBJS) : %.o: %.c - $(CC) $(USER_CFLAGS) $(CFLAGS_$(notdir $@)) -c -o $@ $< +$(obj)/config.tmp: $(objtree)/.config FORCE + $(call if_changed,quote1) -QUOTE = 'my $$config=`cat $(TOPDIR)/.config`; $$config =~ s/"/\\"/g ; $$config =~ s/\n/\\n"\n"/g ; while() { $$_ =~ s/CONFIG/$$config/; print $$_ }' +quiet_cmd_quote1 = QUOTE $@ + cmd_quote1 = sed -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' \ + $< > $@ -quiet_cmd_quote = QUOTE $@ -cmd_quote = $(PERL) -e $(QUOTE) < $< > $@ +$(obj)/config.c: $(src)/config.c.in $(obj)/config.tmp FORCE + $(call if_changed,quote2) -targets += config.c -$(obj)/config.c : $(src)/config.c.in $(TOPDIR)/.config FORCE - $(call if_changed,quote) +quiet_cmd_quote2 = QUOTE $@ + cmd_quote2 = sed -e '/CONFIG/{' \ + -e 's/"CONFIG"\;/""/' \ + -e 'r $(obj)/config.tmp' \ + -e 'a \' \ + -e '""\;' \ + -e '}' \ + $< > $@