xref: /linux/arch/um/kernel/Makefile (revision b05d85a87d9711f5f5f2eb05c79038d5d5ff1f44)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
31da177e4SLinus Torvalds# Licensed under the GPL
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds
61da177e4SLinus Torvaldsextra-y := vmlinux.lds
71da177e4SLinus Torvaldsclean-files := vmlinux.lds.S config.tmp
81da177e4SLinus Torvalds
91da177e4SLinus Torvaldsobj-y = checksum.o config.o exec_kern.o exitcode.o \
101da177e4SLinus Torvalds	helper.o init_task.o irq.o irq_user.o ksyms.o main.o mem.o mem_user.o \
111da177e4SLinus Torvalds	physmem.o process.o process_kern.o ptrace.o reboot.o resource.o \
121da177e4SLinus Torvalds	sigio_user.o sigio_kern.o signal_kern.o signal_user.o smp.o \
131da177e4SLinus Torvalds	syscall_kern.o sysrq.o sys_call_table.o tempfile.o time.o time_kern.o \
141da177e4SLinus Torvalds	tlb.o trap_kern.o trap_user.o uaccess_user.o um_arch.o umid.o \
151da177e4SLinus Torvalds	user_util.o
161da177e4SLinus Torvalds
171da177e4SLinus Torvaldsobj-$(CONFIG_BLK_DEV_INITRD) += initrd_kern.o initrd_user.o
181da177e4SLinus Torvaldsobj-$(CONFIG_GPROF)	+= gprof_syms.o
191da177e4SLinus Torvaldsobj-$(CONFIG_GCOV)	+= gmon_syms.o
201da177e4SLinus Torvaldsobj-$(CONFIG_TTY_LOG)	+= tty_log.o
211da177e4SLinus Torvaldsobj-$(CONFIG_SYSCALL_DEBUG) += syscall_user.o
221da177e4SLinus Torvalds
231da177e4SLinus Torvaldsobj-$(CONFIG_MODE_TT) += tt/
241da177e4SLinus Torvaldsobj-$(CONFIG_MODE_SKAS) += skas/
251da177e4SLinus Torvalds
261da177e4SLinus Torvalds# This needs be compiled with frame pointers regardless of how the rest of the
271da177e4SLinus Torvalds# kernel is built.
281da177e4SLinus TorvaldsCFLAGS_frame.o := -fno-omit-frame-pointer
291da177e4SLinus Torvalds
301da177e4SLinus Torvaldsuser-objs-$(CONFIG_TTY_LOG) += tty_log.o
311da177e4SLinus Torvalds
321da177e4SLinus TorvaldsUSER_OBJS := $(user-objs-y) config.o helper.o main.o process.o tempfile.o \
331da177e4SLinus Torvalds	time.o tty_log.o umid.o user_util.o frame.o
341da177e4SLinus Torvalds
351da177e4SLinus Torvaldsinclude arch/um/scripts/Makefile.rules
361da177e4SLinus Torvalds
371da177e4SLinus Torvaldstargets += config.c
381da177e4SLinus Torvalds
391da177e4SLinus Torvalds# Be careful with the below Sed code - sed is pitfall-rich!
401da177e4SLinus Torvalds# We use sed to lower build requirements, for "embedded" builders for instance.
411da177e4SLinus Torvalds
421da177e4SLinus Torvalds$(obj)/config.tmp: $(objtree)/.config FORCE
431da177e4SLinus Torvalds	$(call if_changed,quote1)
441da177e4SLinus Torvalds
451da177e4SLinus Torvaldsquiet_cmd_quote1 = QUOTE   $@
461da177e4SLinus Torvalds      cmd_quote1 = sed -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' \
471da177e4SLinus Torvalds		   $< > $@
481da177e4SLinus Torvalds
491da177e4SLinus Torvalds$(obj)/config.c: $(src)/config.c.in $(obj)/config.tmp FORCE
501da177e4SLinus Torvalds	$(call if_changed,quote2)
511da177e4SLinus Torvalds
521da177e4SLinus Torvaldsquiet_cmd_quote2 = QUOTE   $@
531da177e4SLinus Torvalds      cmd_quote2 = sed -e '/CONFIG/{'          \
541da177e4SLinus Torvalds		  -e 's/"CONFIG"\;/""/'        \
551da177e4SLinus Torvalds		  -e 'r $(obj)/config.tmp'     \
56*b05d85a8SRob Landley		  -e 'a \'                     \
57*b05d85a8SRob Landley		  -e '""\;'                    \
581da177e4SLinus Torvalds		  -e '}'                       \
591da177e4SLinus Torvalds		  $< > $@
60