| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # $Id: Makefile,v 1.35 2004/04/15 03:39:20 sugioka Exp $ | 
 | 2 | # | 
 | 3 | # This file is subject to the terms and conditions of the GNU General Public | 
 | 4 | # License.  See the file "COPYING" in the main directory of this archive | 
 | 5 | # for more details. | 
 | 6 | # | 
 | 7 | # Copyright (C) 1999  Kaz Kojima | 
 | 8 | # Copyright (C) 2002, 2003, 2004  Paul Mundt | 
 | 9 | # Copyright (C) 2002  M. R. Brown | 
 | 10 | # | 
 | 11 | # This file is included by the global makefile so that you can add your own | 
 | 12 | # architecture-specific flags and dependencies. Remember to do have actions | 
 | 13 | # for "archclean" and "archdep" for cleaning up and making dependencies for | 
 | 14 | # this architecture | 
 | 15 | # | 
 | 16 |  | 
 | 17 | cflags-y				:= -mb | 
 | 18 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN)	:= -ml | 
 | 19 |  | 
 | 20 | cflags-$(CONFIG_CPU_SH2)		+= -m2 | 
 | 21 | cflags-$(CONFIG_CPU_SH3)		+= -m3 | 
 | 22 | cflags-$(CONFIG_CPU_SH4)		+= -m4 \ | 
 | 23 | 	$(call cc-option,-mno-implicit-fp,-m4-nofpu) | 
 | 24 |  | 
 | 25 | cflags-$(CONFIG_SH_DSP)			+= -Wa,-dsp | 
 | 26 | cflags-$(CONFIG_SH_KGDB)		+= -g | 
 | 27 |  | 
 | 28 | cflags-$(CONFIG_MORE_COMPILE_OPTIONS)	+= \ | 
 | 29 | 	$(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g') | 
 | 30 |  | 
 | 31 | OBJCOPYFLAGS	:= -O binary -R .note -R .comment -R .stab -R .stabstr -S | 
 | 32 |  | 
 | 33 | # | 
 | 34 | # arch/sh/defconfig doesn't reflect any real hardware, and as such should | 
 | 35 | # never be used by anyone. Use a board-specific defconfig that has a | 
 | 36 | # reasonable chance of being current instead. | 
 | 37 | # | 
 | 38 | KBUILD_DEFCONFIG := rts7751r2d_defconfig | 
 | 39 |  | 
 | 40 | # | 
 | 41 | # Choosing incompatible machines durings configuration will result in | 
 | 42 | # error messages during linking. | 
 | 43 | # | 
 | 44 | LDFLAGS_vmlinux     += -e _stext | 
 | 45 |  | 
 | 46 | ifdef CONFIG_CPU_LITTLE_ENDIAN | 
 | 47 | LDFLAGS_vmlinux		+= --defsym 'jiffies=jiffies_64' | 
 | 48 | LDFLAGS			+= -EL | 
 | 49 | else | 
 | 50 | LDFLAGS_vmlinux		+= --defsym 'jiffies=jiffies_64+4' | 
 | 51 | LDFLAGS			+= -EB | 
 | 52 | endif | 
 | 53 |  | 
 | 54 | CFLAGS		+= -pipe $(cflags-y) | 
 | 55 | AFLAGS		+= $(cflags-y) | 
 | 56 |  | 
 | 57 | head-y := arch/sh/kernel/head.o arch/sh/kernel/init_task.o | 
 | 58 |  | 
 | 59 | LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) | 
 | 60 |  | 
 | 61 | core-y				+= arch/sh/kernel/ arch/sh/mm/ | 
 | 62 |  | 
 | 63 | # | 
 | 64 | # ramdisk/initrd support | 
 | 65 | # You need a compressed ramdisk image, named | 
 | 66 | # CONFIG_EMBEDDED_RAMDISK_IMAGE. Relative pathnames | 
 | 67 | # are relative to arch/sh/ramdisk/. | 
 | 68 | # | 
 | 69 | core-$(CONFIG_EMBEDDED_RAMDISK)	+= arch/sh/ramdisk/ | 
 | 70 |  | 
 | 71 | # Boards | 
 | 72 | machdir-$(CONFIG_SH_SOLUTION_ENGINE)		:= se/770x | 
 | 73 | machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE)	:= se/7751 | 
 | 74 | machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE)	:= se/7300 | 
 | 75 | machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE)	:= se/73180 | 
 | 76 | machdir-$(CONFIG_SH_STB1_HARP)			:= harp | 
 | 77 | machdir-$(CONFIG_SH_STB1_OVERDRIVE)		:= overdrive | 
 | 78 | machdir-$(CONFIG_SH_HP620)			:= hp6xx/hp620 | 
 | 79 | machdir-$(CONFIG_SH_HP680)			:= hp6xx/hp680 | 
 | 80 | machdir-$(CONFIG_SH_HP690)			:= hp6xx/hp690 | 
 | 81 | machdir-$(CONFIG_SH_CQREEK)			:= cqreek | 
 | 82 | machdir-$(CONFIG_SH_DMIDA)			:= dmida | 
 | 83 | machdir-$(CONFIG_SH_EC3104)			:= ec3104 | 
 | 84 | machdir-$(CONFIG_SH_SATURN)			:= saturn | 
 | 85 | machdir-$(CONFIG_SH_DREAMCAST)			:= dreamcast | 
 | 86 | machdir-$(CONFIG_SH_CAT68701)			:= cat68701 | 
 | 87 | machdir-$(CONFIG_SH_BIGSUR)			:= bigsur | 
 | 88 | machdir-$(CONFIG_SH_SH2000)			:= sh2000 | 
 | 89 | machdir-$(CONFIG_SH_ADX)			:= adx | 
 | 90 | machdir-$(CONFIG_SH_MPC1211)			:= mpc1211 | 
 | 91 | machdir-$(CONFIG_SH_SH03)			:= sh03 | 
 | 92 | machdir-$(CONFIG_SH_SECUREEDGE5410)		:= snapgear | 
 | 93 | machdir-$(CONFIG_SH_HS7751RVOIP)		:= renesas/hs7751rvoip | 
 | 94 | machdir-$(CONFIG_SH_RTS7751R2D)			:= renesas/rts7751r2d | 
 | 95 | machdir-$(CONFIG_SH_7751_SYSTEMH)		:= renesas/systemh | 
 | 96 | machdir-$(CONFIG_SH_EDOSK7705)			:= renesas/edosk7705 | 
 | 97 | machdir-$(CONFIG_SH_SH4202_MICRODEV)		:= superh/microdev | 
 | 98 | machdir-$(CONFIG_SH_UNKNOWN)			:= unknown | 
 | 99 |  | 
 | 100 | incdir-y			:= $(notdir $(machdir-y)) | 
 | 101 |  | 
 | 102 | incdir-$(CONFIG_SH_SOLUTION_ENGINE)		:= se | 
 | 103 | incdir-$(CONFIG_SH_7751_SOLUTION_ENGINE)	:= se7751 | 
 | 104 | incdir-$(CONFIG_SH_7300_SOLUTION_ENGINE)        := se7300 | 
 | 105 | incdir-$(CONFIG_SH_73180_SOLUTION_ENGINE)	:= se73180 | 
 | 106 | incdir-$(CONFIG_SH_HP600)			:= hp6xx | 
 | 107 |  | 
 | 108 | ifneq ($(machdir-y),) | 
 | 109 | core-y				+= arch/sh/boards/$(machdir-y)/ | 
 | 110 | endif | 
 | 111 |  | 
 | 112 | # Companion chips | 
 | 113 | core-$(CONFIG_HD64461)		+= arch/sh/cchips/hd6446x/hd64461/ | 
 | 114 | core-$(CONFIG_HD64465)		+= arch/sh/cchips/hd6446x/hd64465/ | 
 | 115 | core-$(CONFIG_VOYAGERGX)	+= arch/sh/cchips/voyagergx/ | 
 | 116 |  | 
 | 117 | cpuincdir-$(CONFIG_CPU_SH2)	:= cpu-sh2 | 
 | 118 | cpuincdir-$(CONFIG_CPU_SH3)	:= cpu-sh3 | 
 | 119 | cpuincdir-$(CONFIG_CPU_SH4)	:= cpu-sh4 | 
 | 120 |  | 
 | 121 | libs-y				:= arch/sh/lib/	$(libs-y) $(LIBGCC) | 
 | 122 |  | 
 | 123 | drivers-y			+= arch/sh/drivers/ | 
 | 124 | drivers-$(CONFIG_OPROFILE)	+= arch/sh/oprofile/ | 
 | 125 |  | 
 | 126 | boot := arch/sh/boot | 
 | 127 |  | 
 | 128 | CPPFLAGS_vmlinux.lds := -traditional | 
 | 129 |  | 
 | 130 | #	Update machine arch and proc symlinks if something which affects | 
 | 131 | #	them changed.  We use .arch and .mach to indicate when they were | 
 | 132 | #	updated last, otherwise make uses the target directory mtime. | 
 | 133 |  | 
 | 134 | include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) include/config/MARKER | 
 | 135 | 	@echo '  SYMLINK include/asm-sh/cpu -> include/asm-sh/$(cpuincdir-y)' | 
 | 136 | ifneq ($(KBUILD_SRC),) | 
 | 137 | 	$(Q)mkdir -p include/asm-sh | 
 | 138 | 	$(Q)ln -fsn $(srctree)/include/asm-sh/$(cpuincdir-y) include/asm-sh/cpu | 
 | 139 | else | 
 | 140 | 	$(Q)ln -fsn $(cpuincdir-y) include/asm-sh/cpu | 
 | 141 | endif | 
 | 142 | 	@touch $@ | 
 | 143 |  | 
 | 144 | include/asm-sh/.mach: $(wildcard include/config/sh/*.h) include/config/MARKER | 
 | 145 | 	@echo '  SYMLINK include/asm-sh/mach -> include/asm-sh/$(incdir-y)' | 
 | 146 | ifneq ($(KBUILD_SRC),) | 
 | 147 | 	$(Q)mkdir -p include/asm-sh | 
 | 148 | 	$(Q)ln -fsn $(srctree)/include/asm-sh/$(incdir-y) include/asm-sh/mach | 
 | 149 | else | 
 | 150 | 	$(Q)ln -fsn $(incdir-y) include/asm-sh/mach | 
 | 151 | endif | 
 | 152 | 	@touch $@ | 
 | 153 |  | 
 | 154 |  | 
 | 155 | prepare: maketools include/asm-sh/.cpu include/asm-sh/.mach | 
 | 156 |  | 
 | 157 | .PHONY: maketools FORCE | 
| Sam Ravnborg | cca6e6f | 2005-09-09 20:28:49 +0200 | [diff] [blame^] | 158 | maketools:  include/linux/version.h FORCE | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 159 | 	$(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h | 
 | 160 |  | 
 | 161 | all: zImage | 
 | 162 |  | 
 | 163 | zImage: vmlinux | 
 | 164 | 	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | 
 | 165 |  | 
 | 166 | compressed: zImage | 
 | 167 |  | 
 | 168 | archclean: | 
 | 169 | 	$(Q)$(MAKE) $(clean)=$(boot) | 
 | 170 |  | 
| Sam Ravnborg | cca6e6f | 2005-09-09 20:28:49 +0200 | [diff] [blame^] | 171 | CLEAN_FILES += include/asm-sh/machtypes.h | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 172 |  | 
 | 173 | define archhelp | 
 | 174 | 	@echo '  zImage 	           - Compressed kernel image (arch/sh/boot/zImage)' | 
 | 175 | endef | 
 | 176 |  |