linux/arch/mn10300/Makefile
<<
>>
Prefs
   1###############################################################################
   2#
   3# MN10300 Kernel makefile system specifications
   4#
   5# Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
   6# Modified by David Howells (dhowells@redhat.com)
   7#
   8# This program is free software; you can redistribute it and/or
   9# modify it under the terms of the GNU General Public Licence
  10# as published by the Free Software Foundation; either version
  11# 2 of the Licence, or (at your option) any later version.
  12#
  13###############################################################################
  14
  15KBUILD_DEFCONFIG := asb2303_defconfig
  16
  17CCSPECS := $(shell $(CC) -v 2>&1 | grep "^Reading specs from " | head -1 | cut -c20-)
  18CCDIR   := $(strip $(patsubst %/specs,%,$(CCSPECS)))
  19KBUILD_CPPFLAGS += -nostdinc -I$(CCDIR)/include
  20
  21LDFLAGS         :=
  22OBJCOPYFLAGS    := -O binary -R .note -R .comment -S
  23#LDFLAGS_vmlinux := -Map linkmap.txt
  24CHECKFLAGS      +=
  25
  26PROCESSOR       := unset
  27UNIT            := unset
  28
  29KBUILD_CFLAGS   += -mam33 -mmem-funcs -DCPU=AM33
  30KBUILD_AFLAGS   += -mam33 -DCPU=AM33
  31
  32ifeq ($(CONFIG_MN10300_CURRENT_IN_E2),y)
  33KBUILD_CFLAGS   += -ffixed-e2 -fcall-saved-e5
  34endif
  35
  36ifeq ($(CONFIG_MN10300_PROC_MN103E010),y)
  37PROCESSOR       := mn103e010
  38endif
  39
  40ifeq ($(CONFIG_MN10300_UNIT_ASB2303),y)
  41UNIT            := asb2303
  42endif
  43ifeq ($(CONFIG_MN10300_UNIT_ASB2305),y)
  44UNIT            := asb2305
  45endif
  46
  47
  48head-y          := arch/mn10300/kernel/head.o arch/mn10300/kernel/init_task.o
  49
  50core-y          += arch/mn10300/kernel/ arch/mn10300/mm/
  51
  52ifneq ($(PROCESSOR),unset)
  53core-y          += arch/mn10300/proc-$(PROCESSOR)/
  54endif
  55ifneq ($(UNIT),unset)
  56core-y          += arch/mn10300/unit-$(UNIT)/
  57endif
  58libs-y          += arch/mn10300/lib/
  59
  60drivers-$(CONFIG_OPROFILE)      += arch/mn10300/oprofile/
  61
  62boot := arch/mn10300/boot
  63
  64.PHONY: zImage
  65
  66KBUILD_IMAGE := $(boot)/zImage
  67CLEAN_FILES += $(boot)/zImage
  68CLEAN_FILES += $(boot)/compressed/vmlinux
  69CLEAN_FILES += $(boot)/compressed/vmlinux.bin
  70CLEAN_FILES += $(boot)/compressed/vmlinux.bin.gz
  71
  72zImage: vmlinux
  73        $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
  74
  75all: zImage
  76
  77bootstrap:
  78        $(Q)$(MAKEBOOT) bootstrap
  79
  80archclean:
  81        $(Q)$(MAKE) $(clean)=arch/mn10300/proc-mn103e010
  82        $(Q)$(MAKE) $(clean)=arch/mn10300/unit-asb2303
  83        $(Q)$(MAKE) $(clean)=arch/mn10300/unit-asb2305
  84
  85define archhelp
  86  echo  '* zImage        - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
  87endef
  88
  89# If you make sure the .S files get compiled with debug info,
  90# uncomment the following to disable optimisations
  91# that are unhelpful whilst debugging.
  92ifdef CONFIG_DEBUG_INFO
  93#KBUILD_CFLAGS  += -O1
  94KBUILD_AFLAGS   += -Wa,--gdwarf2
  95endif
  96
  97###################################################################################################
  98#
  99# juggle some symlinks in the MN10300 asm include dir
 100#
 101#       Update machine proc and unit symlinks if something which affects
 102#       them changed.  We use .proc / .unit to indicate when they were
 103#       updated last, otherwise make uses the target directory mtime.
 104#
 105###################################################################################################
 106
 107# processor specific definitions
 108include/asm-mn10300/.proc: $(wildcard include/config/proc/*.h) include/config/auto.conf
 109        @echo '  SYMLINK include/asm-mn10300/proc -> include/asm-mn10300/proc-$(PROCESSOR)'
 110ifneq ($(KBUILD_SRC),)
 111        $(Q)mkdir -p include/asm-mn10300
 112        $(Q)ln -fsn $(srctree)/include/asm-mn10300/proc-$(PROCESSOR) include/asm-mn10300/proc
 113else
 114        $(Q)ln -fsn proc-$(PROCESSOR) include/asm-mn10300/proc
 115endif
 116        @touch $@
 117
 118CLEAN_FILES += include/asm-mn10300/proc include/asm-mn10300/.proc
 119
 120prepare: include/asm-mn10300/.proc
 121
 122# unit specific definitions
 123include/asm-mn10300/.unit: $(wildcard include/config/unit/*.h) include/config/auto.conf
 124        @echo '  SYMLINK include/asm-mn10300/unit -> include/asm-mn10300/unit-$(UNIT)'
 125ifneq ($(KBUILD_SRC),)
 126        $(Q)mkdir -p include/asm-mn10300
 127        $(Q)ln -fsn $(srctree)/include/asm-mn10300/unit-$(UNIT) include/asm-mn10300/unit
 128else
 129        $(Q)ln -fsn unit-$(UNIT) include/asm-mn10300/unit
 130endif
 131        @touch $@
 132
 133CLEAN_FILES += include/asm-mn10300/unit include/asm-mn10300/.unit
 134
 135prepare: include/asm-mn10300/.unit
 136