Re: SH Port - Makefile

Sam Ravnborg (sam@ravnborg.org)
Sat, 14 Jun 2003 22:07:44 +0200


On Sat, Jun 14, 2003 at 02:45:12PM -0500, Paul Mundt wrote:
> Okay, the main reason why I needed to do this was so that a make clean
> would get the proper directory path. The problem was that machdir-y
> wasn't getting the board name correctly since at make clean time the
> CONFIG_SH_xxx names weren't being resolved.

The following should do the trick.
I also rearranged a few things.

Whith respect to removing the framepointer from CFLAGS.
There is already a CONFIG option for that CONFIG_FRAME_POINTER.
It would be much cleaner using that one in combination
with CONFIG_SH_KGDB

Sam

===== arch/sh/Makefile 1.16 vs edited =====
--- 1.16/arch/sh/Makefile Sat Jun 14 14:30:11 2003
+++ edited/arch/sh/Makefile Sat Jun 14 22:03:10 2003
@@ -14,17 +14,6 @@
# this architecture
#

-#
-# We don't necessarily agree with the top-level Makefile with regards to what
-# does and does not qualify as a noconfig_targets rule. In this case, we're
-# still dependant on .config settings in order for core-y (machdir-y in
-# particular) to resolve the proper directory. So we just manually include it
-# if it hasn't been already..
-#
-ifndef include_config
--include .config
-endif
-
cpu-y := -mb
cpu-$(CONFIG_CPU_LITTLE_ENDIAN) := -ml

@@ -66,24 +55,24 @@
core-y += arch/sh/kernel/ arch/sh/mm/

# Boards
-machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x
-machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751
-machdir-$(CONFIG_SH_STB1_HARP) := harp
-machdir-$(CONFIG_SH_STB1_OVERDRIVE) := overdrive
-machdir-$(CONFIG_SH_HP620) := hp6xx/hp620
-machdir-$(CONFIG_SH_HP680) := hp6xx/hp680
-machdir-$(CONFIG_SH_HP690) := hp6xx/hp690
-machdir-$(CONFIG_SH_CQREEK) := cqreek
-machdir-$(CONFIG_SH_DMIDA) := dmida
-machdir-$(CONFIG_SH_EC3104) := ec3104
-machdir-$(CONFIG_SH_SATURN) := saturn
-machdir-$(CONFIG_SH_DREAMCAST) := dreamcast
-machdir-$(CONFIG_SH_CAT68701) := cat68701
-machdir-$(CONFIG_SH_BIGSUR) := bigsur
-machdir-$(CONFIG_SH_SH2000) := sh2000
-machdir-$(CONFIG_SH_ADX) := adx
-machdir-$(CONFIG_SH_MPC1211) := mpc1211
-machdir-$(CONFIG_SH_UNKNOWN) := unknown
+machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x/
+machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751/
+machdir-$(CONFIG_SH_STB1_HARP) := harp/
+machdir-$(CONFIG_SH_STB1_OVERDRIVE) := overdrive/
+machdir-$(CONFIG_SH_HP620) := hp6xx/hp620/
+machdir-$(CONFIG_SH_HP680) := hp6xx/hp680/
+machdir-$(CONFIG_SH_HP690) := hp6xx/hp690/
+machdir-$(CONFIG_SH_CQREEK) := cqreek/
+machdir-$(CONFIG_SH_DMIDA) := dmida/
+machdir-$(CONFIG_SH_EC3104) := ec3104/
+machdir-$(CONFIG_SH_SATURN) := saturn/
+machdir-$(CONFIG_SH_DREAMCAST) := dreamcast/
+machdir-$(CONFIG_SH_CAT68701) := cat68701/
+machdir-$(CONFIG_SH_BIGSUR) := bigsur/
+machdir-$(CONFIG_SH_SH2000) := sh2000/
+machdir-$(CONFIG_SH_ADX) := adx/
+machdir-$(CONFIG_SH_MPC1211) := mpc1211/
+machdir-$(CONFIG_SH_UNKNOWN) := unknown/

incdir-y := $(machdir-y)

@@ -91,7 +80,7 @@
incdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se7751
incdir-$(CONFIG_SH_HP600) := hp6xx

-core-y += arch/sh/boards/$(machdir-y)/
+core-y += arch/sh/boards/$(machdir-y)

# Companion chips
core-$(CONFIG_HD64461) += arch/sh/cchips/hd6446x/hd64461/
@@ -103,7 +92,6 @@

libs-y += arch/sh/lib/ $(LIBGCC)

-boot := arch/sh/boot

AFLAGS_vmlinux.lds.o := -traditional

@@ -119,11 +107,10 @@

$(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h

-BOOTIMAGE=arch/sh/boot/zImage
-zImage: vmlinux
- $(Q)$(MAKE) $(build)=$(boot) $(BOOTIMAGE)
+boot := arch/sh/boot

-compressed: zImage
+zImage: vmlinux
+ $(Q)$(MAKE) $(build)=$(boot) arch/sh/boot/zImage

archclean:
$(Q)$(MAKE) $(clean)=$(boot)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/