You need to sign in or sign up before continuing.
Makefile 2.06 KB
Newer Older
Linus Torvalds's avatar
Linus Torvalds committed
1
# $Id: Makefile,v 1.1 1999/09/18 16:55:51 gniibe Exp gniibe $
Linus Torvalds's avatar
Linus Torvalds committed
2 3 4 5 6
#
# This file is subject to the terms and conditions of the GNU General Public
# License.  See the file "COPYING" in the main directory of this archive
# for more details.
#
Linus Torvalds's avatar
Linus Torvalds committed
7 8
# Copyright (C) 1999  Kaz Kojima
#
Linus Torvalds's avatar
Linus Torvalds committed
9 10 11 12 13 14 15 16 17
# This file is included by the global makefile so that you can add your own
# architecture-specific flags and dependencies. Remember to do have actions
# for "archclean" and "archdep" for cleaning up and making dependencies for
# this architecture
#

#
# Select the object file format to substitute into the linker script.
#
Linus Torvalds's avatar
Linus Torvalds committed
18 19 20 21 22 23 24 25 26 27 28
tool-prefix	= sh-elf

ifdef CONFIG_LITTLE_ENDIAN
CFLAGS		+= -ml
AFLAGS		+= -ml
# LINKFLAGS	+= -EL
LDFLAGS		:= -EL

LD	=$(CROSS_COMPILE)ld $(LDFLAGS)

endif
Linus Torvalds's avatar
Linus Torvalds committed
29 30 31 32 33 34 35 36 37 38

ifdef CONFIG_CROSSCOMPILE
CROSS_COMPILE  = $(tool-prefix)
endif

MODFLAGS	+=

#
#

Linus Torvalds's avatar
Linus Torvalds committed
39 40 41 42 43 44 45 46
ifdef CONFIG_CPU_SH3
CFLAGS		+= -m3
AFLAGS		+= -m3
endif
ifdef CONFIG_CPU_SH4
CFLAGS		+= -m4
AFLAGS		+= -m4
endif
Linus Torvalds's avatar
Linus Torvalds committed
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

#
# Choosing incompatible machines durings configuration will result in
# error messages during linking.  Select a default linkscript if
# none has been choosen above.
#
LINKSCRIPT    = arch/sh/vmlinux.lds
LINKFLAGS     += -T $(word 1,$(LINKSCRIPT)) -e __stext

ifdef LOADADDR
LINKFLAGS     += -Ttext $(word 1,$(LOADADDR))
endif

#
CFLAGS		+= -pipe

HEAD := arch/sh/kernel/head.o arch/sh/kernel/init_task.o

SUBDIRS := $(SUBDIRS) $(addprefix arch/sh/, kernel mm lib)
CORE_FILES := arch/sh/kernel/kernel.o arch/sh/mm/mm.o $(CORE_FILES)
Linus Torvalds's avatar
Linus Torvalds committed
67 68 69
LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
LIBS := $(TOPDIR)/arch/sh/lib/lib.a $(LIBS) $(TOPDIR)/arch/sh/lib/lib.a \
	$(LIBGCC)
Linus Torvalds's avatar
Linus Torvalds committed
70 71 72 73 74 75

MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot

vmlinux: arch/sh/vmlinux.lds

arch/sh/vmlinux.lds: arch/sh/vmlinux.lds.S FORCE
Linus Torvalds's avatar
Linus Torvalds committed
76
	gcc -E -C -P -I$(HPATH) -Ush arch/sh/vmlinux.lds.S >arch/sh/vmlinux.lds
Linus Torvalds's avatar
Linus Torvalds committed
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

FORCE: ;

zImage: vmlinux
	@$(MAKEBOOT) zImage

compressed: zImage

zdisk: vmlinux
	@$(MAKEBOOT) zdisk

archclean:
	@$(MAKEBOOT) clean
	$(MAKE) -C arch/$(ARCH)/kernel clean
#	$(MAKE) -C arch/$(ARCH)/tools clean

archmrproper:
Linus Torvalds's avatar
Linus Torvalds committed
94
	rm -f arch/sh/vmlinux.lds
Linus Torvalds's avatar
Linus Torvalds committed
95 96 97

archdep:
	@$(MAKEBOOT) dep