[PATCH] uml: workaround old problematic sed behaviour
[linux-3.10.git] / arch / um / kernel / Makefile
1
2 # Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 # Licensed under the GPL
4 #
5
6 extra-y := vmlinux.lds
7 clean-files := vmlinux.lds.S config.tmp
8
9 obj-y = checksum.o config.o exec_kern.o exitcode.o \
10         helper.o init_task.o irq.o irq_user.o ksyms.o main.o mem.o mem_user.o \
11         physmem.o process.o process_kern.o ptrace.o reboot.o resource.o \
12         sigio_user.o sigio_kern.o signal_kern.o signal_user.o smp.o \
13         syscall_kern.o sysrq.o sys_call_table.o tempfile.o time.o time_kern.o \
14         tlb.o trap_kern.o trap_user.o uaccess_user.o um_arch.o umid.o \
15         user_util.o
16
17 obj-$(CONFIG_BLK_DEV_INITRD) += initrd_kern.o initrd_user.o
18 obj-$(CONFIG_GPROF)     += gprof_syms.o
19 obj-$(CONFIG_GCOV)      += gmon_syms.o
20 obj-$(CONFIG_TTY_LOG)   += tty_log.o
21 obj-$(CONFIG_SYSCALL_DEBUG) += syscall_user.o
22
23 obj-$(CONFIG_MODE_TT) += tt/
24 obj-$(CONFIG_MODE_SKAS) += skas/
25
26 # This needs be compiled with frame pointers regardless of how the rest of the
27 # kernel is built.
28 CFLAGS_frame.o := -fno-omit-frame-pointer
29
30 user-objs-$(CONFIG_TTY_LOG) += tty_log.o
31
32 USER_OBJS := $(user-objs-y) config.o helper.o main.o process.o tempfile.o \
33         time.o tty_log.o umid.o user_util.o frame.o
34
35 include arch/um/scripts/Makefile.rules
36
37 targets += config.c
38
39 # Be careful with the below Sed code - sed is pitfall-rich!
40 # We use sed to lower build requirements, for "embedded" builders for instance.
41
42 $(obj)/config.tmp: $(objtree)/.config FORCE
43         $(call if_changed,quote1)
44
45 quiet_cmd_quote1 = QUOTE   $@
46       cmd_quote1 = sed -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' \
47                    $< > $@
48
49 $(obj)/config.c: $(src)/config.c.in $(obj)/config.tmp FORCE
50         $(call if_changed,quote2)
51
52 quiet_cmd_quote2 = QUOTE   $@
53       cmd_quote2 = sed -e '/CONFIG/{'          \
54                   -e 's/"CONFIG"\;/""/'        \
55                   -e 'r $(obj)/config.tmp'     \
56                   -e 'a \'                     \
57                   -e '""\;'                    \
58                   -e '}'                       \
59                   $< > $@