linux/arch/frv/Makefile
<<
>>
Prefs
   1#
   2# frv/Makefile
   3#
   4# This file is included by the global makefile so that you can add your own
   5# architecture-specific flags and dependencies. Remember to do have actions
   6# for "archclean" and "archdep" for cleaning up and making dependencies for
   7# this architecture
   8#
   9# This file is subject to the terms and conditions of the GNU General Public
  10# License.  See the file "COPYING" in the main directory of this archive
  11# for more details.
  12#
  13# Copyright (c) 2003, 2004 Red Hat Inc.
  14# - Written by David Howells <dhowells@redhat.com>
  15# - Derived from arch/m68knommu/Makefile,
  16#       Copyright (c) 1999,2001  D. Jeff Dionne <jeff@lineo.ca>,
  17#       Rt-Control Inc. / Lineo, Inc.
  18#
  19# Copyright (C) 1998,1999  D. Jeff Dionne <jeff@uclinux.org>,
  20#                          Kenneth Albanowski <kjahds@kjahds.com>,
  21#
  22# Based on arch/m68k/Makefile:
  23# Copyright (C) 1994 by Hamish Macdonald
  24#
  25
  26CCSPECS := $(shell $(CC) -v 2>&1 | grep "^Reading specs from " | head -1 | cut -c20-)
  27CCDIR   := $(strip $(patsubst %/specs,%,$(CCSPECS)))
  28CPUCLASS := fr400
  29
  30# test for cross compiling
  31COMPILE_ARCH = $(shell uname -m)
  32
  33ifdef CONFIG_MMU
  34UTS_SYSNAME = -DUTS_SYSNAME=\"Linux\"
  35else
  36UTS_SYSNAME = -DUTS_SYSNAME=\"uClinux\"
  37endif
  38
  39ARCHMODFLAGS    += -G0 -mlong-calls
  40
  41ifdef CONFIG_GPREL_DATA_8
  42KBUILD_CFLAGS   += -G8
  43else
  44ifdef CONFIG_GPREL_DATA_4
  45KBUILD_CFLAGS   += -G4
  46else
  47ifdef CONFIG_GPREL_DATA_NONE
  48KBUILD_CFLAGS   += -G0
  49endif
  50endif
  51endif
  52
  53#LDFLAGS_vmlinux        := -Map linkmap.txt
  54
  55ifdef CONFIG_GC_SECTIONS
  56KBUILD_CFLAGS   += -ffunction-sections -fdata-sections
  57LINKFLAGS       += --gc-sections
  58endif
  59
  60ifndef CONFIG_FRAME_POINTER
  61KBUILD_CFLAGS   += -mno-linked-fp
  62endif
  63
  64ifdef CONFIG_CPU_FR451_COMPILE
  65KBUILD_CFLAGS   += -mcpu=fr450
  66KBUILD_AFLAGS   += -mcpu=fr450
  67ASFLAGS         += -mcpu=fr450
  68else
  69ifdef CONFIG_CPU_FR551_COMPILE
  70KBUILD_CFLAGS   += -mcpu=fr550
  71KBUILD_AFLAGS   += -mcpu=fr550
  72ASFLAGS         += -mcpu=fr550
  73else
  74KBUILD_CFLAGS   += -mcpu=fr400
  75KBUILD_AFLAGS   += -mcpu=fr400
  76ASFLAGS         += -mcpu=fr400
  77endif
  78endif
  79
  80# pretend the kernel is going to run on an FR400 with no media-fp unit
  81# - reserve CC3 for use with atomic ops
  82# - all the extra registers are dealt with only at context switch time
  83KBUILD_CFLAGS   += -mno-fdpic -mgpr-32 -msoft-float -mno-media
  84KBUILD_CFLAGS   += -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 -ffixed-icc2
  85KBUILD_AFLAGS   += -mno-fdpic
  86ASFLAGS         += -mno-fdpic
  87
  88# make sure the .S files get compiled with debug info
  89# and disable optimisations that are unhelpful whilst debugging
  90ifdef CONFIG_DEBUG_INFO
  91#KBUILD_CFLAGS  += -O1
  92KBUILD_AFLAGS   += -Wa,--gdwarf2
  93ASFLAGS         += -Wa,--gdwarf2
  94endif
  95
  96head-y          := arch/frv/kernel/head.o arch/frv/kernel/init_task.o
  97
  98core-y          += arch/frv/kernel/ arch/frv/mm/
  99libs-y          += arch/frv/lib/
 100
 101core-$(CONFIG_MB93090_MB00)     += arch/frv/mb93090-mb00/
 102
 103all: Image
 104
 105Image: vmlinux
 106        $(Q)$(MAKE) $(build)=arch/frv/boot $@
 107
 108bootstrap:
 109        $(Q)$(MAKEBOOT) bootstrap
 110
 111archclean:
 112        $(Q)$(MAKE) $(clean)=arch/frv/boot
 113
 114archdep: scripts/mkdep symlinks
 115        $(Q)$(MAKE) $(build)=arch/frv/boot dep
 116