[PATCH] uml: allow building as 32-bit binary on 64bit host
[safe/jmp/linux-2.6] / arch / um / Makefile-i386
1 core-y += arch/um/sys-i386/ arch/i386/crypto/
2
3 TOP_ADDR := $(CONFIG_TOP_ADDR)
4
5 ifeq ($(CONFIG_MODE_SKAS),y)
6   ifneq ($(CONFIG_MODE_TT),y)
7      START := 0x8048000
8   endif
9 endif
10
11 LDFLAGS                 += -m elf_i386
12 ELF_ARCH                := $(SUBARCH)
13 ELF_FORMAT              := elf32-$(SUBARCH)
14 OBJCOPYFLAGS            := -O binary -R .note -R .comment -S
15
16 ifeq ("$(origin SUBARCH)", "command line")
17 ifneq ("$(shell uname -m | sed -e s/i.86/i386/)", "$(SUBARCH)")
18 CFLAGS                  += $(call cc-option,-m32)
19 USER_CFLAGS             += $(call cc-option,-m32)
20 HOSTCFLAGS              += $(call cc-option,-m32)
21 HOSTLDFLAGS             += $(call cc-option,-m32)
22 AFLAGS                  += $(call cc-option,-m32)
23 LINK-y                  += $(call cc-option,-m32)
24 UML_OBJCOPYFLAGS        += -F $(ELF_FORMAT)
25
26 export LDFLAGS HOSTCFLAGS HOSTLDFLAGS UML_OBJCOPYFLAGS
27 endif
28 endif
29
30 CFLAGS += -U__$(SUBARCH)__ -U$(SUBARCH) $(STUB_CFLAGS)
31
32 ifneq ($(CONFIG_GPROF),y)
33 ARCH_CFLAGS += -DUM_FASTCALL
34 endif
35
36 SYS_HEADERS     := $(SYS_DIR)/sc.h $(SYS_DIR)/thread.h
37
38 prepare: $(SYS_HEADERS)
39
40 $(SYS_DIR)/sc.h: $(SYS_UTIL_DIR)/mk_sc
41         $(call filechk,gen_header)
42
43 $(SYS_DIR)/thread.h: $(SYS_UTIL_DIR)/mk_thread 
44         $(call filechk,gen_header)
45
46 $(SYS_UTIL_DIR)/mk_sc: scripts_basic $(ARCH_DIR)/user-offsets.h FORCE
47         $(Q)$(MAKE) $(build)=$(SYS_UTIL_DIR) $@
48
49 $(SYS_UTIL_DIR)/mk_thread: scripts_basic $(ARCH_DIR)/kernel-offsets.h FORCE
50         $(Q)$(MAKE) $(build)=$(SYS_UTIL_DIR) $@
51
52 $(SYS_UTIL_DIR): scripts_basic include/asm FORCE
53         $(Q)$(MAKE) $(build)=$(SYS_UTIL_DIR)
54
55 CLEAN_FILES += $(SYS_HEADERS)