1# 2# m68k/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) 1994 by Hamish Macdonald 14# 15 16# test for cross compiling 17COMPILE_ARCH = $(shell uname -m) 18 19# override top level makefile 20AS += -m68020 21LD += -m m68kelf 22ifneq ($(COMPILE_ARCH),$(ARCH)) 23 # prefix for cross-compiling binaries 24 CROSS_COMPILE = m68k-linux- 25endif 26 27ifndef CONFIG_SUN3 28LINKFLAGS = -T $(TOPDIR)/arch/m68k/vmlinux.lds 29else 30LINKFLAGS = -T $(TOPDIR)/arch/m68k/vmlinux-sun3.lds -N 31endif 32 33# without -fno-strength-reduce the 53c7xx.c driver fails ;-( 34CFLAGS += -pipe -fno-strength-reduce -ffixed-a2 35 36# enable processor switch if compiled only for a single cpu 37ifndef CONFIG_M68020 38ifndef CONFIG_M68030 39 40ifndef CONFIG_M68060 41CFLAGS := $(CFLAGS) -m68040 42endif 43 44ifndef CONFIG_M68040 45CFLAGS := $(CFLAGS) -m68060 46endif 47 48endif 49endif 50 51ifdef CONFIG_KGDB 52# If configured for kgdb support, include debugging infos and keep the 53# frame pointer 54CFLAGS := $(subst -fomit-frame-pointer,,$(CFLAGS)) -g 55endif 56 57ifndef CONFIG_SUN3 58HEAD := arch/m68k/kernel/head.o 59else 60HEAD := arch/m68k/kernel/sun3-head.o 61endif 62 63SUBDIRS += arch/m68k/kernel arch/m68k/mm arch/m68k/lib 64CORE_FILES := arch/m68k/kernel/kernel.o arch/m68k/mm/mm.o $(CORE_FILES) 65LIBS += arch/m68k/lib/lib.a 66 67ifdef CONFIG_Q40 68CORE_FILES := $(CORE_FILES) arch/m68k/q40/q40.o 69SUBDIRS := $(SUBDIRS) arch/m68k/q40 70endif 71 72ifdef CONFIG_AMIGA 73CORE_FILES := $(CORE_FILES) arch/m68k/amiga/amiga.o 74SUBDIRS := $(SUBDIRS) arch/m68k/amiga 75endif 76 77ifdef CONFIG_ATARI 78CORE_FILES := $(CORE_FILES) arch/m68k/atari/atari.o 79SUBDIRS := $(SUBDIRS) arch/m68k/atari 80endif 81 82ifdef CONFIG_MAC 83CORE_FILES := $(CORE_FILES) arch/m68k/mac/mac.o 84SUBDIRS := $(SUBDIRS) arch/m68k/mac 85endif 86 87ifdef CONFIG_HP300 88CORE_FILES := $(CORE_FILES) arch/m68k/hp300/hp300.o 89SUBDIRS := $(SUBDIRS) arch/m68k/hp300 90endif 91 92ifdef CONFIG_APOLLO 93CORE_FILES := $(CORE_FILES) arch/m68k/apollo/apollo.o 94SUBDIRS := $(SUBDIRS) arch/m68k/apollo 95endif 96 97ifdef CONFIG_MVME147 98CORE_FILES := $(CORE_FILES) arch/m68k/mvme147/mvme147.o 99SUBDIRS := $(SUBDIRS) arch/m68k/mvme147 100endif 101 102ifdef CONFIG_MVME16x 103CORE_FILES := $(CORE_FILES) arch/m68k/mvme16x/mvme16x.o 104SUBDIRS := $(SUBDIRS) arch/m68k/mvme16x 105endif 106 107ifdef CONFIG_BVME6000 108CORE_FILES := $(CORE_FILES) arch/m68k/bvme6000/bvme6000.o 109SUBDIRS := $(SUBDIRS) arch/m68k/bvme6000 110endif 111 112ifdef CONFIG_SUN3X 113CORE_FILES := $(CORE_FILES) arch/m68k/sun3x/sun3x.o arch/m68k/sun3/sun3.o 114SUBDIRS := $(SUBDIRS) arch/m68k/sun3x arch/m68k/sun3 115endif 116 117ifdef CONFIG_SUN3 118CORE_FILES := $(CORE_FILES) arch/m68k/sun3/sun3.o arch/m68k/sun3/prom/promlib.a 119SUBDIRS := $(SUBDIRS) arch/m68k/sun3 arch/m68k/sun3/prom 120endif 121 122ifdef CONFIG_M68040 123CORE_FILES := $(CORE_FILES) arch/m68k/fpsp040/fpsp.o 124SUBDIRS := $(SUBDIRS) arch/m68k/fpsp040 125endif 126 127ifdef CONFIG_M68060 128CORE_FILES := $(CORE_FILES) arch/m68k/ifpsp060/ifpsp.o 129SUBDIRS := $(SUBDIRS) arch/m68k/ifpsp060 130endif 131 132ifdef CONFIG_M68KFPU_EMU 133CORE_FILES := $(CORE_FILES) arch/m68k/math-emu/mathemu.o 134SUBDIRS := $(SUBDIRS) arch/m68k/math-emu 135endif 136 137lilo: vmlinux 138 if [ -f $(INSTALL_PATH)/vmlinux ]; then mv -f $(INSTALL_PATH)/vmlinux $(INSTALL_PATH)/vmlinux.old; fi 139 if [ -f $(INSTALL_PATH)/System.map ]; then mv -f $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi 140 cat vmlinux > $(INSTALL_PATH)/vmlinux 141 cp System.map $(INSTALL_PATH)/System.map 142 if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi 143 144zImage compressed: vmlinux.gz 145 146vmlinux.gz: vmlinux 147 148ifndef CONFIG_KGDB 149 cp vmlinux vmlinux.tmp 150 $(STRIP) vmlinux.tmp 151 gzip -9c vmlinux.tmp >vmlinux.gz 152 rm vmlinux.tmp 153else 154 gzip -9c vmlinux >vmlinux.gz 155endif 156 157bzImage: vmlinux.bz2 158 159vmlinux.bz2: vmlinux 160 161ifndef CONFIG_KGDB 162 cp vmlinux vmlinux.tmp 163 $(STRIP) vmlinux.tmp 164 bzip2 -1c vmlinux.tmp >vmlinux.bz2 165 rm vmlinux.tmp 166else 167 bzip2 -1c vmlinux >vmlinux.bz2 168endif 169 170archclean: 171 rm -f vmlinux.gz vmlinux.bz2 172 rm -f arch/m68k/kernel/m68k_defs.h arch/m68k/kernel/m68k_defs.d 173 174archmrproper: 175 176archdep: 177