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