import of upstream 2.4.34.4 from kernel.org
[linux-2.4.git] / arch / m68k / Makefile
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
17 COMPILE_ARCH = $(shell uname -m)
18
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
26
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
32
33 # without -fno-strength-reduce the 53c7xx.c driver fails ;-(
34 CFLAGS += -pipe -fno-strength-reduce -ffixed-a2
35
36 # enable processor switch if compiled only for a single cpu
37 ifndef CONFIG_M68020
38 ifndef CONFIG_M68030
39
40 ifndef CONFIG_M68060
41 CFLAGS := $(CFLAGS) -m68040
42 endif
43
44 ifndef CONFIG_M68040
45 CFLAGS := $(CFLAGS) -m68060
46 endif
47
48 endif
49 endif
50
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
56
57 ifndef CONFIG_SUN3
58 HEAD := arch/m68k/kernel/head.o
59 else
60 HEAD := arch/m68k/kernel/sun3-head.o
61 endif 
62
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
66
67 ifdef CONFIG_Q40
68 CORE_FILES := $(CORE_FILES) arch/m68k/q40/q40.o
69 SUBDIRS := $(SUBDIRS) arch/m68k/q40
70 endif
71
72 ifdef CONFIG_AMIGA
73 CORE_FILES := $(CORE_FILES) arch/m68k/amiga/amiga.o
74 SUBDIRS := $(SUBDIRS) arch/m68k/amiga
75 endif
76
77 ifdef CONFIG_ATARI
78 CORE_FILES := $(CORE_FILES) arch/m68k/atari/atari.o
79 SUBDIRS := $(SUBDIRS) arch/m68k/atari
80 endif
81
82 ifdef CONFIG_MAC
83 CORE_FILES := $(CORE_FILES) arch/m68k/mac/mac.o
84 SUBDIRS := $(SUBDIRS) arch/m68k/mac
85 endif
86
87 ifdef CONFIG_HP300
88 CORE_FILES := $(CORE_FILES) arch/m68k/hp300/hp300.o
89 SUBDIRS := $(SUBDIRS) arch/m68k/hp300
90 endif
91
92 ifdef CONFIG_APOLLO
93 CORE_FILES := $(CORE_FILES) arch/m68k/apollo/apollo.o
94 SUBDIRS := $(SUBDIRS) arch/m68k/apollo
95 endif
96
97 ifdef CONFIG_MVME147
98 CORE_FILES := $(CORE_FILES) arch/m68k/mvme147/mvme147.o
99 SUBDIRS := $(SUBDIRS) arch/m68k/mvme147
100 endif
101
102 ifdef CONFIG_MVME16x
103 CORE_FILES := $(CORE_FILES) arch/m68k/mvme16x/mvme16x.o
104 SUBDIRS := $(SUBDIRS) arch/m68k/mvme16x
105 endif
106
107 ifdef CONFIG_BVME6000
108 CORE_FILES := $(CORE_FILES) arch/m68k/bvme6000/bvme6000.o
109 SUBDIRS := $(SUBDIRS) arch/m68k/bvme6000
110 endif
111
112 ifdef CONFIG_SUN3X
113 CORE_FILES := $(CORE_FILES) arch/m68k/sun3x/sun3x.o arch/m68k/sun3/sun3.o
114 SUBDIRS := $(SUBDIRS) arch/m68k/sun3x arch/m68k/sun3
115 endif
116
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
121
122 ifdef CONFIG_M68040
123 CORE_FILES := $(CORE_FILES) arch/m68k/fpsp040/fpsp.o
124 SUBDIRS := $(SUBDIRS) arch/m68k/fpsp040
125 endif
126
127 ifdef CONFIG_M68060
128 CORE_FILES := $(CORE_FILES) arch/m68k/ifpsp060/ifpsp.o
129 SUBDIRS := $(SUBDIRS) arch/m68k/ifpsp060
130 endif
131
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
136
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
143
144 zImage compressed: vmlinux.gz
145
146 vmlinux.gz: vmlinux
147
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
156
157 bzImage: vmlinux.bz2
158
159 vmlinux.bz2: vmlinux
160
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
169
170 archclean:
171         rm -f vmlinux.gz vmlinux.bz2
172         rm -f arch/m68k/kernel/m68k_defs.h arch/m68k/kernel/m68k_defs.d
173
174 archmrproper:
175
176 archdep: