David Howells | b920de1 | 2008-02-08 04:19:31 -0800 | [diff] [blame] | 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 | |
| 15 | KBUILD_DEFCONFIG := asb2303_defconfig |
| 16 | |
| 17 | CCSPECS := $(shell $(CC) -v 2>&1 | grep "^Reading specs from " | head -1 | cut -c20-) |
| 18 | CCDIR := $(strip $(patsubst %/specs,%,$(CCSPECS))) |
| 19 | KBUILD_CPPFLAGS += -nostdinc -I$(CCDIR)/include |
| 20 | |
| 21 | LDFLAGS := |
| 22 | OBJCOPYFLAGS := -O binary -R .note -R .comment -S |
| 23 | #LDFLAGS_vmlinux := -Map linkmap.txt |
| 24 | CHECKFLAGS += |
| 25 | |
| 26 | PROCESSOR := unset |
| 27 | UNIT := unset |
| 28 | |
| 29 | KBUILD_CFLAGS += -mam33 -mmem-funcs -DCPU=AM33 |
| 30 | KBUILD_AFLAGS += -mam33 -DCPU=AM33 |
| 31 | |
| 32 | ifeq ($(CONFIG_MN10300_CURRENT_IN_E2),y) |
| 33 | KBUILD_CFLAGS += -ffixed-e2 -fcall-saved-e5 |
| 34 | endif |
| 35 | |
| 36 | ifeq ($(CONFIG_MN10300_PROC_MN103E010),y) |
| 37 | PROCESSOR := mn103e010 |
| 38 | endif |
| 39 | |
| 40 | ifeq ($(CONFIG_MN10300_UNIT_ASB2303),y) |
| 41 | UNIT := asb2303 |
| 42 | endif |
| 43 | ifeq ($(CONFIG_MN10300_UNIT_ASB2305),y) |
| 44 | UNIT := asb2305 |
| 45 | endif |
| 46 | |
| 47 | |
| 48 | head-y := arch/mn10300/kernel/head.o arch/mn10300/kernel/init_task.o |
| 49 | |
| 50 | core-y += arch/mn10300/kernel/ arch/mn10300/mm/ |
| 51 | |
| 52 | ifneq ($(PROCESSOR),unset) |
| 53 | core-y += arch/mn10300/proc-$(PROCESSOR)/ |
| 54 | endif |
| 55 | ifneq ($(UNIT),unset) |
| 56 | core-y += arch/mn10300/unit-$(UNIT)/ |
| 57 | endif |
| 58 | libs-y += arch/mn10300/lib/ |
| 59 | |
| 60 | drivers-$(CONFIG_OPROFILE) += arch/mn10300/oprofile/ |
| 61 | |
| 62 | boot := arch/mn10300/boot |
| 63 | |
| 64 | .PHONY: zImage |
| 65 | |
| 66 | KBUILD_IMAGE := $(boot)/zImage |
| 67 | CLEAN_FILES += $(boot)/zImage |
| 68 | CLEAN_FILES += $(boot)/compressed/vmlinux |
| 69 | CLEAN_FILES += $(boot)/compressed/vmlinux.bin |
| 70 | CLEAN_FILES += $(boot)/compressed/vmlinux.bin.gz |
| 71 | |
| 72 | zImage: vmlinux |
| 73 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ |
| 74 | |
| 75 | all: zImage |
| 76 | |
| 77 | bootstrap: |
| 78 | $(Q)$(MAKEBOOT) bootstrap |
| 79 | |
| 80 | archclean: |
| 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 | |
| 85 | define archhelp |
| 86 | echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' |
| 87 | endef |
| 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. |
| 92 | ifdef CONFIG_DEBUG_INFO |
| 93 | #KBUILD_CFLAGS += -O1 |
| 94 | KBUILD_AFLAGS += -Wa,--gdwarf2 |
| 95 | endif |
| 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 |
| 108 | include/asm-mn10300/.proc: $(wildcard include/config/proc/*.h) include/config/auto.conf |
| 109 | @echo ' SYMLINK include/asm-mn10300/proc -> include/asm-mn10300/proc-$(PROCESSOR)' |
| 110 | ifneq ($(KBUILD_SRC),) |
| 111 | $(Q)mkdir -p include/asm-mn10300 |
| 112 | $(Q)ln -fsn $(srctree)/include/asm-mn10300/proc-$(PROCESSOR) include/asm-mn10300/proc |
| 113 | else |
| 114 | $(Q)ln -fsn proc-$(PROCESSOR) include/asm-mn10300/proc |
| 115 | endif |
| 116 | @touch $@ |
| 117 | |
| 118 | CLEAN_FILES += include/asm-mn10300/proc include/asm-mn10300/.proc |
| 119 | |
| 120 | prepare: include/asm-mn10300/.proc |
| 121 | |
| 122 | # unit specific definitions |
| 123 | include/asm-mn10300/.unit: $(wildcard include/config/unit/*.h) include/config/auto.conf |
| 124 | @echo ' SYMLINK include/asm-mn10300/unit -> include/asm-mn10300/unit-$(UNIT)' |
| 125 | ifneq ($(KBUILD_SRC),) |
| 126 | $(Q)mkdir -p include/asm-mn10300 |
| 127 | $(Q)ln -fsn $(srctree)/include/asm-mn10300/unit-$(UNIT) include/asm-mn10300/unit |
| 128 | else |
| 129 | $(Q)ln -fsn unit-$(UNIT) include/asm-mn10300/unit |
| 130 | endif |
| 131 | @touch $@ |
| 132 | |
| 133 | CLEAN_FILES += include/asm-mn10300/unit include/asm-mn10300/.unit |
| 134 | |
| 135 | prepare: include/asm-mn10300/.unit |